@voyantjs/pricing 0.2.0 → 0.3.0

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.
Files changed (58) hide show
  1. package/dist/routes-core.d.ts +981 -0
  2. package/dist/routes-core.d.ts.map +1 -0
  3. package/dist/routes-core.js +101 -0
  4. package/dist/routes-rules.d.ts +1176 -0
  5. package/dist/routes-rules.d.ts.map +1 -0
  6. package/dist/routes-rules.js +117 -0
  7. package/dist/routes-shared.d.ts +12 -0
  8. package/dist/routes-shared.d.ts.map +1 -0
  9. package/dist/routes-shared.js +3 -0
  10. package/dist/routes.d.ts +3 -2160
  11. package/dist/routes.d.ts.map +1 -1
  12. package/dist/routes.js +5 -354
  13. package/dist/schema-catalogs.d.ts +467 -0
  14. package/dist/schema-catalogs.d.ts.map +1 -0
  15. package/dist/schema-catalogs.js +44 -0
  16. package/dist/schema-categories.d.ts +497 -0
  17. package/dist/schema-categories.d.ts.map +1 -0
  18. package/dist/schema-categories.js +50 -0
  19. package/dist/schema-option-rules.d.ts +1770 -0
  20. package/dist/schema-option-rules.d.ts.map +1 -0
  21. package/dist/schema-option-rules.js +174 -0
  22. package/dist/schema-policies.d.ts +395 -0
  23. package/dist/schema-policies.d.ts.map +1 -0
  24. package/dist/schema-policies.js +38 -0
  25. package/dist/schema-relations.d.ts +55 -0
  26. package/dist/schema-relations.d.ts.map +1 -0
  27. package/dist/schema-relations.js +103 -0
  28. package/dist/schema-shared.d.ts +11 -0
  29. package/dist/schema-shared.d.ts.map +1 -0
  30. package/dist/schema-shared.js +67 -0
  31. package/dist/schema.d.ts +6 -3189
  32. package/dist/schema.d.ts.map +1 -1
  33. package/dist/schema.js +6 -458
  34. package/dist/service-catalogs.d.ts +139 -0
  35. package/dist/service-catalogs.d.ts.map +1 -0
  36. package/dist/service-catalogs.js +89 -0
  37. package/dist/service-categories.d.ts +147 -0
  38. package/dist/service-categories.d.ts.map +1 -0
  39. package/dist/service-categories.js +105 -0
  40. package/dist/service-option-rules.d.ts +307 -0
  41. package/dist/service-option-rules.d.ts.map +1 -0
  42. package/dist/service-option-rules.js +188 -0
  43. package/dist/service-policies.d.ts +123 -0
  44. package/dist/service-policies.d.ts.map +1 -0
  45. package/dist/service-policies.js +95 -0
  46. package/dist/service-shared.d.ts +50 -0
  47. package/dist/service-shared.d.ts.map +1 -0
  48. package/dist/service-shared.js +4 -0
  49. package/dist/service-transfer-rules.d.ts +211 -0
  50. package/dist/service-transfer-rules.d.ts.map +1 -0
  51. package/dist/service-transfer-rules.js +139 -0
  52. package/dist/service.d.ts +70 -955
  53. package/dist/service.d.ts.map +1 -1
  54. package/dist/service.js +70 -595
  55. package/dist/validation.d.ts +2 -0
  56. package/dist/validation.d.ts.map +1 -1
  57. package/dist/validation.js +2 -0
  58. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-rules.d.ts","sourceRoot":"","sources":["../src/routes-rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,oBAAoB,CAAA;AA0BvD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAyP1B,CAAA"}
