
mutation createStaffAvailabilityStats(
  $staffId: UUID!
  $needWorkIndex: Int
  $utilizationPercentage: Int
  $predictedAvailabilityScore: Int
  $scheduledHoursThisPeriod: Int
  $desiredHoursThisPeriod: Int
  $lastShiftDate: Timestamp
  $acceptanceRate: Int
) @auth(level: USER) {
  staffAvailabilityStats_insert(
    data: {
      staffId: $staffId
      needWorkIndex: $needWorkIndex
      utilizationPercentage: $utilizationPercentage
      predictedAvailabilityScore: $predictedAvailabilityScore
      scheduledHoursThisPeriod: $scheduledHoursThisPeriod
      desiredHoursThisPeriod: $desiredHoursThisPeriod
      lastShiftDate: $lastShiftDate
      acceptanceRate: $acceptanceRate
    }
  )
}

mutation updateStaffAvailabilityStats(
  $staffId: UUID!
  $needWorkIndex: Int
  $utilizationPercentage: Int
  $predictedAvailabilityScore: Int
  $scheduledHoursThisPeriod: Int
  $desiredHoursThisPeriod: Int
  $lastShiftDate: Timestamp
  $acceptanceRate: Int
) @auth(level: USER) {
  staffAvailabilityStats_update(
    key: { staffId: $staffId }
    data: {
      needWorkIndex: $needWorkIndex
      utilizationPercentage: $utilizationPercentage
      predictedAvailabilityScore: $predictedAvailabilityScore
      scheduledHoursThisPeriod: $scheduledHoursThisPeriod
      desiredHoursThisPeriod: $desiredHoursThisPeriod
      lastShiftDate: $lastShiftDate
      acceptanceRate: $acceptanceRate
    }
  )
}

mutation deleteStaffAvailabilityStats(
  $staffId: UUID!
) @auth(level: USER) {
  staffAvailabilityStats_delete(key: { staffId: $staffId })
}
