119 lines
2.2 KiB
GraphQL
Executable File
119 lines
2.2 KiB
GraphQL
Executable File
type UserAccount {
|
|
id: ID!
|
|
email: String!
|
|
createdAt: Time!
|
|
fullName: String!
|
|
initials: String!
|
|
bio: String!
|
|
role: Role!
|
|
username: String!
|
|
profileIcon: ProfileIcon!
|
|
owned: OwnedList!
|
|
member: MemberList!
|
|
}
|
|
|
|
type InvitedUserAccount {
|
|
id: ID!
|
|
email: String!
|
|
invitedOn: Time!
|
|
member: MemberList!
|
|
}
|
|
|
|
|
|
|
|
extend type Mutation {
|
|
createUserAccount(input: NewUserAccount!):
|
|
UserAccount! @hasRole(roles: [ADMIN], level: ORG, type: ORG)
|
|
deleteUserAccount(input: DeleteUserAccount!):
|
|
DeleteUserAccountPayload! @hasRole(roles: [ADMIN], level: ORG, type: ORG)
|
|
deleteInvitedUserAccount(input: DeleteInvitedUserAccount!):
|
|
DeleteInvitedUserAccountPayload! @hasRole(roles: [ADMIN], level: ORG, type: ORG)
|
|
|
|
logoutUser(input: LogoutUser!): Boolean!
|
|
clearProfileAvatar: UserAccount!
|
|
|
|
updateUserPassword(input: UpdateUserPassword!): UpdateUserPasswordPayload!
|
|
updateUserRole(input: UpdateUserRole!):
|
|
UpdateUserRolePayload! @hasRole(roles: [ADMIN], level: ORG, type: ORG)
|
|
updateUserInfo(input: UpdateUserInfo!):
|
|
UpdateUserInfoPayload! @hasRole(roles: [ADMIN], level: ORG, type: ORG)
|
|
}
|
|
|
|
extend type Query {
|
|
searchMembers(input: MemberSearchFilter!): [MemberSearchResult!]!
|
|
}
|
|
|
|
input DeleteInvitedUserAccount {
|
|
invitedUserID: UUID!
|
|
}
|
|
|
|
type DeleteInvitedUserAccountPayload {
|
|
invitedUser: InvitedUserAccount!
|
|
}
|
|
|
|
input MemberSearchFilter {
|
|
searchFilter: String!
|
|
projectID: UUID
|
|
}
|
|
|
|
|
|
type MemberSearchResult {
|
|
similarity: Int!
|
|
id: String!
|
|
user: UserAccount
|
|
status: ShareStatus!
|
|
}
|
|
|
|
type UpdateUserInfoPayload {
|
|
user: UserAccount!
|
|
}
|
|
|
|
input UpdateUserInfo {
|
|
name: String!
|
|
initials: String!
|
|
email: String!
|
|
bio: String!
|
|
}
|
|
|
|
input UpdateUserPassword {
|
|
userID: UUID!
|
|
password: String!
|
|
}
|
|
|
|
type UpdateUserPasswordPayload {
|
|
ok: Boolean!
|
|
user: UserAccount!
|
|
}
|
|
|
|
input UpdateUserRole {
|
|
userID: UUID!
|
|
roleCode: RoleCode!
|
|
}
|
|
|
|
type UpdateUserRolePayload {
|
|
user: UserAccount!
|
|
}
|
|
|
|
input NewUserAccount {
|
|
username: String!
|
|
email: String!
|
|
fullName: String!
|
|
initials: String!
|
|
password: String!
|
|
roleCode: String!
|
|
}
|
|
|
|
input LogoutUser {
|
|
userID: UUID!
|
|
}
|
|
|
|
input DeleteUserAccount {
|
|
userID: UUID!
|
|
newOwnerID: UUID
|
|
}
|
|
|
|
type DeleteUserAccountPayload {
|
|
ok: Boolean!
|
|
userAccount: UserAccount!
|
|
}
|