Files
Krow-workspace/dataconnect/schema/event.gql
2025-11-17 15:24:03 -05:00

75 lines
1.2 KiB
GraphQL

scalar UUID
scalar Timestamp
scalar JSON
enum EventStatus {
DRAFT
ACTIVE
PENDING
ASSIGNED
CONFIRMED
COMPLETED
CANCELED
}
enum RecurrenceType {
SINGLE
DATE_RANGE
SCATTER
}
type Event @table(name: "events") {
id: UUID! @default(expr: "uuidV4()")
eventName: String!
isRecurring: Boolean!
recurrenceType: RecurrenceType
businessId: UUID!
vendorId: UUID
status: EventStatus!
date: Timestamp!
shifts: JSON @col(dataType: "jsonb")
total: Float
requested: Int
assignedStaff: JSON @col(dataType: "jsonb")
createdDate: Timestamp @default(expr: "now()")
updatedDate: Timestamp @updatedAt
createdBy: String
}
input CreateEventInput {
eventName: String!
isRecurring: Boolean!
recurrenceType: RecurrenceType
businessId: UUID!
vendorId: UUID
status: EventStatus!
date: Timestamp!
shifts: JSON
total: Float
requested: Int
assignedStaff: JSON
}
query listEvents @auth(level: USER) {
events {
id
eventName
status
date
isRecurring
recurrenceType
businessId
vendorId
total
requested
}
}
mutation createEvent($input: CreateEventInput!) @auth(level: USER) {
event_insert(data: $input) {
id
}
}