Files
Krow-workspace/legacy/dataconnect-v1/connector/shift/queries.gql
2026-03-18 15:04:18 +01:00

308 lines
4.6 KiB
GraphQL

# ------------------------------------------------------------
# LIST SHIFTS (paginated)
# ------------------------------------------------------------
query listShifts(
$offset: Int
$limit: Int
) @auth(level: USER) {
shifts(offset: $offset, limit: $limit) {
id
title
orderId
date
startTime
endTime
hours
cost
location
locationAddress
latitude
longitude
placeId
city
state
street
country
description
status
workersNeeded
filled
filledAt
managers
durationDays
createdAt
updatedAt
createdBy
order {
id
eventName
status
orderType
businessId
vendorId
business { id businessName email contactName }
vendor { id companyName }
}
}
}
# ------------------------------------------------------------
# GET SHIFT BY ID
# ------------------------------------------------------------
query getShiftById($id: UUID!) @auth(level: USER) {
shift(id: $id) {
id
title
orderId
date
startTime
endTime
hours
cost
location
locationAddress
latitude
longitude
placeId
city
state
street
country
description
status
workersNeeded
filled
filledAt
managers
durationDays
createdAt
updatedAt
createdBy
order {
id
eventName
status
orderType
businessId
vendorId
business { id businessName email contactName }
vendor { id companyName }
}
}
}
# ------------------------------------------------------------
# FILTER SHIFTS (by status/orderId/date range)
# NOTE: Timestamp filters use ge/le (not gte/lte)
# ------------------------------------------------------------
query filterShifts(
$status: ShiftStatus
$orderId: UUID
$dateFrom: Timestamp
$dateTo: Timestamp
$offset: Int
$limit: Int
) @auth(level: USER) {
shifts(
where: {
status: { eq: $status }
orderId: { eq: $orderId }
date: { ge: $dateFrom, le: $dateTo }
}
offset: $offset
limit: $limit
) {
id
title
orderId
date
startTime
endTime
hours
cost
location
locationAddress
latitude
longitude
placeId
city
state
street
country
description
status
workersNeeded
filled
filledAt
managers
durationDays
createdAt
updatedAt
createdBy
order {
id
eventName
status
orderType
businessId
vendorId
business { id businessName email contactName }
vendor { id companyName }
}
}
}
# ------------------------------------------------------------
# BUSINESS: GET SHIFTS FOR A BUSINESS (via order.businessId)
# ------------------------------------------------------------
query getShiftsByBusinessId(
$businessId: UUID!
$dateFrom: Timestamp
$dateTo: Timestamp
$offset: Int
$limit: Int
) @auth(level: USER) {
shifts(
where: {
order: { businessId: { eq: $businessId } }
date: { ge: $dateFrom, le: $dateTo }
}
offset: $offset
limit: $limit
) {
id
title
orderId
date
startTime
endTime
hours
cost
location
locationAddress
latitude
longitude
placeId
city
state
street
country
description
status
workersNeeded
filled
filledAt
managers
durationDays
createdAt
updatedAt
createdBy
order {
id
eventName
status
orderType
businessId
vendorId
business { id businessName email contactName }
vendor { id companyName }
}
}
}
# ------------------------------------------------------------
# VENDOR: GET SHIFTS FOR A VENDOR (via order.vendorId)
# ------------------------------------------------------------
query getShiftsByVendorId(
$vendorId: UUID!
$dateFrom: Timestamp
$dateTo: Timestamp
$offset: Int
$limit: Int
) @auth(level: USER) {
shifts(
where: {
order: { vendorId: { eq: $vendorId } }
date: { ge: $dateFrom, le: $dateTo }
}
offset: $offset
limit: $limit
) {
id
title
orderId
date
startTime
endTime
hours
cost
location
locationAddress
latitude
longitude
placeId
city
state
street
country
description
status
workersNeeded
filled
filledAt
managers
durationDays
createdAt
updatedAt
createdBy
order {
id
eventName
status
orderType
businessId
vendorId
business { id businessName email contactName }
vendor { id companyName }
}
}
}