extend type Mutation { createRefreshToken(input: NewRefreshToken!): RefreshToken! createUserAccount(input: NewUserAccount!): UserAccount! @hasRole(roles: [ADMIN], level: ORG, type: ORG) deleteUserAccount(input: DeleteUserAccount!): DeleteUserAccountPayload! @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) } 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 NewRefreshToken { userID: UUID! } 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! }