user entitie

This commit is contained in:
José Salazar
2025-11-28 10:34:29 -05:00
parent 6260a34292
commit 668d007591
3 changed files with 99 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
mutation CreateUser(
$id: UUID!, # Firebase UID
$email: String!,
$fullName: String!,
$role: UserBaseRole!,
$userRole: String
) @auth(level: USER) {
user_insert(
data: {
id: $id
email: $email
fullName: $fullName
role: $role
userRole: $userRole
}
)
}
mutation UpdateUser(
$id: String!,
$email: String,
$fullName: String,
$role: UserBaseRole,
$userRole: String
) @auth(level: USER) {
user_update(
id: $id,
data: {
email: $email
fullName: $fullName
role: $role
userRole: $userRole
}
)
}
mutation DeleteUser(
$id: String!
) @auth(level: USER) {
user_delete(id: $id)
}

View File

@@ -0,0 +1,43 @@
query listUsers @auth(level: USER) {
users {
id
email
fullName
role
userRole
createdDate
updatedDate
}
}
query getUserById(
$id: String!
) @auth(level: USER) {
user(id: $id) {
id
email
fullName
role
userRole
}
}
query filterUsers(
$email: String,
$role: UserBaseRole,
$userRole: String
) @auth(level: USER) {
users(
where: {
email: { eq: $email }
role: { eq: $role }
userRole: { eq: $userRole }
}
) {
id
email
fullName
role
userRole
}
}

View File

@@ -0,0 +1,15 @@
enum UserBaseRole {
ADMIN
USER
}
type User @table(name: "users") {
id: UUID! # user_id / uid de Firebase
email: String!
fullName: String!
role: UserBaseRole!
userRole: String
createdDate: Timestamp @default(expr: "request.time")
updatedDate: Timestamp @default(expr: "request.time")
createdBy: String @default(expr: "auth.uid")
}