From 1e5836760044aa72a03c2633917fd5471efcf845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Salazar?= <73718835+joshrs23@users.noreply.github.com> Date: Wed, 26 Nov 2025 15:40:27 -0500 Subject: [PATCH] new order entity --- dataconnect/connector/order/mutations.gql | 39 ++++++++++++++++++++ dataconnect/connector/order/queries.gql | 43 +++++++++++++++++++++++ dataconnect/schema/order.gql | 26 ++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 dataconnect/connector/order/mutations.gql create mode 100644 dataconnect/connector/order/queries.gql create mode 100644 dataconnect/schema/order.gql diff --git a/dataconnect/connector/order/mutations.gql b/dataconnect/connector/order/mutations.gql new file mode 100644 index 00000000..5d4e8143 --- /dev/null +++ b/dataconnect/connector/order/mutations.gql @@ -0,0 +1,39 @@ +mutation CreateOrder( + $orderNumber: String!, + $partnerId: UUID!, + $orderType: OrderType, + $orderStatus: OrderStatus +) @auth(level: USER) { + order_insert( + data: { + orderNumber: $orderNumber + partnerId: $partnerId + orderType: $orderType + orderStatus: $orderStatus + } + ) +} + +mutation UpdateOrder( + $id: UUID!, + $orderNumber: String, + $partnerId: UUID, + $orderType: OrderType, + $orderStatus: OrderStatus +) @auth(level: USER) { + order_update( + id: $id, + data: { + orderNumber: $orderNumber + partnerId: $partnerId + orderType: $orderType + orderStatus: $orderStatus + } + ) +} + +mutation DeleteOrder( + $id: UUID! +) @auth(level: USER) { + order_delete(id: $id) +} diff --git a/dataconnect/connector/order/queries.gql b/dataconnect/connector/order/queries.gql new file mode 100644 index 00000000..1f924089 --- /dev/null +++ b/dataconnect/connector/order/queries.gql @@ -0,0 +1,43 @@ +query listOrder @auth(level: USER) { + orders { + id + orderNumber + partnerId + orderType + orderStatus + } +} + +query getOrderById( + $id: UUID! +) @auth(level: USER) { + order(id: $id) { + id + orderNumber + partnerId + orderType + orderStatus + } +} + +query filterOrder( + $orderNumber: String, + $partnerId: UUID, + $orderType: OrderType, + $orderStatus: OrderStatus +) @auth(level: USER) { + orders( + where: { + orderNumber: { eq: $orderNumber } + partnerId: { eq: $partnerId } + orderType: { eq: $orderType } + orderStatus: { eq: $orderStatus } + } + ) { + id + orderNumber + partnerId + orderType + orderStatus + } +} diff --git a/dataconnect/schema/order.gql b/dataconnect/schema/order.gql new file mode 100644 index 00000000..7d216f34 --- /dev/null +++ b/dataconnect/schema/order.gql @@ -0,0 +1,26 @@ +enum OrderType { + STANDARD + LAST_MINUTE + EMERGENCY + RECURRING +} + +enum OrderStatus { + DRAFT + SUBMITTED + CONFIRMED + IN_PROGRESS + COMPLETED + CANCELLED +} + +type Order @table(name: "orders") { + id: UUID! @default(expr: "uuidV4()") + orderNumber: String! + partnerId: UUID! + orderType: OrderType + orderStatus: OrderStatus + createdDate: Timestamp @default(expr: "request.time") + updatedDate: Timestamp @default(expr: "request.time") + createdBy: String @default(expr: "auth.uid") +}