-
Notifications
You must be signed in to change notification settings - Fork 9
/
schema.graphql
93 lines (80 loc) · 1.48 KB
/
schema.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# ------------------------------------------------------
# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
# ------------------------------------------------------
type User {
id: Float
createdAt: DateTime
updatedAt: DateTime
username: String
email: String
name: String
location: String
bio: String
avatarUrl: String
role: UserRole
}
"""
A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
"""
scalar DateTime
enum UserRole {
Admin
User
}
type Comment {
id: Float
createdAt: DateTime
updatedAt: DateTime
text: String
author: User
}
type PostLike {
createdAt: DateTime
updatedAt: DateTime
user: User
}
type Post {
id: Float
createdAt: DateTime
updatedAt: DateTime
text: String
author: User
comments: [Comment!]
likedBy: [PostLike!]
}
type LoginResultDto {
token: String!
user: User
}
type Query {
posts: [Post!]
post(id: Float!): Post
}
type Mutation {
create(input: CreateCommentDto!): Comment
createPost(input: CreatePostInput!): Post
like(id: Float!): PostLike
unlike(id: Float!): PostLike
register(input: RegisterDto!): User
login(input: LoginDto!): LoginResultDto
}
input CreateCommentDto {
postId: Float!
text: String!
}
input CreatePostInput {
text: String!
}
input RegisterDto {
username: String!
password: String!
email: String!
name: String
avatarUrl: String
bio: String
location: String
}
input LoginDto {
username: String!
password: String!
}