102 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
| # ===============================================
 | |
| # USERS
 | |
| # ===============================================
 | |
| 
 | |
| extend type Query {
 | |
|   users: UserQuery
 | |
| }
 | |
| 
 | |
| extend type Mutation {
 | |
|   users: UserMutation
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # QUERIES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type UserQuery {
 | |
|   list(
 | |
|     filter: String
 | |
|     orderBy: String
 | |
|   ): [UserMinimal]
 | |
| 
 | |
|   search(
 | |
|     query: String!
 | |
|   ): [UserMinimal]
 | |
| 
 | |
|   single(
 | |
|     id: Int!
 | |
|   ): User
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # MUTATIONS
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type UserMutation {
 | |
|   create(
 | |
|     email: String!
 | |
|     name: String
 | |
|     passwordRaw: String
 | |
|     provider: String!
 | |
|     providerId: String
 | |
|     role: UserRole!
 | |
|   ): UserResponse
 | |
| 
 | |
|   update(
 | |
|     id: Int!
 | |
|     email: String
 | |
|     name: String
 | |
|     provider: String
 | |
|     providerId: String
 | |
|     role: UserRole
 | |
|   ): UserResponse
 | |
| 
 | |
|   delete(
 | |
|     id: Int!
 | |
|   ): DefaultResponse
 | |
| 
 | |
|   resetPassword(
 | |
|     id: Int!
 | |
|   ): DefaultResponse
 | |
| 
 | |
|   setPassword(
 | |
|     id: Int!
 | |
|     passwordRaw: String!
 | |
|   ): DefaultResponse
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # TYPES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| enum UserRole {
 | |
|   guest
 | |
|   user
 | |
|   admin
 | |
| }
 | |
| 
 | |
| type UserResponse {
 | |
|   responseResult: ResponseStatus!
 | |
|   user: User
 | |
| }
 | |
| 
 | |
| type UserMinimal {
 | |
|   id: Int!
 | |
|   name: String!
 | |
|   email: String!
 | |
|   provider: String!
 | |
| }
 | |
| 
 | |
| type User {
 | |
|   id: Int!
 | |
|   name: String!
 | |
|   email: String!
 | |
|   provider: String!
 | |
|   providerId: String
 | |
|   role: UserRole!
 | |
|   createdAt: Date!
 | |
|   updatedAt: Date!
 | |
|   groups: [Group]
 | |
| }
 |