mutation createShiftRole(
  $shiftId: UUID!
  $roleId: UUID!
  $count: Int!
  $assigned: Int
  $startTime: Timestamp
  $endTime: Timestamp
  $hours: Float
  $department: String
  $uniform: String
  $breakType: BreakDuration
  $isBreakPaid: Boolean
  $totalValue: Float
) @auth(level: USER) {
  shiftRole_insert(
    data: {
      shiftId: $shiftId
      roleId: $roleId
      count: $count
      assigned: $assigned
      startTime: $startTime
      endTime: $endTime
      hours: $hours
      department: $department
      uniform: $uniform
      breakType: $breakType
      isBreakPaid: $isBreakPaid
      totalValue: $totalValue
    }
  )
}

mutation updateShiftRole(
  $shiftId: UUID!
  $roleId: UUID!
  $count: Int
  $assigned: Int
  $startTime: Timestamp
  $endTime: Timestamp
  $hours: Float
  $department: String
  $uniform: String
  $breakType: BreakDuration
  $isBreakPaid: Boolean
  $totalValue: Float
) @auth(level: USER) {
  shiftRole_update(
    key: { shiftId: $shiftId, roleId: $roleId }
    data: {
      count: $count
      assigned: $assigned
      startTime: $startTime
      endTime: $endTime
      hours: $hours
      department: $department
      uniform: $uniform
      breakType: $breakType
      isBreakPaid: $isBreakPaid
      totalValue: $totalValue
    }
  )
}

mutation deleteShiftRole(
  $shiftId: UUID!
  $roleId: UUID!
) @auth(level: USER) {
  shiftRole_delete(key: { shiftId: $shiftId, roleId: $roleId })
}
