From aeaabf0f7814384273c1f4de2e51c0b34dd4d0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Salazar?= <73718835+joshrs23@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:56:28 -0500 Subject: [PATCH] new schema and crud of vendorRate --- .../connector/vendorRate/mutations.gql | 51 +++++++++++++++++ dataconnect/connector/vendorRate/queries.gql | 56 +++++++++++++++++++ dataconnect/schema/VendorRate.gql | 25 +++++++++ 3 files changed, 132 insertions(+) create mode 100644 dataconnect/connector/vendorRate/mutations.gql create mode 100644 dataconnect/connector/vendorRate/queries.gql create mode 100644 dataconnect/schema/VendorRate.gql diff --git a/dataconnect/connector/vendorRate/mutations.gql b/dataconnect/connector/vendorRate/mutations.gql new file mode 100644 index 00000000..b4f2092b --- /dev/null +++ b/dataconnect/connector/vendorRate/mutations.gql @@ -0,0 +1,51 @@ +mutation CreateVendorRate( + $vendorName: String!, + $category: VendorRateCategory!, + $roleName: String!, + $employeeWage: Float!, + $markupPercentage: Float, + $vendorFeePercentage: Float, + $clientRate: Float! +) @auth(level: USER) { + vendorRate_insert( + data: { + vendorName: $vendorName + category: $category + roleName: $roleName + employeeWage: $employeeWage + markupPercentage: $markupPercentage + vendorFeePercentage: $vendorFeePercentage + clientRate: $clientRate + } + ) +} + +mutation UpdateVendorRate( + $id: UUID!, + $vendorName: String, + $category: VendorRateCategory, + $roleName: String, + $employeeWage: Float, + $markupPercentage: Float, + $vendorFeePercentage: Float, + $clientRate: Float +) @auth(level: USER) { + vendorRate_update( + id: $id, + data: { + vendorName: $vendorName + category: $category + roleName: $roleName + employeeWage: $employeeWage + markupPercentage: $markupPercentage + vendorFeePercentage: $vendorFeePercentage + clientRate: $clientRate + } + ) +} + +mutation DeleteVendorRate( + $id: UUID! +) @auth(level: USER) { + vendorRate_delete(id: $id) +} diff --git a/dataconnect/connector/vendorRate/queries.gql b/dataconnect/connector/vendorRate/queries.gql new file mode 100644 index 00000000..4daa8054 --- /dev/null +++ b/dataconnect/connector/vendorRate/queries.gql @@ -0,0 +1,56 @@ +query listVendorRate @auth(level: USER) { + vendorRates { + id + vendorName + category + roleName + employeeWage + markupPercentage + vendorFeePercentage + clientRate + } +} + +query getVendorRateById( + $id: UUID! +) @auth(level: USER) { + vendorRate(id: $id) { + id + vendorName + category + roleName + employeeWage + markupPercentage + vendorFeePercentage + clientRate + createdDate + updatedDate + createdBy + } +} + +query filterVendorRates( + $vendorName: String, + $category: VendorRateCategory, + $roleName: String, + $minClientRate: Float, + $maxClientRate: Float +) @auth(level: USER) { + vendorRates( + where: { + vendorName: { eq: $vendorName } + category: { eq: $category } + roleName: { eq: $roleName } + clientRate: { gte: $minClientRate, lte: $maxClientRate } + } + ) { + id + vendorName + category + roleName + employeeWage + markupPercentage + vendorFeePercentage + clientRate + } +} diff --git a/dataconnect/schema/VendorRate.gql b/dataconnect/schema/VendorRate.gql new file mode 100644 index 00000000..3f1de48f --- /dev/null +++ b/dataconnect/schema/VendorRate.gql @@ -0,0 +1,25 @@ +enum VendorRateCategory { + KITCHEN_AND_CULINARY + CONCESSIONS + FACILITIES + BARTENDING + SECURITY + EVENT_STAFF + MANAGEMENT + TECHNICAL + OTHER +} + +type VendorRate @table(name: "vendor_rates") { + id: UUID! @default(expr: "uuidV4()") + vendorName: String! + category: VendorRateCategory! + roleName: String! + employeeWage: Float! + markupPercentage: Float + vendorFeePercentage: Float + clientRate: Float! + createdDate: Timestamp @default(expr: "request.time") + updatedDate: Timestamp @default(expr: "request.time") + createdBy: String @default(expr: "auth.uid") +}