@@ -0,0 +1,117 @@
1
+ import { Hono } from "hono";
2
+ import { notFound } from "./routes-shared.js";
3
+ import { pricingService } from "./service.js";
4
+ import { dropoffPriceRuleListQuerySchema, extraPriceRuleListQuerySchema, insertDropoffPriceRuleSchema, insertExtraPriceRuleSchema, insertOptionPriceRuleSchema, insertOptionStartTimeRuleSchema, insertOptionUnitPriceRuleSchema, insertOptionUnitTierSchema, insertPickupPriceRuleSchema, optionPriceRuleListQuerySchema, optionStartTimeRuleListQuerySchema, optionUnitPriceRuleListQuerySchema, optionUnitTierListQuerySchema, pickupPriceRuleListQuerySchema, updateDropoffPriceRuleSchema, updateExtraPriceRuleSchema, updateOptionPriceRuleSchema, updateOptionStartTimeRuleSchema, updateOptionUnitPriceRuleSchema, updateOptionUnitTierSchema, updatePickupPriceRuleSchema, } from "./validation.js";
5
+ export const pricingRuleRoutes = new Hono()
6
+ .get("/option-price-rules", async (c) => c.json(await pricingService.listOptionPriceRules(c.get("db"), optionPriceRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
7
+ .post("/option-price-rules", async (c) => c.json({
8
+ data: await pricingService.createOptionPriceRule(c.get("db"), insertOptionPriceRuleSchema.parse(await c.req.json())),
9
+ }, 201))
10
+ .get("/option-price-rules/:id", async (c) => {
11
+ const row = await pricingService.getOptionPriceRuleById(c.get("db"), c.req.param("id"));
12
+ return row ? c.json({ data: row }) : notFound(c, "Option price rule not found");
13
+ })
14
+ .patch("/option-price-rules/:id", async (c) => {
15
+ const row = await pricingService.updateOptionPriceRule(c.get("db"), c.req.param("id"), updateOptionPriceRuleSchema.parse(await c.req.json()));
16
+ return row ? c.json({ data: row }) : notFound(c, "Option price rule not found");
17
+ })
18
+ .delete("/option-price-rules/:id", async (c) => {
19
+ const row = await pricingService.deleteOptionPriceRule(c.get("db"), c.req.param("id"));
20
+ return row ? c.json({ success: true }) : notFound(c, "Option price rule not found");
21
+ })
22
+ .get("/option-unit-price-rules", async (c) => c.json(await pricingService.listOptionUnitPriceRules(c.get("db"), optionUnitPriceRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
23
+ .post("/option-unit-price-rules", async (c) => c.json({
24
+ data: await pricingService.createOptionUnitPriceRule(c.get("db"), insertOptionUnitPriceRuleSchema.parse(await c.req.json())),
25
+ }, 201))
26
+ .get("/option-unit-price-rules/:id", async (c) => {
27
+ const row = await pricingService.getOptionUnitPriceRuleById(c.get("db"), c.req.param("id"));
28
+ return row ? c.json({ data: row }) : notFound(c, "Option unit price rule not found");
29
+ })
30
+ .patch("/option-unit-price-rules/:id", async (c) => {
31
+ const row = await pricingService.updateOptionUnitPriceRule(c.get("db"), c.req.param("id"), updateOptionUnitPriceRuleSchema.parse(await c.req.json()));
32
+ return row ? c.json({ data: row }) : notFound(c, "Option unit price rule not found");
33
+ })
34
+ .delete("/option-unit-price-rules/:id", async (c) => {
35
+ const row = await pricingService.deleteOptionUnitPriceRule(c.get("db"), c.req.param("id"));
36
+ return row ? c.json({ success: true }) : notFound(c, "Option unit price rule not found");
37
+ })
38
+ .get("/option-start-time-rules", async (c) => c.json(await pricingService.listOptionStartTimeRules(c.get("db"), optionStartTimeRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
39
+ .post("/option-start-time-rules", async (c) => c.json({
40
+ data: await pricingService.createOptionStartTimeRule(c.get("db"), insertOptionStartTimeRuleSchema.parse(await c.req.json())),
41
+ }, 201))
42
+ .get("/option-start-time-rules/:id", async (c) => {
43
+ const row = await pricingService.getOptionStartTimeRuleById(c.get("db"), c.req.param("id"));
44
+ return row ? c.json({ data: row }) : notFound(c, "Option start time rule not found");
45
+ })
46
+ .patch("/option-start-time-rules/:id", async (c) => {
47
+ const row = await pricingService.updateOptionStartTimeRule(c.get("db"), c.req.param("id"), updateOptionStartTimeRuleSchema.parse(await c.req.json()));
48
+ return row ? c.json({ data: row }) : notFound(c, "Option start time rule not found");
49
+ })
50
+ .delete("/option-start-time-rules/:id", async (c) => {
51
+ const row = await pricingService.deleteOptionStartTimeRule(c.get("db"), c.req.param("id"));
52
+ return row ? c.json({ success: true }) : notFound(c, "Option start time rule not found");
53
+ })
54
+ .get("/option-unit-tiers", async (c) => c.json(await pricingService.listOptionUnitTiers(c.get("db"), optionUnitTierListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
55
+ .post("/option-unit-tiers", async (c) => c.json({
56
+ data: await pricingService.createOptionUnitTier(c.get("db"), insertOptionUnitTierSchema.parse(await c.req.json())),
57
+ }, 201))
58
+ .get("/option-unit-tiers/:id", async (c) => {
59
+ const row = await pricingService.getOptionUnitTierById(c.get("db"), c.req.param("id"));
60
+ return row ? c.json({ data: row }) : notFound(c, "Option unit tier not found");
61
+ })
62
+ .patch("/option-unit-tiers/:id", async (c) => {
63
+ const row = await pricingService.updateOptionUnitTier(c.get("db"), c.req.param("id"), updateOptionUnitTierSchema.parse(await c.req.json()));
64
+ return row ? c.json({ data: row }) : notFound(c, "Option unit tier not found");
65
+ })
66
+ .delete("/option-unit-tiers/:id", async (c) => {
67
+ const row = await pricingService.deleteOptionUnitTier(c.get("db"), c.req.param("id"));
68
+ return row ? c.json({ success: true }) : notFound(c, "Option unit tier not found");
69
+ })
70
+ .get("/pickup-price-rules", async (c) => c.json(await pricingService.listPickupPriceRules(c.get("db"), pickupPriceRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
71
+ .post("/pickup-price-rules", async (c) => c.json({
72
+ data: await pricingService.createPickupPriceRule(c.get("db"), insertPickupPriceRuleSchema.parse(await c.req.json())),
73
+ }, 201))
74
+ .get("/pickup-price-rules/:id", async (c) => {
75
+ const row = await pricingService.getPickupPriceRuleById(c.get("db"), c.req.param("id"));
76
+ return row ? c.json({ data: row }) : notFound(c, "Pickup price rule not found");
77
+ })
78
+ .patch("/pickup-price-rules/:id", async (c) => {
79
+ const row = await pricingService.updatePickupPriceRule(c.get("db"), c.req.param("id"), updatePickupPriceRuleSchema.parse(await c.req.json()));
80
+ return row ? c.json({ data: row }) : notFound(c, "Pickup price rule not found");
81
+ })
82
+ .delete("/pickup-price-rules/:id", async (c) => {
83
+ const row = await pricingService.deletePickupPriceRule(c.get("db"), c.req.param("id"));
84
+ return row ? c.json({ success: true }) : notFound(c, "Pickup price rule not found");
85
+ })
86
+ .get("/dropoff-price-rules", async (c) => c.json(await pricingService.listDropoffPriceRules(c.get("db"), dropoffPriceRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
87
+ .post("/dropoff-price-rules", async (c) => c.json({
88
+ data: await pricingService.createDropoffPriceRule(c.get("db"), insertDropoffPriceRuleSchema.parse(await c.req.json())),
89
+ }, 201))
90
+ .get("/dropoff-price-rules/:id", async (c) => {
91
+ const row = await pricingService.getDropoffPriceRuleById(c.get("db"), c.req.param("id"));
92
+ return row ? c.json({ data: row }) : notFound(c, "Dropoff price rule not found");
93
+ })
94
+ .patch("/dropoff-price-rules/:id", async (c) => {
95
+ const row = await pricingService.updateDropoffPriceRule(c.get("db"), c.req.param("id"), updateDropoffPriceRuleSchema.parse(await c.req.json()));
96
+ return row ? c.json({ data: row }) : notFound(c, "Dropoff price rule not found");
97
+ })
98
+ .delete("/dropoff-price-rules/:id", async (c) => {
99
+ const row = await pricingService.deleteDropoffPriceRule(c.get("db"), c.req.param("id"));
100
+ return row ? c.json({ success: true }) : notFound(c, "Dropoff price rule not found");
101
+ })
102
+ .get("/extra-price-rules", async (c) => c.json(await pricingService.listExtraPriceRules(c.get("db"), extraPriceRuleListQuerySchema.parse(Object.fromEntries(new URL(c.req.url).searchParams)))))
103
+ .post("/extra-price-rules", async (c) => c.json({
104
+ data: await pricingService.createExtraPriceRule(c.get("db"), insertExtraPriceRuleSchema.parse(await c.req.json())),
105
+ }, 201))
106
+ .get("/extra-price-rules/:id", async (c) => {
107
+ const row = await pricingService.getExtraPriceRuleById(c.get("db"), c.req.param("id"));
108
+ return row ? c.json({ data: row }) : notFound(c, "Extra price rule not found");
109
+ })
110
+ .patch("/extra-price-rules/:id", async (c) => {
111
+ const row = await pricingService.updateExtraPriceRule(c.get("db"), c.req.param("id"), updateExtraPriceRuleSchema.parse(await c.req.json()));
112
+ return row ? c.json({ data: row }) : notFound(c, "Extra price rule not found");
113
+ })
114
+ .delete("/extra-price-rules/:id", async (c) => {
115
+ const row = await pricingService.deleteExtraPriceRule(c.get("db"), c.req.param("id"));
116
+ return row ? c.json({ success: true }) : notFound(c, "Extra price rule not found");
117
+ });
@@ -0,0 +1,12 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import type { Context } from "hono";
3
+ export type Env = {
4
+ Variables: {
5
+ db: PostgresJsDatabase;
6
+ userId?: string;
7
+ };
8
+ };
9
+ export declare function notFound(c: Context<Env>, message: string): Response & import("hono").TypedResponse<{
10
+ error: string;
11
+ }, 404, "json">;
12
+ //# sourceMappingURL=routes-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-shared.d.ts","sourceRoot":"","sources":["../src/routes-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,SAAS,EAAE;QACT,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM;;gBAExD"}
@@ -0,0 +1,3 @@
1
+ export function notFound(c, message) {
2
+ return c.json({ error: message }, 404);
3
+ }