@jaicome/contracts 0.0.75 → 0.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fulfillment-states.d.mts +43 -2
- package/dist/fulfillment-states.mjs +67 -2
- package/dist/index.d.mts +1244 -449
- package/dist/index.mjs +179 -52
- package/dist/{orders-Dr9SO3_e.d.mts → orders-CHXvc7L7.d.mts} +809 -254
- package/dist/payments-Qea5Yb_X.d.mts +387 -0
- package/dist/schema/index.d.mts +890 -638
- package/dist/schema/index.mjs +2 -2
- package/dist/utils/payment-resolver.d.mts +87 -0
- package/dist/utils/payment-resolver.mjs +118 -0
- package/dist/{schema-BtaubbtD.mjs → zatca-CEInGWOH.mjs} +549 -238
- package/package.json +7 -2
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import
|
|
1
|
+
import { $ as getEffectiveBankAccountOutputSchema, $a as customerBaseSchema, $i as getMerchantInputSchema, $o as createVariationInputSchema, $r as orderOutputSchema, $s as uploadCatalogItemPhotoOutputSchema, $t as deliveryStatusSchema, A as listServiceChargesInputSchema, Aa as discountListOutputSchema, Ai as listPaymentsInputSchema, Ar as checkoutResultSchema, As as listCatalogItemsOutputSchema, Ba as bulkCustomerImportInputSchema, Bn as fulfillmentBusinessHoursOutputSchema, Br as orderConfigSchema, Bs as unlinkItemWithImageInputSchema, Bt as createSubscriptionPlanInputSchema, Ci as promoCodeValidationResultSchema, Cn as createAddressInputSchema, Cr as upsertCurbsideInputSchema, Cs as linkItemWithModifierListInputSchema, Ct as sendMessageOutputSchema, Di as getPaymentInputSchema, Dn as createLocationInputSchema, Dr as upsertLocationBusinessHoursInputSchema, Ds as listCatalogCategoriesWithItemsInputSchema, Ea as createDiscountInputSchema, Er as upsertFulfillmentBusinessHoursInputSchema, Es as listCatalogCategoriesOutputSchema, Et as createMessageTemplateInputSchema, F as updateServiceChargeInputSchema, Fa as updateDiscountInputSchema, Fn as deleteLocationInputSchema, Fr as getOrderConfigInputSchema, Fs as listCatalogVariationsInputSchema, G as companyPayoutAccountSchema, Ga as createCustomerManualInputSchema, Gn as listAvailableWhatsAppGroupsOutputSchema, Go as createImageInputSchema, Gs as updateItemOutputSchema, Gt as updateSubscriptionPlanInputSchema, Hi as setPaidOutputSchema, Hn as linkWhatsAppGroupInputSchema, Hs as updateCategoryInputSchema, Ia as bulkCustomerExportInputSchema, In as deleteLocationOutputSchema, Ir as listOrdersInputSchema, Is as listCatalogVariationsOutputSchema, J as deleteCompanyPayoutAccountInputSchema, Ja as createMerchantCustomerManualOutputSchema, Jn as listLocationsInputSchema, Jo as createItemOutputSchema, Js as updateModifierListOutputSchema, K as createCompanyPayoutAccountInputSchema, Ka as createCustomerManualOutputSchema, Ki as createLeadInputSchema, Kn as listLocationWhatsAppGroupsInputSchema, Ko as createImageOutputSchema, Ks as updateModifierInputSchema, Kt as connectIntegrationInputSchema, L as payoutReportInputSchema, La as bulkCustomerExportResultSchema, Ln as deleteWhatsAppGroupInputSchema, Lr as listOrdersOutputSchema, M as serviceChargeIdInputSchema, Ms as listCatalogModifierListsOutputSchema, N as serviceChargeListOutputSchema, Nn as deleteFulfillmentBusinessHoursInputSchema, Ns as listCatalogModifiersInputSchema, Nt as messageTemplateOutputSchema, On as createWhatsAppGroupInputSchema, Or as upsertLocationThemeInputSchema, Os as listCatalogCategoriesWithItemsOutputSchema, Ot as listMessageTemplatesInputSchema, P as serviceChargeOutputSchema, Pa as listDiscountsInputSchema, Pi as paymentOutputSchema, Pn as deleteLocationBusinessHoursInputSchema, Pr as getOrderByIdInputSchema, Ps as listCatalogModifiersOutputSchema, Q as getEffectiveBankAccountInputSchema, Qa as customerAddressOutputSchema, Qi as deleteMerchantAccountOutputSchema, Qn as locationIdInputSchema, Qo as createModifierOutputSchema, Qs as uploadCatalogItemPhotoInputSchema, Qt as deliveryProviderSchema, Ri as refundOrderInputSchema, Rs as mutationIdOutputSchema, Rt as updateMessageTemplateInputSchema, S as taxOutputSchema, Sc as updateBannerInputSchema, Si as promoCodeValidationInputSchema, Sn as createAddressForLocationInputSchema, Sr as uploadLocationPhotoOutputSchema, Ss as linkItemWithImageInputSchema, St as sendMessageInputSchema, T as updateTaxInputSchema, Tr as upsertDineInInputSchema, Ts as listCatalogCategoriesInputSchema, Tt as availableTemplateResourcesSchema, U as bankAccountSchema, Un as linkWhatsAppGroupOutputSchema, Uo as createCategoryInputSchema, Us as updateCategoryOutputSchema, Ut as sendMerchantInvoiceInputSchema, Va as bulkCustomerImportResultSchema, Vi as setPaidInputSchema, Vs as unlinkItemWithModifierListInputSchema, Vt as merchantInvoiceSchema, Wa as createCustomerAddressInputSchema, Wn as listAvailableWhatsAppGroupsInputSchema, Wo as createCategoryOutputSchema, Ws as updateItemInputSchema, Wt as subscriptionPlanSchema, X as getBankAccountOutputSchema, Xa as customerAddressByIdInputSchema, Xi as createMerchantOutputSchema, Xo as createModifierListInputSchema, Xs as updateVariationInputSchema, Xt as deleteIntegrationInputSchema, Y as getBankAccountInputSchema, Ya as customerAddressBaseSchema, Yi as createMerchantInputSchema, Yn as listLocationsOutputSchema, Yo as createModifierInputSchema, Ys as updateModifierOutputSchema, Z as getCompanyPayoutAccountInputSchema, Zi as deleteMerchantAccountInputSchema, Zo as createModifierListOutputSchema, Zs as updateVariationOutputSchema, _ as listTaxesInputSchema, _n as setIntegrationStatusInputSchema, _o as merchantCustomerOutputSchema, _r as updateProviderInputSchema, _s as getModifierInputSchema, _t as getSmsBalanceOutputSchema, a as egsStatusOutputSchema, aa as merchantIdInputSchema, ac as upsertModifierOverrideInputSchema, as as deleteModifierInputSchema, at as listPayoutsOutputSchema, b as taxIdInputSchema, bc as listBannersInputSchema, bi as promoCodeOutputSchema, bn as addProviderInputSchema, br as uploadLocationBannerOutputSchema, bs as getModifierOutputSchema, bt as sendDirectMessageInputSchema, c as onboardEgsOutputSchema, co as listCustomerAddressesInputSchema, cr as removeCurbsideSpotInputSchema, cs as deleteModifierOutputSchema, ct as payoutSchema, d as reportInvoiceOutputSchema, da as updateMerchantInputSchema, dc as activeBannerListOutputSchema, di as listPromoCodesInputSchema, do as listCustomersOutputSchema, dr as removeProviderInputSchema, ds as deleteVariationInputSchema, ea as listMerchantsInputSchema, ec as upsertItemLocationOverrideInputSchema, en as disconnectIntegrationInputSchema, eo as customerByIdInputSchema, es as createVariationOutputSchema, et as getLocationBalanceInputSchema, f as syncInvoicesInputSchema, fa as uploadMerchantCrnDocInputSchema, fo as listMerchantCustomersInputSchema, fr as temporaryClosureInputSchema, fs as deleteVariationOutputSchema, ft as updateCompanyPayoutAccountInputSchema, g as createTaxInputSchema, gc as bannerOutputSchema, gr as updateLocationInputSchema, gs as getCategoryOutputSchema, gt as getSmsBalanceInputSchema, ha as socialBaseSchema, hc as bannerListOutputSchema, ho as merchantCustomerByIdInputSchema, hs as getCategoryInputSchema, ht as calculateSmsCostOutputSchema, ia as merchantFullDetailsSchema, ic as upsertModifierLocationOverrideInputSchema, in as integrateLocationOutputSchema, is as deleteItemOutputSchema, it as listPayoutsInputSchema, ja as discountOutputSchema, ji as listPaymentsOutputSchema, jr as createOrderInputSchema, js as listCatalogModifierListsInputSchema, jt as messageTemplateByIdInputSchema, k as createServiceChargeInputSchema, ka as discountIdInputSchema, kn as createWhatsAppGroupOutputSchema, kr as upsertPickupInputSchema, ks as listCatalogItemsInputSchema, kt as listMessageTemplatesOutputSchema, l as onboardingDataOutputSchema, li as createPromoCodeInputSchema, ln as listIntegrationsInputSchema, lo as listCustomerAddressesOutputSchema, lr as removeDeliveryInputSchema, ls as deleteModifierOverrideInputSchema, ma as createSocialInputSchema, mc as bannerIdInputSchema, mi as promoCodeBaseSchema, ms as getCatalogItemOutputSchema, mt as calculateSmsCostInputSchema, n as batchReportOutputSchema, na as merchantBaseSchema, nc as upsertModifierDefaultLocationOverrideInputSchema, nn as getIntegrationOutputSchema, nr as locationSchema, ns as deleteCategoryOutputSchema, nt as getPayoutInputSchema, o as invoiceByPaymentOutputSchema, oc as upsertModifierOverrideOutputSchema, oi as updateFulfillmentInputSchema, oo as deleteCustomerInputSchema, os as deleteModifierListInputSchema, pa as uploadMerchantVatDocInputSchema, pc as approveBannerInputSchema, po as listMerchantCustomersOutputSchema, pr as temporaryClosureOutputSchema, ps as getCatalogItemInputSchema, pt as upsertBankAccountInputSchema, q as createPayoutInputSchema, qa as createMerchantCustomerManualInputSchema, qi as createLeadOutputSchema, qn as listLocationWhatsAppGroupsOutputSchema, qo as createItemInputSchema, qs as updateModifierListInputSchema, qt as connectIntegrationOutputSchema, rc as upsertModifierInputSchema, rn as integrateLocationInputSchema, rs as deleteItemInputSchema, rt as listCompanyPayoutAccountsInputSchema, s as onboardEgsInputSchema, sc as upsertVariationLocationOverrideInputSchema, si as upsertOrderConfigInputSchema, so as deleteMerchantCustomerInputSchema, ss as deleteModifierListOutputSchema, t as batchReportInputSchema, ta as listMerchantsOutputSchema, tc as upsertItemModifierOverrideInputSchema, tn as getIntegrationInputSchema, tr as locationMutationOutputSchema, ts as deleteCategoryInputSchema, tt as getLocationBalanceOutputSchema, u as reportInvoiceInputSchema, ua as merchantSyncEventSchema, un as listIntegrationsOutputSchema, uo as listCustomersInputSchema, ur as removeLocationThemeInputSchema, us as deleteModifierOverrideOutputSchema, va as updateSocialInputSchema, vc as createBannerInputSchema, vi as promoCodeIdInputSchema, vn as setIntegrationStatusOutputSchema, vo as upsertCustomerInputSchema, vr as updateWhatsAppGroupInputSchema, vs as getModifierListInputSchema, wi as updatePromoCodeInputSchema, wr as upsertDeliveryInputSchema, ws as linkOperationOutputSchema, x as taxListOutputSchema, xr as uploadLocationPhotoInputSchema, xs as linkItemWithCategoryInputSchema, xt as sendDirectMessageOutputSchema, yc as listActiveBannersInputSchema, yi as promoCodeListOutputSchema, yn as addCurbsideSpotInputSchema, yr as uploadLocationBannerInputSchema, ys as getModifierListOutputSchema, z as payoutReportOutputSchema, zi as refundOrderOutputSchema, zs as unlinkItemWithCategoryInputSchema, zt as createMerchantInvoiceInputSchema } from "./zatca-CEInGWOH.mjs";
|
|
2
|
+
import "./schema/index.mjs";
|
|
3
|
+
import { FulfillmentStateMachine, FulfillmentStateValues, STATUS_LABELS, TerminalStates, assertCanTransition, canTransition, getAllowedTransitions, getAllowedUserTransitions, getAvailableUserTransitions, isTerminalState } from "./fulfillment-states.mjs";
|
|
3
4
|
import { createORPCClient } from "@orpc/client";
|
|
4
5
|
import { RPCLink } from "@orpc/client/fetch";
|
|
5
6
|
import { eventIterator, oc } from "@orpc/contract";
|
|
@@ -523,7 +524,6 @@ const customersRouter = oc.router({
|
|
|
523
524
|
//#region src/schema/deliveries.ts
|
|
524
525
|
const createDeliveryInputSchema = z.object({
|
|
525
526
|
orderId: z.string().uuid(),
|
|
526
|
-
fulfillmentId: z.string().uuid(),
|
|
527
527
|
merchantId: z.string().uuid().optional(),
|
|
528
528
|
provider: deliveryProviderSchema
|
|
529
529
|
});
|
|
@@ -531,7 +531,6 @@ const createDeliveryOutputSchema = z.object({
|
|
|
531
531
|
id: z.string().uuid(),
|
|
532
532
|
orderId: z.string().uuid(),
|
|
533
533
|
merchantId: z.string().uuid(),
|
|
534
|
-
fulfillmentId: z.string().uuid(),
|
|
535
534
|
provider: deliveryProviderSchema,
|
|
536
535
|
status: deliveryStatusSchema,
|
|
537
536
|
createdAt: z.date()
|
|
@@ -549,7 +548,6 @@ const getDeliveryOutputSchema = z.object({
|
|
|
549
548
|
id: z.string().uuid(),
|
|
550
549
|
orderId: z.string().uuid(),
|
|
551
550
|
merchantId: z.string().uuid(),
|
|
552
|
-
fulfillmentId: z.string().uuid(),
|
|
553
551
|
provider: deliveryProviderSchema,
|
|
554
552
|
status: deliveryStatusSchema,
|
|
555
553
|
providerOrderId: z.string().nullable(),
|
|
@@ -675,6 +673,37 @@ const deliveriesRouter = oc.router({
|
|
|
675
673
|
update: updateDeliveryRoute
|
|
676
674
|
});
|
|
677
675
|
|
|
676
|
+
//#endregion
|
|
677
|
+
//#region src/schema/devices.ts
|
|
678
|
+
const registerDeviceInputSchema = z.object({
|
|
679
|
+
deviceId: z.string().min(1),
|
|
680
|
+
pushToken: z.string().nullable(),
|
|
681
|
+
platform: z.enum([
|
|
682
|
+
"ios",
|
|
683
|
+
"android",
|
|
684
|
+
"virtual",
|
|
685
|
+
"web"
|
|
686
|
+
]),
|
|
687
|
+
deviceName: z.string().nullable(),
|
|
688
|
+
model: z.string().min(1),
|
|
689
|
+
appId: z.string().min(1),
|
|
690
|
+
locationId: z.string().uuid().nullable(),
|
|
691
|
+
merchantId: z.string().uuid().nullable()
|
|
692
|
+
});
|
|
693
|
+
const registerDeviceOutputSchema = z.object({
|
|
694
|
+
id: z.string().uuid(),
|
|
695
|
+
deviceId: z.string(),
|
|
696
|
+
isActive: z.boolean()
|
|
697
|
+
});
|
|
698
|
+
|
|
699
|
+
//#endregion
|
|
700
|
+
//#region src/contract/routes/devices.ts
|
|
701
|
+
const registerDeviceRoute = oc.route({
|
|
702
|
+
method: "POST",
|
|
703
|
+
path: "/register"
|
|
704
|
+
}).input(registerDeviceInputSchema).output(registerDeviceOutputSchema);
|
|
705
|
+
const devicesRouter = oc.router({ register: registerDeviceRoute });
|
|
706
|
+
|
|
678
707
|
//#endregion
|
|
679
708
|
//#region src/contract/routes/discounts.ts
|
|
680
709
|
const listDiscountsRoute = oc.route({
|
|
@@ -995,11 +1024,20 @@ const getTemporaryClosureRoute = oc.route({
|
|
|
995
1024
|
tags: ["locations", "temporary-closure"],
|
|
996
1025
|
successDescription: "Temporary closure status retrieved successfully"
|
|
997
1026
|
}).input(locationIdInputSchema).output(temporaryClosureOutputSchema);
|
|
1027
|
+
const deleteLocationRoute = oc.route({
|
|
1028
|
+
method: "DELETE",
|
|
1029
|
+
path: "/:locationId",
|
|
1030
|
+
summary: "Delete location",
|
|
1031
|
+
description: "Soft delete a location by setting deletedAt timestamp. Admin-only operation.",
|
|
1032
|
+
tags: ["locations"],
|
|
1033
|
+
successDescription: "Location deleted successfully"
|
|
1034
|
+
}).input(deleteLocationInputSchema).output(deleteLocationOutputSchema);
|
|
998
1035
|
const locationsRouter$1 = oc.router({
|
|
999
1036
|
list: listLocationsRoute,
|
|
1000
1037
|
get: getLocationByIdRoute,
|
|
1001
1038
|
create: createLocationRoute,
|
|
1002
1039
|
update: updateLocationRoute,
|
|
1040
|
+
delete: deleteLocationRoute,
|
|
1003
1041
|
createAddress: createAddressRoute,
|
|
1004
1042
|
upsertTheme: upsertThemeRoute,
|
|
1005
1043
|
removeTheme: removeThemeRoute,
|
|
@@ -1133,6 +1171,13 @@ const updateMerchantRoute = oc.route({
|
|
|
1133
1171
|
description: "Update merchant details (name, description, logo, banner, contact info)",
|
|
1134
1172
|
tags: ["merchants"]
|
|
1135
1173
|
}).input(updateMerchantInputSchema).output(merchantBaseSchema);
|
|
1174
|
+
const deleteMerchantAccountRoute = oc.route({
|
|
1175
|
+
method: "POST",
|
|
1176
|
+
path: "/delete-account",
|
|
1177
|
+
summary: "Soft delete merchant account",
|
|
1178
|
+
description: "Soft delete the authenticated merchant account after password confirmation. Better Auth user/account records are preserved.",
|
|
1179
|
+
tags: ["merchants"]
|
|
1180
|
+
}).input(deleteMerchantAccountInputSchema).output(deleteMerchantAccountOutputSchema);
|
|
1136
1181
|
const listMerchantsRoute = oc.route({
|
|
1137
1182
|
method: "GET",
|
|
1138
1183
|
path: "/",
|
|
@@ -1171,56 +1216,18 @@ const deleteMerchantSocialRoute = oc.route({
|
|
|
1171
1216
|
description: "Delete a social account for a merchant",
|
|
1172
1217
|
tags: ["merchants", "socials"]
|
|
1173
1218
|
}).input(merchantIdInputSchema.merge(z.object({ socialId: z.uuid() }))).output(z.void());
|
|
1174
|
-
const createMerchantLegalDetailsRoute = oc.route({
|
|
1175
|
-
method: "POST",
|
|
1176
|
-
path: "/:merchantId/legal",
|
|
1177
|
-
summary: "Create merchant legal details",
|
|
1178
|
-
description: "Create legal details for a merchant (one-to-one relationship)",
|
|
1179
|
-
tags: ["merchants", "legal"]
|
|
1180
|
-
}).input(createMerchantLegalDetailsInputSchema).output(merchantLegalDetailsSchema);
|
|
1181
|
-
const getMerchantLegalDetailsRoute = oc.route({
|
|
1182
|
-
method: "GET",
|
|
1183
|
-
path: "/:merchantId/legal",
|
|
1184
|
-
summary: "Get merchant legal details",
|
|
1185
|
-
description: "Get legal details for a merchant",
|
|
1186
|
-
tags: ["merchants", "legal"]
|
|
1187
|
-
}).input(merchantIdInputSchema).output(merchantLegalDetailsSchema.nullable());
|
|
1188
|
-
const updateMerchantLegalDetailsRoute = oc.route({
|
|
1189
|
-
method: "PUT",
|
|
1190
|
-
path: "/:merchantId/legal",
|
|
1191
|
-
summary: "Update merchant legal details",
|
|
1192
|
-
description: "Update legal details for a merchant",
|
|
1193
|
-
tags: ["merchants", "legal"]
|
|
1194
|
-
}).input(updateMerchantLegalDetailsInputSchema).output(merchantLegalDetailsSchema);
|
|
1195
|
-
const deleteMerchantLegalDetailsRoute = oc.route({
|
|
1196
|
-
method: "DELETE",
|
|
1197
|
-
path: "/:merchantId/legal",
|
|
1198
|
-
summary: "Delete merchant legal details",
|
|
1199
|
-
description: "Delete legal details for a merchant",
|
|
1200
|
-
tags: ["merchants", "legal"]
|
|
1201
|
-
}).input(merchantIdInputSchema).output(z.void());
|
|
1202
1219
|
const uploadCrnDocumentRoute = oc.route({
|
|
1203
1220
|
method: "POST",
|
|
1204
|
-
path: "/:merchantId/
|
|
1221
|
+
path: "/:merchantId/upload-crn",
|
|
1205
1222
|
summary: "Upload CRN document",
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
}).input(uploadCrnDocumentInputSchema).output(z.string());
|
|
1223
|
+
tags: ["merchants"]
|
|
1224
|
+
}).input(uploadMerchantCrnDocInputSchema).output(z.string());
|
|
1209
1225
|
const uploadVatDocumentRoute = oc.route({
|
|
1210
1226
|
method: "POST",
|
|
1211
|
-
path: "/:merchantId/
|
|
1227
|
+
path: "/:merchantId/upload-vat",
|
|
1212
1228
|
summary: "Upload VAT document",
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
}).input(uploadVatDocumentInputSchema).output(z.string());
|
|
1216
|
-
const merchantLegalDetailsRouter = oc.prefix("/:merchantId/legal").router({
|
|
1217
|
-
create: createMerchantLegalDetailsRoute,
|
|
1218
|
-
get: getMerchantLegalDetailsRoute,
|
|
1219
|
-
update: updateMerchantLegalDetailsRoute,
|
|
1220
|
-
delete: deleteMerchantLegalDetailsRoute,
|
|
1221
|
-
uploadCrn: uploadCrnDocumentRoute,
|
|
1222
|
-
uploadVat: uploadVatDocumentRoute
|
|
1223
|
-
});
|
|
1229
|
+
tags: ["merchants"]
|
|
1230
|
+
}).input(uploadMerchantVatDocInputSchema).output(z.string());
|
|
1224
1231
|
const merchantInvoicesRouter = oc.prefix("/invoices").router({
|
|
1225
1232
|
create: merchantInvoicesRoutes.create,
|
|
1226
1233
|
send: merchantInvoicesRoutes.send,
|
|
@@ -1238,12 +1245,14 @@ const merchantsRouter = oc.router({
|
|
|
1238
1245
|
create: createMerchantRoute,
|
|
1239
1246
|
get: getMerchantRoute,
|
|
1240
1247
|
update: updateMerchantRoute,
|
|
1248
|
+
deleteAccount: deleteMerchantAccountRoute,
|
|
1241
1249
|
list: listMerchantsRoute,
|
|
1242
1250
|
syncSquare: merchantSyncRoute,
|
|
1243
1251
|
invoices: merchantInvoicesRouter,
|
|
1244
1252
|
chats: merchantChatsRouter,
|
|
1245
1253
|
socials: merchantSocialsRouter,
|
|
1246
|
-
|
|
1254
|
+
uploadCrn: uploadCrnDocumentRoute,
|
|
1255
|
+
uploadVat: uploadVatDocumentRoute,
|
|
1247
1256
|
integrations: merchantIntegrationsPrefix
|
|
1248
1257
|
});
|
|
1249
1258
|
|
|
@@ -1400,6 +1409,120 @@ const promocodesRouter = oc.router({
|
|
|
1400
1409
|
validate: validatePromoCodeRoute
|
|
1401
1410
|
});
|
|
1402
1411
|
|
|
1412
|
+
//#endregion
|
|
1413
|
+
//#region src/contract/routes/service-charges.ts
|
|
1414
|
+
const listServiceChargesRoute = oc.route({
|
|
1415
|
+
method: "GET",
|
|
1416
|
+
path: "/"
|
|
1417
|
+
}).input(listServiceChargesInputSchema).output(serviceChargeListOutputSchema);
|
|
1418
|
+
const createServiceChargeRoute = oc.route({
|
|
1419
|
+
method: "POST",
|
|
1420
|
+
path: "/"
|
|
1421
|
+
}).input(createServiceChargeInputSchema).output(serviceChargeOutputSchema);
|
|
1422
|
+
const updateServiceChargeRoute = oc.route({
|
|
1423
|
+
method: "PUT",
|
|
1424
|
+
path: "/:serviceChargeId"
|
|
1425
|
+
}).input(updateServiceChargeInputSchema).output(serviceChargeOutputSchema);
|
|
1426
|
+
const deleteServiceChargeRoute = oc.route({
|
|
1427
|
+
method: "DELETE",
|
|
1428
|
+
path: "/:serviceChargeId"
|
|
1429
|
+
}).input(serviceChargeIdInputSchema).output(z.void());
|
|
1430
|
+
const getServiceChargeRoute = oc.route({
|
|
1431
|
+
method: "GET",
|
|
1432
|
+
path: "/:serviceChargeId"
|
|
1433
|
+
}).input(serviceChargeIdInputSchema).output(serviceChargeOutputSchema);
|
|
1434
|
+
const serviceChargesRouter = oc.router({
|
|
1435
|
+
list: listServiceChargesRoute,
|
|
1436
|
+
create: createServiceChargeRoute,
|
|
1437
|
+
update: updateServiceChargeRoute,
|
|
1438
|
+
delete: deleteServiceChargeRoute,
|
|
1439
|
+
get: getServiceChargeRoute
|
|
1440
|
+
});
|
|
1441
|
+
|
|
1442
|
+
//#endregion
|
|
1443
|
+
//#region src/contract/routes/taxes.ts
|
|
1444
|
+
const listTaxesRoute = oc.route({
|
|
1445
|
+
method: "GET",
|
|
1446
|
+
path: "/"
|
|
1447
|
+
}).input(listTaxesInputSchema).output(taxListOutputSchema);
|
|
1448
|
+
const createTaxRoute = oc.route({
|
|
1449
|
+
method: "POST",
|
|
1450
|
+
path: "/"
|
|
1451
|
+
}).input(createTaxInputSchema).output(taxOutputSchema);
|
|
1452
|
+
const updateTaxRoute = oc.route({
|
|
1453
|
+
method: "PUT",
|
|
1454
|
+
path: "/:taxId"
|
|
1455
|
+
}).input(updateTaxInputSchema).output(taxOutputSchema);
|
|
1456
|
+
const deleteTaxRoute = oc.route({
|
|
1457
|
+
method: "DELETE",
|
|
1458
|
+
path: "/:taxId"
|
|
1459
|
+
}).input(taxIdInputSchema).output(z.void());
|
|
1460
|
+
const getTaxRoute = oc.route({
|
|
1461
|
+
method: "GET",
|
|
1462
|
+
path: "/:taxId"
|
|
1463
|
+
}).input(taxIdInputSchema).output(taxOutputSchema);
|
|
1464
|
+
const taxesRouter = oc.router({
|
|
1465
|
+
list: listTaxesRoute,
|
|
1466
|
+
create: createTaxRoute,
|
|
1467
|
+
update: updateTaxRoute,
|
|
1468
|
+
delete: deleteTaxRoute,
|
|
1469
|
+
get: getTaxRoute
|
|
1470
|
+
});
|
|
1471
|
+
|
|
1472
|
+
//#endregion
|
|
1473
|
+
//#region src/contract/routes/zatca.ts
|
|
1474
|
+
const onboardEgsRoute = oc.route({
|
|
1475
|
+
method: "POST",
|
|
1476
|
+
path: "/egs/onboard",
|
|
1477
|
+
summary: "Onboard EGS device",
|
|
1478
|
+
tags: ["zatca"]
|
|
1479
|
+
}).input(onboardEgsInputSchema).output(onboardEgsOutputSchema);
|
|
1480
|
+
const reportInvoiceRoute = oc.route({
|
|
1481
|
+
method: "POST",
|
|
1482
|
+
path: "/invoices/report",
|
|
1483
|
+
summary: "Report invoice to ZATCA",
|
|
1484
|
+
tags: ["zatca"]
|
|
1485
|
+
}).input(reportInvoiceInputSchema).output(reportInvoiceOutputSchema);
|
|
1486
|
+
const batchReportInvoicesRoute = oc.route({
|
|
1487
|
+
method: "POST",
|
|
1488
|
+
path: "/invoices/batch-report",
|
|
1489
|
+
summary: "Batch report invoices to ZATCA",
|
|
1490
|
+
tags: ["zatca"]
|
|
1491
|
+
}).input(batchReportInputSchema).output(batchReportOutputSchema);
|
|
1492
|
+
const syncInvoicesRoute = oc.route({
|
|
1493
|
+
method: "POST",
|
|
1494
|
+
path: "/invoices/sync",
|
|
1495
|
+
summary: "Sync invoices from POS",
|
|
1496
|
+
tags: ["zatca"]
|
|
1497
|
+
}).input(syncInvoicesInputSchema).output(batchReportOutputSchema);
|
|
1498
|
+
const getEgsStatusRoute = oc.route({
|
|
1499
|
+
method: "GET",
|
|
1500
|
+
path: "/egs/:egsId/status",
|
|
1501
|
+
summary: "Get EGS status",
|
|
1502
|
+
tags: ["zatca"]
|
|
1503
|
+
}).input(z.object({ egsId: z.uuid() })).output(egsStatusOutputSchema);
|
|
1504
|
+
const getOnboardingDataRoute = oc.route({
|
|
1505
|
+
method: "GET",
|
|
1506
|
+
path: "/onboarding-data",
|
|
1507
|
+
summary: "Get ZATCA onboarding auto-fill data",
|
|
1508
|
+
tags: ["zatca"]
|
|
1509
|
+
}).input(z.void()).output(onboardingDataOutputSchema);
|
|
1510
|
+
const getInvoiceByPaymentRoute = oc.route({
|
|
1511
|
+
method: "GET",
|
|
1512
|
+
path: "/invoices/by-payment/:paymentId",
|
|
1513
|
+
summary: "Get invoice by payment ID",
|
|
1514
|
+
tags: ["zatca"]
|
|
1515
|
+
}).input(z.object({ paymentId: z.string().uuid() })).output(invoiceByPaymentOutputSchema);
|
|
1516
|
+
const zatcaRouter = oc.router({
|
|
1517
|
+
onboardEgs: onboardEgsRoute,
|
|
1518
|
+
reportInvoice: reportInvoiceRoute,
|
|
1519
|
+
batchReportInvoices: batchReportInvoicesRoute,
|
|
1520
|
+
syncInvoices: syncInvoicesRoute,
|
|
1521
|
+
getEgsStatus: getEgsStatusRoute,
|
|
1522
|
+
getOnboardingData: getOnboardingDataRoute,
|
|
1523
|
+
getInvoiceByPayment: getInvoiceByPaymentRoute
|
|
1524
|
+
});
|
|
1525
|
+
|
|
1403
1526
|
//#endregion
|
|
1404
1527
|
//#region src/contract/index.ts
|
|
1405
1528
|
const healthCheckContract = oc.route({
|
|
@@ -1418,11 +1541,15 @@ const appContract = {
|
|
|
1418
1541
|
banners: bannersRouter,
|
|
1419
1542
|
messages: messagesRouterContract,
|
|
1420
1543
|
notifications: notificationsRouter,
|
|
1544
|
+
devices: devicesRouter,
|
|
1421
1545
|
billing: billingRouter,
|
|
1422
1546
|
payments: paymentsRouter,
|
|
1423
1547
|
payouts: payoutsRouter,
|
|
1424
1548
|
leads: leadsRouter,
|
|
1425
|
-
deliveries: deliveriesRouter
|
|
1549
|
+
deliveries: deliveriesRouter,
|
|
1550
|
+
zatca: zatcaRouter,
|
|
1551
|
+
taxes: taxesRouter,
|
|
1552
|
+
serviceCharges: serviceChargesRouter
|
|
1426
1553
|
};
|
|
1427
1554
|
|
|
1428
1555
|
//#endregion
|
|
@@ -1450,4 +1577,4 @@ function getBaseUrl() {
|
|
|
1450
1577
|
}
|
|
1451
1578
|
|
|
1452
1579
|
//#endregion
|
|
1453
|
-
export { FulfillmentStateMachine, FulfillmentStateValues, TerminalStates, appContract, assertCanTransition, canTransition, createMyApi, deliveryErrors, deliveryOperationSchema, getAllowedTransitions, getAllowedUserTransitions, isTerminalState };
|
|
1580
|
+
export { FulfillmentStateMachine, FulfillmentStateValues, STATUS_LABELS, TerminalStates, appContract, assertCanTransition, canTransition, createMyApi, deliveryErrors, deliveryOperationSchema, getAllowedTransitions, getAllowedUserTransitions, getAvailableUserTransitions, isTerminalState };
|