@voyantjs/pricing 0.2.0 → 0.3.1

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 (73) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -0
  4. package/dist/routes-core.d.ts +981 -0
  5. package/dist/routes-core.d.ts.map +1 -0
  6. package/dist/routes-core.js +101 -0
  7. package/dist/routes-public.d.ts +136 -0
  8. package/dist/routes-public.d.ts.map +1 -0
  9. package/dist/routes-public.js +13 -0
  10. package/dist/routes-rules.d.ts +1176 -0
  11. package/dist/routes-rules.d.ts.map +1 -0
  12. package/dist/routes-rules.js +117 -0
  13. package/dist/routes-shared.d.ts +12 -0
  14. package/dist/routes-shared.d.ts.map +1 -0
  15. package/dist/routes-shared.js +3 -0
  16. package/dist/routes.d.ts +5 -2160
  17. package/dist/routes.d.ts.map +1 -1
  18. package/dist/routes.js +5 -354
  19. package/dist/schema-catalogs.d.ts +467 -0
  20. package/dist/schema-catalogs.d.ts.map +1 -0
  21. package/dist/schema-catalogs.js +44 -0
  22. package/dist/schema-categories.d.ts +497 -0
  23. package/dist/schema-categories.d.ts.map +1 -0
  24. package/dist/schema-categories.js +50 -0
  25. package/dist/schema-option-rules.d.ts +1770 -0
  26. package/dist/schema-option-rules.d.ts.map +1 -0
  27. package/dist/schema-option-rules.js +174 -0
  28. package/dist/schema-policies.d.ts +395 -0
  29. package/dist/schema-policies.d.ts.map +1 -0
  30. package/dist/schema-policies.js +38 -0
  31. package/dist/schema-relations.d.ts +55 -0
  32. package/dist/schema-relations.d.ts.map +1 -0
  33. package/dist/schema-relations.js +103 -0
  34. package/dist/schema-shared.d.ts +11 -0
  35. package/dist/schema-shared.d.ts.map +1 -0
  36. package/dist/schema-shared.js +67 -0
  37. package/dist/schema.d.ts +6 -3189
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +6 -458
  40. package/dist/service-catalogs.d.ts +139 -0
  41. package/dist/service-catalogs.d.ts.map +1 -0
  42. package/dist/service-catalogs.js +89 -0
  43. package/dist/service-categories.d.ts +147 -0
  44. package/dist/service-categories.d.ts.map +1 -0
  45. package/dist/service-categories.js +105 -0
  46. package/dist/service-option-rules.d.ts +307 -0
  47. package/dist/service-option-rules.d.ts.map +1 -0
  48. package/dist/service-option-rules.js +188 -0
  49. package/dist/service-policies.d.ts +123 -0
  50. package/dist/service-policies.d.ts.map +1 -0
  51. package/dist/service-policies.js +95 -0
  52. package/dist/service-public.d.ts +89 -0
  53. package/dist/service-public.d.ts.map +1 -0
  54. package/dist/service-public.js +355 -0
  55. package/dist/service-shared.d.ts +50 -0
  56. package/dist/service-shared.d.ts.map +1 -0
  57. package/dist/service-shared.js +4 -0
  58. package/dist/service-transfer-rules.d.ts +211 -0
  59. package/dist/service-transfer-rules.d.ts.map +1 -0
  60. package/dist/service-transfer-rules.js +139 -0
  61. package/dist/service.d.ts +70 -955
  62. package/dist/service.d.ts.map +1 -1
  63. package/dist/service.js +70 -595
  64. package/dist/validation-public.d.ts +410 -0
  65. package/dist/validation-public.d.ts.map +1 -0
  66. package/dist/validation-public.js +109 -0
  67. package/dist/validation-shared.d.ts +71 -0
  68. package/dist/validation-shared.d.ts.map +1 -0
  69. package/dist/validation-shared.js +63 -0
  70. package/dist/validation.d.ts +4 -69
  71. package/dist/validation.d.ts.map +1 -1
  72. package/dist/validation.js +5 -62
  73. package/package.json +16 -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
+ }