query listUsers @auth(level: USER) {
  users {
    id
    email
    fullName
    role
    userRole
    photoUrl
    createdDate
    updatedDate
  }
}

query getUserById(
  $id: String!
) @auth(level: USER) {
  user(id: $id) {
    id
    email
    fullName
    role
    userRole
    photoUrl
  }
}

query filterUsers(
  $id: String,
  $email: String,
  $role: UserBaseRole,
  $userRole: String
) @auth(level: USER) {
  users(
    where: {
      id: { eq: $id }
      email: { eq: $email }
      role: { eq: $role }
      userRole: { eq: $userRole }
    }
  ) {
    id
    email
    fullName
    role
    userRole
    photoUrl
  }
}
