
query listStaffAvailabilities(
  $offset: Int
  $limit: Int
) @auth(level: USER) {
  staffAvailabilities(offset: $offset, limit: $limit) {
    id
    staffId
    day
    slot
    status
    notes
    createdAt
    updatedAt
    createdBy

    staff { id fullName }
  }
}

query listStaffAvailabilitiesByStaffId(
  $staffId: UUID!
  $offset: Int
  $limit: Int
) @auth(level: USER) {
  staffAvailabilities(
    where: { staffId: { eq: $staffId } }
    offset: $offset
    limit: $limit
  ) {
    id
    staffId
    day
    slot
    status
    notes
    createdAt
    updatedAt
    createdBy

    staff { id fullName }
  }
}

query getStaffAvailabilityByKey(
  $staffId: UUID!
  $day: DayOfWeek!
  $slot: AvailabilitySlot!
) @auth(level: USER) {
  staffAvailability(key: { staffId: $staffId, day: $day, slot: $slot }) {
    id
    staffId
    day
    slot
    status
    notes
    createdAt
    updatedAt
    createdBy

    staff { id fullName }
  }
}

query listStaffAvailabilitiesByDay(
  $day: DayOfWeek!
  $offset: Int
  $limit: Int
) @auth(level: USER) {
  staffAvailabilities(
    where: { day: { eq: $day } }
    offset: $offset
    limit: $limit
  ) {
    id
    staffId
    day
    slot
    status
    notes
    createdAt
    updatedAt
    createdBy

    staff { id fullName }
  }
}
