# ------------------------------------------------------------
# GET Workforce by ID
# ------------------------------------------------------------
query getWorkforceById($id: UUID!) @auth(level: USER) {
  workforce(id: $id) {
    id
    vendorId
    staffId
    workforceNumber
    employmentType
    status
    createdAt
    updatedAt

    staff { id fullName }
    vendor { id companyName }
  }
}

# ------------------------------------------------------------
# GET Workforce by Vendor + Staff (was "by key")
# ------------------------------------------------------------
query getWorkforceByVendorAndStaff(
  $vendorId: UUID!
  $staffId: UUID!
) @auth(level: USER) {
  workforces(
    where: {
      vendorId: { eq: $vendorId }
      staffId: { eq: $staffId }
    }
    limit: 1
  ) {
    id
    vendorId
    staffId
    workforceNumber
    employmentType
    status
    createdAt
    updatedAt

    staff { id fullName }
    vendor { id companyName }
  }
}

# ------------------------------------------------------------
# LIST Workforce by Vendor
# ------------------------------------------------------------
query listWorkforceByVendorId(
  $vendorId: UUID!
  $offset: Int
  $limit: Int
) @auth(level: USER) {
  workforces(
    where: { vendorId: { eq: $vendorId } }
    offset: $offset
    limit: $limit
  ) {
    id
    staffId
    workforceNumber
    employmentType
    status
    createdAt

    staff { id fullName }
  }
}

# ------------------------------------------------------------
# LIST Workforce by Staff
# ------------------------------------------------------------
query listWorkforceByStaffId(
  $staffId: UUID!
  $offset: Int
  $limit: Int
) @auth(level: USER) {
  workforces(
    where: { staffId: { eq: $staffId } }
    offset: $offset
    limit: $limit
  ) {
    id
    vendorId
    workforceNumber
    employmentType
    status
    createdAt
    updatedAt

    vendor { id companyName }
  }
}

# ------------------------------------------------------------
# CHECK workforceNumber uniqueness within a Vendor (optional)
# ------------------------------------------------------------
query getWorkforceByVendorAndNumber(
  $vendorId: UUID!
  $workforceNumber: String!
) @auth(level: USER) {
  workforces(
    where: {
      vendorId: { eq: $vendorId }
      workforceNumber: { eq: $workforceNumber }
    }
    limit: 1
  ) {
    id
    staffId
    workforceNumber
    status
  }
}
