@voyant-travel/distribution 0.109.8
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/LICENSE +201 -0
- package/README.md +42 -0
- package/dist/booking-extension.d.ts +168 -0
- package/dist/booking-extension.d.ts.map +1 -0
- package/dist/booking-extension.js +102 -0
- package/dist/channel-push/admin-routes.d.ts +31 -0
- package/dist/channel-push/admin-routes.d.ts.map +1 -0
- package/dist/channel-push/admin-routes.js +165 -0
- package/dist/channel-push/availability-push.d.ts +76 -0
- package/dist/channel-push/availability-push.d.ts.map +1 -0
- package/dist/channel-push/availability-push.js +236 -0
- package/dist/channel-push/booking-push-helpers.d.ts +36 -0
- package/dist/channel-push/booking-push-helpers.d.ts.map +1 -0
- package/dist/channel-push/booking-push-helpers.js +169 -0
- package/dist/channel-push/booking-push.d.ts +108 -0
- package/dist/channel-push/booking-push.d.ts.map +1 -0
- package/dist/channel-push/booking-push.js +335 -0
- package/dist/channel-push/boundary-sql.d.ts +23 -0
- package/dist/channel-push/boundary-sql.d.ts.map +1 -0
- package/dist/channel-push/boundary-sql.js +75 -0
- package/dist/channel-push/content-push.d.ts +60 -0
- package/dist/channel-push/content-push.d.ts.map +1 -0
- package/dist/channel-push/content-push.js +252 -0
- package/dist/channel-push/index.d.ts +15 -0
- package/dist/channel-push/index.d.ts.map +1 -0
- package/dist/channel-push/index.js +18 -0
- package/dist/channel-push/plugin.d.ts +18 -0
- package/dist/channel-push/plugin.d.ts.map +1 -0
- package/dist/channel-push/plugin.js +21 -0
- package/dist/channel-push/reconciler.d.ts +85 -0
- package/dist/channel-push/reconciler.d.ts.map +1 -0
- package/dist/channel-push/reconciler.js +179 -0
- package/dist/channel-push/subscriber.d.ts +40 -0
- package/dist/channel-push/subscriber.d.ts.map +1 -0
- package/dist/channel-push/subscriber.js +199 -0
- package/dist/channel-push/types.d.ts +43 -0
- package/dist/channel-push/types.d.ts.map +1 -0
- package/dist/channel-push/types.js +32 -0
- package/dist/channel-push/workflows.d.ts +56 -0
- package/dist/channel-push/workflows.d.ts.map +1 -0
- package/dist/channel-push/workflows.js +100 -0
- package/dist/external-refs/index.d.ts +11 -0
- package/dist/external-refs/index.d.ts.map +1 -0
- package/dist/external-refs/index.js +12 -0
- package/dist/external-refs/routes.d.ts +253 -0
- package/dist/external-refs/routes.d.ts.map +1 -0
- package/dist/external-refs/routes.js +52 -0
- package/dist/external-refs/schema.d.ts +251 -0
- package/dist/external-refs/schema.d.ts.map +1 -0
- package/dist/external-refs/schema.js +32 -0
- package/dist/external-refs/service.d.ts +82 -0
- package/dist/external-refs/service.d.ts.map +1 -0
- package/dist/external-refs/service.js +112 -0
- package/dist/external-refs/validation.d.ts +91 -0
- package/dist/external-refs/validation.d.ts.map +1 -0
- package/dist/external-refs/validation.js +40 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/interface-types.d.ts +128 -0
- package/dist/interface-types.d.ts.map +1 -0
- package/dist/interface-types.js +1 -0
- package/dist/interface.d.ts +10 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +286 -0
- package/dist/rate-limit.d.ts +69 -0
- package/dist/rate-limit.d.ts.map +1 -0
- package/dist/rate-limit.js +135 -0
- package/dist/routes/batch.d.ts +200 -0
- package/dist/routes/batch.d.ts.map +1 -0
- package/dist/routes/batch.js +52 -0
- package/dist/routes/env.d.ts +8 -0
- package/dist/routes/env.d.ts.map +1 -0
- package/dist/routes/env.js +1 -0
- package/dist/routes/inventory.d.ts +604 -0
- package/dist/routes/inventory.d.ts.map +1 -0
- package/dist/routes/inventory.js +138 -0
- package/dist/routes/settlements.d.ts +1649 -0
- package/dist/routes/settlements.d.ts.map +1 -0
- package/dist/routes/settlements.js +265 -0
- package/dist/routes.d.ts +3909 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +323 -0
- package/dist/schema-automation.d.ts +680 -0
- package/dist/schema-automation.d.ts.map +1 -0
- package/dist/schema-automation.js +76 -0
- package/dist/schema-core.d.ts +1674 -0
- package/dist/schema-core.d.ts.map +1 -0
- package/dist/schema-core.js +227 -0
- package/dist/schema-finance.d.ts +1372 -0
- package/dist/schema-finance.d.ts.map +1 -0
- package/dist/schema-finance.js +153 -0
- package/dist/schema-inventory.d.ts +855 -0
- package/dist/schema-inventory.d.ts.map +1 -0
- package/dist/schema-inventory.js +102 -0
- package/dist/schema-push-intents.d.ts +387 -0
- package/dist/schema-push-intents.d.ts.map +1 -0
- package/dist/schema-push-intents.js +77 -0
- package/dist/schema-relations.d.ts +95 -0
- package/dist/schema-relations.d.ts.map +1 -0
- package/dist/schema-relations.js +196 -0
- package/dist/schema-shared.d.ts +24 -0
- package/dist/schema-shared.d.ts.map +1 -0
- package/dist/schema-shared.js +123 -0
- package/dist/schema.d.ts +9 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +8 -0
- package/dist/service/channels.d.ts +167 -0
- package/dist/service/channels.d.ts.map +1 -0
- package/dist/service/channels.js +305 -0
- package/dist/service/commercial.d.ts +385 -0
- package/dist/service/commercial.d.ts.map +1 -0
- package/dist/service/commercial.js +248 -0
- package/dist/service/helpers.d.ts +10 -0
- package/dist/service/helpers.d.ts.map +1 -0
- package/dist/service/helpers.js +7 -0
- package/dist/service/inventory.d.ts +193 -0
- package/dist/service/inventory.d.ts.map +1 -0
- package/dist/service/inventory.js +154 -0
- package/dist/service/settlement-policies.d.ts +325 -0
- package/dist/service/settlement-policies.d.ts.map +1 -0
- package/dist/service/settlement-policies.js +272 -0
- package/dist/service/settlements.d.ts +357 -0
- package/dist/service/settlements.d.ts.map +1 -0
- package/dist/service/settlements.js +319 -0
- package/dist/service/types.d.ts +60 -0
- package/dist/service/types.d.ts.map +1 -0
- package/dist/service/types.js +1 -0
- package/dist/service.d.ts +1418 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +17 -0
- package/dist/suppliers/index.d.ts +15 -0
- package/dist/suppliers/index.d.ts.map +1 -0
- package/dist/suppliers/index.js +23 -0
- package/dist/suppliers/routes.d.ts +1202 -0
- package/dist/suppliers/routes.d.ts.map +1 -0
- package/dist/suppliers/routes.js +290 -0
- package/dist/suppliers/schema.d.ts +1272 -0
- package/dist/suppliers/schema.d.ts.map +1 -0
- package/dist/suppliers/schema.js +219 -0
- package/dist/suppliers/service-aggregates.d.ts +23 -0
- package/dist/suppliers/service-aggregates.d.ts.map +1 -0
- package/dist/suppliers/service-aggregates.js +51 -0
- package/dist/suppliers/service-core.d.ts +89 -0
- package/dist/suppliers/service-core.d.ts.map +1 -0
- package/dist/suppliers/service-core.js +164 -0
- package/dist/suppliers/service-identity.d.ts +162 -0
- package/dist/suppliers/service-identity.d.ts.map +1 -0
- package/dist/suppliers/service-identity.js +101 -0
- package/dist/suppliers/service-operations.d.ts +1500 -0
- package/dist/suppliers/service-operations.d.ts.map +1 -0
- package/dist/suppliers/service-operations.js +157 -0
- package/dist/suppliers/service-shared.d.ts +45 -0
- package/dist/suppliers/service-shared.d.ts.map +1 -0
- package/dist/suppliers/service-shared.js +294 -0
- package/dist/suppliers/service.d.ts +41 -0
- package/dist/suppliers/service.d.ts.map +1 -0
- package/dist/suppliers/service.js +40 -0
- package/dist/suppliers/validation.d.ts +2 -0
- package/dist/suppliers/validation.d.ts.map +1 -0
- package/dist/suppliers/validation.js +1 -0
- package/dist/validation.d.ts +1371 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +445 -0
- package/dist/webhook-deliveries.d.ts +86 -0
- package/dist/webhook-deliveries.d.ts.map +1 -0
- package/dist/webhook-deliveries.js +296 -0
- package/package.json +71 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { parseJsonBody, parseQuery } from "@voyant-travel/hono";
|
|
2
|
+
import { Hono } from "hono";
|
|
3
|
+
import { distributionService } from "../service.js";
|
|
4
|
+
import { channelInventoryAllotmentListQuerySchema, channelInventoryAllotmentTargetListQuerySchema, channelInventoryReleaseRuleListQuerySchema, insertChannelInventoryAllotmentSchema, insertChannelInventoryAllotmentTargetSchema, insertChannelInventoryReleaseRuleSchema, updateChannelInventoryAllotmentSchema, updateChannelInventoryAllotmentTargetSchema, updateChannelInventoryReleaseRuleSchema, } from "../validation.js";
|
|
5
|
+
import { batchIdsSchema, batchUpdateChannelInventoryAllotmentSchema, batchUpdateChannelInventoryAllotmentTargetSchema, batchUpdateChannelInventoryReleaseRuleSchema, handleBatchDelete, handleBatchUpdate, } from "./batch.js";
|
|
6
|
+
export const inventoryRoutes = new Hono()
|
|
7
|
+
.get("/inventory-allotments", async (c) => {
|
|
8
|
+
const query = await parseQuery(c, channelInventoryAllotmentListQuerySchema);
|
|
9
|
+
return c.json(await distributionService.listInventoryAllotments(c.get("db"), query));
|
|
10
|
+
})
|
|
11
|
+
.post("/inventory-allotments", async (c) => {
|
|
12
|
+
return c.json({
|
|
13
|
+
data: await distributionService.createInventoryAllotment(c.get("db"), await parseJsonBody(c, insertChannelInventoryAllotmentSchema)),
|
|
14
|
+
}, 201);
|
|
15
|
+
})
|
|
16
|
+
.post("/inventory-allotments/batch-update", async (c) => {
|
|
17
|
+
const body = await parseJsonBody(c, batchUpdateChannelInventoryAllotmentSchema);
|
|
18
|
+
return c.json(await handleBatchUpdate({
|
|
19
|
+
db: c.get("db"),
|
|
20
|
+
ids: body.ids,
|
|
21
|
+
patch: body.patch,
|
|
22
|
+
update: distributionService.updateInventoryAllotment,
|
|
23
|
+
}));
|
|
24
|
+
})
|
|
25
|
+
.post("/inventory-allotments/batch-delete", async (c) => {
|
|
26
|
+
const body = await parseJsonBody(c, batchIdsSchema);
|
|
27
|
+
return c.json(await handleBatchDelete({
|
|
28
|
+
db: c.get("db"),
|
|
29
|
+
ids: body.ids,
|
|
30
|
+
remove: distributionService.deleteInventoryAllotment,
|
|
31
|
+
}));
|
|
32
|
+
})
|
|
33
|
+
.get("/inventory-allotments/:id", async (c) => {
|
|
34
|
+
const row = await distributionService.getInventoryAllotmentById(c.get("db"), c.req.param("id"));
|
|
35
|
+
if (!row)
|
|
36
|
+
return c.json({ error: "Channel inventory allotment not found" }, 404);
|
|
37
|
+
return c.json({ data: row });
|
|
38
|
+
})
|
|
39
|
+
.patch("/inventory-allotments/:id", async (c) => {
|
|
40
|
+
const row = await distributionService.updateInventoryAllotment(c.get("db"), c.req.param("id"), await parseJsonBody(c, updateChannelInventoryAllotmentSchema));
|
|
41
|
+
if (!row)
|
|
42
|
+
return c.json({ error: "Channel inventory allotment not found" }, 404);
|
|
43
|
+
return c.json({ data: row });
|
|
44
|
+
})
|
|
45
|
+
.delete("/inventory-allotments/:id", async (c) => {
|
|
46
|
+
const row = await distributionService.deleteInventoryAllotment(c.get("db"), c.req.param("id"));
|
|
47
|
+
if (!row)
|
|
48
|
+
return c.json({ error: "Channel inventory allotment not found" }, 404);
|
|
49
|
+
return c.json({ success: true });
|
|
50
|
+
})
|
|
51
|
+
.get("/inventory-allotment-targets", async (c) => {
|
|
52
|
+
const query = await parseQuery(c, channelInventoryAllotmentTargetListQuerySchema);
|
|
53
|
+
return c.json(await distributionService.listInventoryAllotmentTargets(c.get("db"), query));
|
|
54
|
+
})
|
|
55
|
+
.post("/inventory-allotment-targets", async (c) => {
|
|
56
|
+
return c.json({
|
|
57
|
+
data: await distributionService.createInventoryAllotmentTarget(c.get("db"), await parseJsonBody(c, insertChannelInventoryAllotmentTargetSchema)),
|
|
58
|
+
}, 201);
|
|
59
|
+
})
|
|
60
|
+
.post("/inventory-allotment-targets/batch-update", async (c) => {
|
|
61
|
+
const body = await parseJsonBody(c, batchUpdateChannelInventoryAllotmentTargetSchema);
|
|
62
|
+
return c.json(await handleBatchUpdate({
|
|
63
|
+
db: c.get("db"),
|
|
64
|
+
ids: body.ids,
|
|
65
|
+
patch: body.patch,
|
|
66
|
+
update: distributionService.updateInventoryAllotmentTarget,
|
|
67
|
+
}));
|
|
68
|
+
})
|
|
69
|
+
.post("/inventory-allotment-targets/batch-delete", async (c) => {
|
|
70
|
+
const body = await parseJsonBody(c, batchIdsSchema);
|
|
71
|
+
return c.json(await handleBatchDelete({
|
|
72
|
+
db: c.get("db"),
|
|
73
|
+
ids: body.ids,
|
|
74
|
+
remove: distributionService.deleteInventoryAllotmentTarget,
|
|
75
|
+
}));
|
|
76
|
+
})
|
|
77
|
+
.get("/inventory-allotment-targets/:id", async (c) => {
|
|
78
|
+
const row = await distributionService.getInventoryAllotmentTargetById(c.get("db"), c.req.param("id"));
|
|
79
|
+
if (!row)
|
|
80
|
+
return c.json({ error: "Channel inventory allotment target not found" }, 404);
|
|
81
|
+
return c.json({ data: row });
|
|
82
|
+
})
|
|
83
|
+
.patch("/inventory-allotment-targets/:id", async (c) => {
|
|
84
|
+
const row = await distributionService.updateInventoryAllotmentTarget(c.get("db"), c.req.param("id"), await parseJsonBody(c, updateChannelInventoryAllotmentTargetSchema));
|
|
85
|
+
if (!row)
|
|
86
|
+
return c.json({ error: "Channel inventory allotment target not found" }, 404);
|
|
87
|
+
return c.json({ data: row });
|
|
88
|
+
})
|
|
89
|
+
.delete("/inventory-allotment-targets/:id", async (c) => {
|
|
90
|
+
const row = await distributionService.deleteInventoryAllotmentTarget(c.get("db"), c.req.param("id"));
|
|
91
|
+
if (!row)
|
|
92
|
+
return c.json({ error: "Channel inventory allotment target not found" }, 404);
|
|
93
|
+
return c.json({ success: true });
|
|
94
|
+
})
|
|
95
|
+
.get("/inventory-release-rules", async (c) => {
|
|
96
|
+
const query = await parseQuery(c, channelInventoryReleaseRuleListQuerySchema);
|
|
97
|
+
return c.json(await distributionService.listInventoryReleaseRules(c.get("db"), query));
|
|
98
|
+
})
|
|
99
|
+
.post("/inventory-release-rules", async (c) => {
|
|
100
|
+
return c.json({
|
|
101
|
+
data: await distributionService.createInventoryReleaseRule(c.get("db"), await parseJsonBody(c, insertChannelInventoryReleaseRuleSchema)),
|
|
102
|
+
}, 201);
|
|
103
|
+
})
|
|
104
|
+
.post("/inventory-release-rules/batch-update", async (c) => {
|
|
105
|
+
const body = await parseJsonBody(c, batchUpdateChannelInventoryReleaseRuleSchema);
|
|
106
|
+
return c.json(await handleBatchUpdate({
|
|
107
|
+
db: c.get("db"),
|
|
108
|
+
ids: body.ids,
|
|
109
|
+
patch: body.patch,
|
|
110
|
+
update: distributionService.updateInventoryReleaseRule,
|
|
111
|
+
}));
|
|
112
|
+
})
|
|
113
|
+
.post("/inventory-release-rules/batch-delete", async (c) => {
|
|
114
|
+
const body = await parseJsonBody(c, batchIdsSchema);
|
|
115
|
+
return c.json(await handleBatchDelete({
|
|
116
|
+
db: c.get("db"),
|
|
117
|
+
ids: body.ids,
|
|
118
|
+
remove: distributionService.deleteInventoryReleaseRule,
|
|
119
|
+
}));
|
|
120
|
+
})
|
|
121
|
+
.get("/inventory-release-rules/:id", async (c) => {
|
|
122
|
+
const row = await distributionService.getInventoryReleaseRuleById(c.get("db"), c.req.param("id"));
|
|
123
|
+
if (!row)
|
|
124
|
+
return c.json({ error: "Channel inventory release rule not found" }, 404);
|
|
125
|
+
return c.json({ data: row });
|
|
126
|
+
})
|
|
127
|
+
.patch("/inventory-release-rules/:id", async (c) => {
|
|
128
|
+
const row = await distributionService.updateInventoryReleaseRule(c.get("db"), c.req.param("id"), await parseJsonBody(c, updateChannelInventoryReleaseRuleSchema));
|
|
129
|
+
if (!row)
|
|
130
|
+
return c.json({ error: "Channel inventory release rule not found" }, 404);
|
|
131
|
+
return c.json({ data: row });
|
|
132
|
+
})
|
|
133
|
+
.delete("/inventory-release-rules/:id", async (c) => {
|
|
134
|
+
const row = await distributionService.deleteInventoryReleaseRule(c.get("db"), c.req.param("id"));
|
|
135
|
+
if (!row)
|
|
136
|
+
return c.json({ error: "Channel inventory release rule not found" }, 404);
|
|
137
|
+
return c.json({ success: true });
|
|
138
|
+
});
|