70 lines
1.1 KiB
GraphQL
70 lines
1.1 KiB
GraphQL
|
# ===============================================
|
||
|
# GROUPS
|
||
|
# ===============================================
|
||
|
|
||
|
extend type Query {
|
||
|
groups: GroupQuery
|
||
|
}
|
||
|
|
||
|
extend type Mutation {
|
||
|
groups: GroupMutation
|
||
|
}
|
||
|
|
||
|
# -----------------------------------------------
|
||
|
# QUERIES
|
||
|
# -----------------------------------------------
|
||
|
|
||
|
type GroupQuery {
|
||
|
list(
|
||
|
filter: String
|
||
|
orderBy: String
|
||
|
): [Group]
|
||
|
}
|
||
|
|
||
|
# -----------------------------------------------
|
||
|
# MUTATIONS
|
||
|
# -----------------------------------------------
|
||
|
|
||
|
type GroupMutation {
|
||
|
create(
|
||
|
name: String!
|
||
|
): GroupResponse
|
||
|
|
||
|
update(
|
||
|
id: Int!
|
||
|
name: String!
|
||
|
): GroupResponse
|
||
|
|
||
|
delete(
|
||
|
id: Int!
|
||
|
): DefaultResponse
|
||
|
|
||
|
assignUser(
|
||
|
groupId: Int!
|
||
|
userId: Int!
|
||
|
): DefaultResponse
|
||
|
|
||
|
unassignUser(
|
||
|
groupId: Int!
|
||
|
userId: Int!
|
||
|
): DefaultResponse
|
||
|
}
|
||
|
|
||
|
# -----------------------------------------------
|
||
|
# TYPES
|
||
|
# -----------------------------------------------
|
||
|
|
||
|
type GroupResponse {
|
||
|
operation: ResponseStatus!
|
||
|
group: Group
|
||
|
}
|
||
|
|
||
|
type Group {
|
||
|
id: Int!
|
||
|
name: String!
|
||
|
rights: [String]
|
||
|
users: [User]
|
||
|
createdAt: Date!
|
||
|
updatedAt: Date!
|
||
|
}
|