mutation CreateStaff(
  $userId: String!
  $fullName: String!
  $level: String
  $role: String
  $phone: String
  $email: String
  $photoUrl: String

  $totalShifts: Int
  $averageRating: Float
  $onTimeRate: Int
  $noShowCount: Int
  $cancellationCount: Int
  $reliabilityScore: Int

  $bio: String
  $skills: [String!]
  $industries: [String!]
  $preferredLocations: [String!]
  $maxDistanceMiles: Int
  $languages: Any
  $itemsAttire: Any

  $xp: Int
  $badges: Any
  $isRecommended: Boolean

  $ownerId: UUID
  $department: DepartmentType 
  $hubId: UUID 
  $manager: UUID 
  $english: EnglishProficiency 



  $backgroundCheckStatus: BackgroundCheckStatus
  $employmentType: EmploymentType
  $initial: String
  $englishRequired: Boolean
  $isProfileVisible: Boolean
  $city: String
  $addres: String
  $placeId: String
  $latitude: Float
  $longitude: Float
  $state: String
  $street: String
  $country: String
  $zipCode: String
) @auth(level: USER) {
  staff_insert(
    data: {
      userId: $userId
      fullName: $fullName
      level: $level
      role: $role
      phone: $phone
      email: $email
      photoUrl: $photoUrl

      totalShifts: $totalShifts
      averageRating: $averageRating
      onTimeRate: $onTimeRate
      noShowCount: $noShowCount
      cancellationCount: $cancellationCount
      reliabilityScore: $reliabilityScore

      bio: $bio
      skills: $skills
      industries: $industries
      preferredLocations: $preferredLocations
      maxDistanceMiles: $maxDistanceMiles
      languages: $languages
      itemsAttire: $itemsAttire

      xp: $xp
      badges: $badges
      isRecommended: $isRecommended

      ownerId: $ownerId
      department: $department 
      hubId: $hubId 
      manager: $manager 
      english: $english 

      backgroundCheckStatus: $backgroundCheckStatus
      employmentType: $employmentType
      initial: $initial
      englishRequired: $englishRequired
      isProfileVisible: $isProfileVisible
      city: $city
      addres: $addres
      placeId: $placeId
      latitude: $latitude
      longitude: $longitude
      state: $state
      street: $street
      country: $country
      zipCode: $zipCode

    }
  ) 
}

mutation UpdateStaff(
  $id: UUID!

  $userId: String
  $fullName: String
  $level: String
  $role: String
  $phone: String
  $email: String
  $photoUrl: String

  $totalShifts: Int
  $averageRating: Float
  $onTimeRate: Int
  $noShowCount: Int
  $cancellationCount: Int
  $reliabilityScore: Int

  $bio: String
  $skills: [String!]
  $industries: [String!]
  $preferredLocations: [String!]
  $maxDistanceMiles: Int
  $languages: Any
  $itemsAttire: Any

  $xp: Int
  $badges: Any
  $isRecommended: Boolean

  $ownerId: UUID
  $department: DepartmentType 
  $hubId: UUID 
  $manager: UUID 
  $english: EnglishProficiency 



  $backgroundCheckStatus: BackgroundCheckStatus
  $employmentType: EmploymentType
  $initial: String
  $englishRequired: Boolean
  $isProfileVisible: Boolean
  $city: String
  $addres: String
  $placeId: String
  $latitude: Float
  $longitude: Float
  $state: String
  $street: String
  $country: String
  $zipCode: String
) @auth(level: USER) {
  staff_update(
    id: $id
    data: {
      userId: $userId
      fullName: $fullName
      level: $level
      role: $role
      phone: $phone
      email: $email
      photoUrl: $photoUrl

      totalShifts: $totalShifts
      averageRating: $averageRating
      onTimeRate: $onTimeRate
      noShowCount: $noShowCount
      cancellationCount: $cancellationCount
      reliabilityScore: $reliabilityScore

      bio: $bio
      skills: $skills
      industries: $industries
      preferredLocations: $preferredLocations
      maxDistanceMiles: $maxDistanceMiles
      languages: $languages
      itemsAttire: $itemsAttire
      
      xp: $xp
      badges: $badges
      isRecommended: $isRecommended

      ownerId: $ownerId
      department: $department 
      hubId: $hubId 
      manager: $manager 
      english: $english 

      backgroundCheckStatus: $backgroundCheckStatus
      employmentType: $employmentType
      initial: $initial
      englishRequired: $englishRequired
      isProfileVisible: $isProfileVisible
      city: $city
      addres: $addres
      placeId: $placeId
      latitude: $latitude
      longitude: $longitude
      state: $state
      street: $street
      country: $country
      zipCode: $zipCode

    }
  ) 
}

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