mutation CreateStaff(
  $employeeName: String!,
  $vendorId: String,
  $vendorName: String,
  $manager: String,
  $contactNumber: String,
  $phone:String # nuevo,
  $email: String,
  $department: StaffDepartment,
  $hubLocation: String,
  $eventLocation:String, # nuevo
  $address:String, # nuevo
  $city:String, # nuevo
  $track: String,
  $position: String,
  $position2:String, # nuevo
  $initial:String, # nuevo
  $profileType: ProfileType,
  $employmentType: EmploymentType,
  $english: EnglishLevel,
  $rate: Float,
  $rating: Float,
  $reliabilityScore: Int,
  $backgroundCheckStatus: BackgroundCheckStatus,
  $notes: String,
  $accountingComments:String, # nuevo
  $shiftCoveragePercentage:Int, # nuevo
  $cancellationCount:Int, # nuevo
  $noShowCount:Int, # nuevo
  $totalShifts:Int, # nuevo
  $invoiced:Boolean, # nuevo
  $englishRequired:Boolean, # nuevo
  $checkIn:String, # nuevo
  $scheduleDays:String, # nuevo
  $replacedBy:String, # nuevo
  $action:String, # nuevo
  $ro:String, # nuevo
  $mon:String, # nuevo
) @auth(level: USER) {
  staff_insert(
    data: {
      employeeName: $employeeName
      vendorId: $vendorId
      vendorName: $vendorName
      manager: $manager
      contactNumber: $contactNumber
      phone:$phone
      email: $email
      department: $department
      hubLocation: $hubLocation
      eventLocation:$eventLocation
      address:$address 
      city:$city
      track: $track
      position: $position
      position2:$position2
      initial:$initial 
      profileType: $profileType
      employmentType: $employmentType
      english: $english
      rate: $rate
      rating: $rating
      reliabilityScore: $reliabilityScore
      backgroundCheckStatus: $backgroundCheckStatus
      notes: $notes
      accountingComments:$accountingComments
      shiftCoveragePercentage:$shiftCoveragePercentage
      cancellationCount:$cancellationCount
      noShowCount:$noShowCount
      totalShifts:$totalShifts
      invoiced:$invoiced
      englishRequired:$englishRequired
      checkIn:$checkIn
      scheduleDays:$scheduleDays
      replacedBy:$replacedBy
      action:$action
      ro:$ro
      mon:$mon
    }
  )
}

mutation UpdateStaff(
  $id: UUID!,
  $employeeName: String,
  $vendorId: String,
  $vendorName: String,
  $manager: String,
  $contactNumber: String,
  $phone: String,
  $email: String,
  $department: StaffDepartment,
  $hubLocation: String,
  $eventLocation: String,
  $address: String,
  $city: String,
  $track: String,
  $position: String,
  $position2:String,
  $initial:String,
  $profileType: ProfileType,
  $employmentType: EmploymentType,
  $english: EnglishLevel,
  $englishRequired:Boolean # nuevo
  $rate: Float,
  $rating: Float,
  $reliabilityScore: Int,
  $backgroundCheckStatus: BackgroundCheckStatus,
  $notes: String,
  $accountingComments:String,
  $shiftCoveragePercentage:Int, 
  $cancellationCount:Int, 
  $noShowCount:Int, 
  $totalShifts:Int,
  $invoiced:Boolean,
  $checkIn:String,
  $scheduleDays:String, 
  $replacedBy:String, 
  $action:String, 
  $ro:String,
  $mon:String,
) @auth(level: USER) {
  staff_update(
    id: $id,
    data: {
      employeeName: $employeeName
      vendorId: $vendorId
      vendorName: $vendorName
      manager: $manager
      contactNumber: $contactNumber
      phone:$phone # nuevo
      email: $email
      department: $department
      hubLocation: $hubLocation
      eventLocation:$eventLocation # nuevo
      address:$address # nuevo
      city:$city # nuevo
      track: $track
      position: $position
      position2:$position2 # nuevo
      initial:$initial # nuevo
      profileType: $profileType
      employmentType: $employmentType
      english: $english
      englishRequired:$englishRequired # nuevo
      rate: $rate
      rating: $rating
      reliabilityScore: $reliabilityScore
      backgroundCheckStatus: $backgroundCheckStatus
      notes: $notes
      accountingComments:$accountingComments # nuevo
      shiftCoveragePercentage:$shiftCoveragePercentage # nuevo
      cancellationCount:$cancellationCount # nuevo
      noShowCount:$noShowCount # nuevo
      totalShifts:$totalShifts # nuevo
      invoiced:$invoiced # nuevo
      checkIn:$checkIn # nuevo
      scheduleDays:$scheduleDays # nuevo
      replacedBy:$replacedBy # nuevo
      action:$action # nuevo
      ro:$ro # nuevo
      mon:$mon # nuevo
    }
  )
}

mutation DeleteStaff(
  $id: UUID!
) @auth(level: USER) {
  staff_delete(id: $id)
}
