new schema and crud of vendorRate

This commit is contained in:
José Salazar
2025-11-25 12:56:28 -05:00
parent ba9fb7f6c8
commit aeaabf0f78
3 changed files with 132 additions and 0 deletions

View File

@@ -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)
}

View File

@@ -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
}
}

View File

@@ -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")
}