@voyantjs/bookings 0.5.0 → 0.6.2
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/extensions/suppliers.d.ts.map +1 -1
- package/dist/extensions/suppliers.js +3 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -6
- package/dist/route-runtime.d.ts +8 -0
- package/dist/route-runtime.d.ts.map +1 -0
- package/dist/route-runtime.js +17 -0
- package/dist/routes-groups.d.ts +2 -2
- package/dist/routes-groups.d.ts.map +1 -1
- package/dist/routes-groups.js +5 -4
- package/dist/routes-public.d.ts +5 -5
- package/dist/routes-public.d.ts.map +1 -1
- package/dist/routes-public.js +8 -7
- package/dist/routes-shared.d.ts +2 -0
- package/dist/routes-shared.d.ts.map +1 -1
- package/dist/routes.d.ts +37 -258
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +88 -91
- package/dist/schema-core.d.ts +1 -1
- package/dist/schema-items.d.ts +2 -2
- package/dist/service-public.d.ts +14 -14
- package/dist/service.d.ts +21 -21
- package/dist/validation-public.d.ts +11 -11
- package/dist/validation-shared.d.ts +3 -3
- package/dist/validation.d.ts +12 -12
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../src/extensions/suppliers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../src/extensions/suppliers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAgK1D,eAAO,MAAM,yBAAyB,EAAE,aAGvC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseJsonBody } from "@voyantjs/hono";
|
|
1
2
|
import { asc, eq } from "drizzle-orm";
|
|
2
3
|
import { Hono } from "hono";
|
|
3
4
|
import { z } from "zod";
|
|
@@ -79,14 +80,14 @@ const supplierStatusRoutes = new Hono()
|
|
|
79
80
|
});
|
|
80
81
|
})
|
|
81
82
|
.post("/:id/supplier-statuses", async (c) => {
|
|
82
|
-
const row = await supplierStatusService.createSupplierStatus(c.get("db"), c.req.param("id"),
|
|
83
|
+
const row = await supplierStatusService.createSupplierStatus(c.get("db"), c.req.param("id"), await parseJsonBody(c, insertSupplierStatusSchema), c.get("userId"));
|
|
83
84
|
if (!row) {
|
|
84
85
|
return c.json({ error: "Booking not found" }, 404);
|
|
85
86
|
}
|
|
86
87
|
return c.json({ data: row }, 201);
|
|
87
88
|
})
|
|
88
89
|
.patch("/:id/supplier-statuses/:statusId", async (c) => {
|
|
89
|
-
const row = await supplierStatusService.updateSupplierStatus(c.get("db"), c.req.param("id"), c.req.param("statusId"),
|
|
90
|
+
const row = await supplierStatusService.updateSupplierStatus(c.get("db"), c.req.param("id"), c.req.param("statusId"), await parseJsonBody(c, updateSupplierStatusSchema), c.get("userId"));
|
|
90
91
|
if (!row) {
|
|
91
92
|
return c.json({ error: "Supplier status not found" }, 404);
|
|
92
93
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,10 @@ export declare const bookingsLinkable: {
|
|
|
11
11
|
booking: LinkableDefinition;
|
|
12
12
|
};
|
|
13
13
|
export declare const bookingsModule: Module;
|
|
14
|
+
export declare function createBookingsHonoModule(): HonoModule;
|
|
14
15
|
export declare const bookingsHonoModule: HonoModule;
|
|
16
|
+
export type { BookingRouteRuntime } from "./route-runtime.js";
|
|
17
|
+
export { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime, } from "./route-runtime.js";
|
|
15
18
|
export type { BookingRoutes } from "./routes.js";
|
|
16
19
|
export type { PublicBookingRoutes } from "./routes-public.js";
|
|
17
20
|
export { publicBookingRoutes } from "./routes-public.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime } from "./route-runtime.js";
|
|
1
2
|
import { bookingRoutes } from "./routes.js";
|
|
2
3
|
import { publicBookingRoutes } from "./routes-public.js";
|
|
3
4
|
export { bookingsSupplierExtension } from "./extensions/suppliers.js";
|
|
@@ -18,12 +19,22 @@ export const bookingsModule = {
|
|
|
18
19
|
name: "bookings",
|
|
19
20
|
linkable: bookingsLinkable,
|
|
20
21
|
};
|
|
21
|
-
export
|
|
22
|
-
module
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
22
|
+
export function createBookingsHonoModule() {
|
|
23
|
+
const module = {
|
|
24
|
+
...bookingsModule,
|
|
25
|
+
bootstrap: ({ bindings, container }) => {
|
|
26
|
+
container.register(BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime(bindings));
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
module,
|
|
31
|
+
adminRoutes: bookingRoutes,
|
|
32
|
+
publicRoutes: publicBookingRoutes,
|
|
33
|
+
routes: bookingRoutes,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export const bookingsHonoModule = createBookingsHonoModule();
|
|
37
|
+
export { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime, } from "./route-runtime.js";
|
|
27
38
|
export { publicBookingRoutes } from "./routes-public.js";
|
|
28
39
|
export { bookingParticipantDietarySchema, bookingParticipantIdentitySchema, bookingParticipantTravelDetailInsertSchema, bookingParticipantTravelDetailSelectSchema, bookingParticipantTravelDetails, bookingParticipantTravelDetailUpdateSchema, decryptedBookingParticipantTravelDetailSchema, } from "./schema/travel-details.js";
|
|
29
40
|
export { bookingActivityLog, bookingAllocations, bookingDocuments, bookingFulfillments, bookingGroupKindEnum, bookingGroupMemberRoleEnum, bookingGroupMembers, bookingGroups, bookingItemParticipants, bookingItems, bookingNotes, bookingParticipants, bookingPassengers, bookingPiiAccessLog, bookingRedemptionEvents, bookingSessionStates, bookingSupplierStatuses, bookings, } from "./schema.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type KmsProvider } from "@voyantjs/utils";
|
|
2
|
+
import type { KmsBindings } from "./routes-shared.js";
|
|
3
|
+
export declare const BOOKING_ROUTE_RUNTIME_CONTAINER_KEY = "runtime.bookings.routes";
|
|
4
|
+
export interface BookingRouteRuntime {
|
|
5
|
+
getKmsProvider(): KmsProvider;
|
|
6
|
+
}
|
|
7
|
+
export declare function buildBookingRouteRuntime(bindings: KmsBindings): BookingRouteRuntime;
|
|
8
|
+
//# sourceMappingURL=route-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-runtime.d.ts","sourceRoot":"","sources":["../src/route-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,eAAO,MAAM,mCAAmC,4BAA4B,CAAA;AAE5E,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,WAAW,CAAA;CAC9B;AAgBD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,mBAAmB,CAQnF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createKmsProviderFromEnv } from "@voyantjs/utils";
|
|
2
|
+
export const BOOKING_ROUTE_RUNTIME_CONTAINER_KEY = "runtime.bookings.routes";
|
|
3
|
+
function buildRuntimeEnv(bindings) {
|
|
4
|
+
const processEnv = globalThis.process?.env ?? {};
|
|
5
|
+
return {
|
|
6
|
+
...processEnv,
|
|
7
|
+
...(bindings ?? {}),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function buildBookingRouteRuntime(bindings) {
|
|
11
|
+
const runtimeEnv = buildRuntimeEnv(bindings);
|
|
12
|
+
return {
|
|
13
|
+
getKmsProvider() {
|
|
14
|
+
return createKmsProviderFromEnv(runtimeEnv);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
package/dist/routes-groups.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export declare const bookingGroupRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
91
91
|
endDate: string | null;
|
|
92
92
|
bookingNumber: string;
|
|
93
93
|
personId: string | null;
|
|
94
|
-
sourceType: "internal" | "
|
|
94
|
+
sourceType: "internal" | "reseller" | "direct" | "manual" | "affiliate" | "ota" | "api_partner";
|
|
95
95
|
externalBookingRef: string | null;
|
|
96
96
|
communicationLanguage: string | null;
|
|
97
97
|
sellCurrency: string;
|
|
@@ -217,7 +217,7 @@ export declare const bookingGroupRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
217
217
|
endDate: string | null;
|
|
218
218
|
bookingNumber: string;
|
|
219
219
|
personId: string | null;
|
|
220
|
-
sourceType: "internal" | "
|
|
220
|
+
sourceType: "internal" | "reseller" | "direct" | "manual" | "affiliate" | "ota" | "api_partner";
|
|
221
221
|
externalBookingRef: string | null;
|
|
222
222
|
communicationLanguage: string | null;
|
|
223
223
|
sellCurrency: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-groups.d.ts","sourceRoot":"","sources":["../src/routes-groups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes-groups.d.ts","sourceRoot":"","sources":["../src/routes-groups.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAQ1D,KAAK,GAAG,GAAG;IACT,SAAS,EAAE;QACT,EAAE,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA0E3B,CAAA;AAEJ,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA"}
|
package/dist/routes-groups.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { parseJsonBody, parseQuery } from "@voyantjs/hono";
|
|
1
2
|
import { Hono } from "hono";
|
|
2
3
|
import { bookingGroupsService } from "./service-groups.js";
|
|
3
4
|
import { addBookingGroupMemberSchema, bookingGroupListQuerySchema, insertBookingGroupSchema, updateBookingGroupSchema, } from "./validation.js";
|
|
4
5
|
export const bookingGroupRoutes = new Hono()
|
|
5
6
|
.get("/", async (c) => {
|
|
6
|
-
const query =
|
|
7
|
+
const query = await parseQuery(c, bookingGroupListQuerySchema);
|
|
7
8
|
return c.json(await bookingGroupsService.listBookingGroups(c.get("db"), query));
|
|
8
9
|
})
|
|
9
10
|
.post("/", async (c) => {
|
|
10
|
-
const row = await bookingGroupsService.createBookingGroup(c.get("db"),
|
|
11
|
+
const row = await bookingGroupsService.createBookingGroup(c.get("db"), await parseJsonBody(c, insertBookingGroupSchema));
|
|
11
12
|
return c.json({ data: row }, 201);
|
|
12
13
|
})
|
|
13
14
|
.get("/:id", async (c) => {
|
|
@@ -18,7 +19,7 @@ export const bookingGroupRoutes = new Hono()
|
|
|
18
19
|
return c.json({ data: { ...row, members } });
|
|
19
20
|
})
|
|
20
21
|
.patch("/:id", async (c) => {
|
|
21
|
-
const row = await bookingGroupsService.updateBookingGroup(c.get("db"), c.req.param("id"),
|
|
22
|
+
const row = await bookingGroupsService.updateBookingGroup(c.get("db"), c.req.param("id"), await parseJsonBody(c, updateBookingGroupSchema));
|
|
22
23
|
if (!row)
|
|
23
24
|
return c.json({ error: "Booking group not found" }, 404);
|
|
24
25
|
return c.json({ data: row });
|
|
@@ -34,7 +35,7 @@ export const bookingGroupRoutes = new Hono()
|
|
|
34
35
|
return c.json({ data: members });
|
|
35
36
|
})
|
|
36
37
|
.post("/:id/members", async (c) => {
|
|
37
|
-
const result = await bookingGroupsService.addGroupMember(c.get("db"), c.req.param("id"),
|
|
38
|
+
const result = await bookingGroupsService.addGroupMember(c.get("db"), c.req.param("id"), await parseJsonBody(c, addBookingGroupMemberSchema));
|
|
38
39
|
if (result.status === "group_not_found") {
|
|
39
40
|
return c.json({ error: "Booking group not found" }, 404);
|
|
40
41
|
}
|
package/dist/routes-public.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ export declare const publicBookingRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
78
78
|
id: string;
|
|
79
79
|
title: string;
|
|
80
80
|
description: string | null;
|
|
81
|
-
itemType: "
|
|
81
|
+
itemType: "service" | "other" | "unit" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
|
|
82
82
|
status: "cancelled" | "draft" | "on_hold" | "confirmed" | "expired" | "fulfilled";
|
|
83
83
|
serviceDate: string | null;
|
|
84
84
|
startsAt: string | null;
|
|
@@ -111,7 +111,7 @@ export declare const publicBookingRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
111
111
|
pricingCategoryId: string | null;
|
|
112
112
|
availabilitySlotId: string | null;
|
|
113
113
|
quantity: number;
|
|
114
|
-
allocationType: "
|
|
114
|
+
allocationType: "resource" | "unit" | "pickup";
|
|
115
115
|
status: "cancelled" | "confirmed" | "expired" | "fulfilled" | "held" | "released";
|
|
116
116
|
holdExpiresAt: string | null;
|
|
117
117
|
confirmedAt: string | null;
|
|
@@ -354,7 +354,7 @@ export declare const publicBookingRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
354
354
|
id: string;
|
|
355
355
|
title: string;
|
|
356
356
|
description: string | null;
|
|
357
|
-
itemType: "
|
|
357
|
+
itemType: "service" | "other" | "unit" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
|
|
358
358
|
status: "cancelled" | "draft" | "on_hold" | "confirmed" | "expired" | "fulfilled";
|
|
359
359
|
serviceDate: string | null;
|
|
360
360
|
startsAt: string | null;
|
|
@@ -387,7 +387,7 @@ export declare const publicBookingRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
387
387
|
pricingCategoryId: string | null;
|
|
388
388
|
availabilitySlotId: string | null;
|
|
389
389
|
quantity: number;
|
|
390
|
-
allocationType: "
|
|
390
|
+
allocationType: "resource" | "unit" | "pickup";
|
|
391
391
|
status: "cancelled" | "confirmed" | "expired" | "fulfilled" | "held" | "released";
|
|
392
392
|
holdExpiresAt: string | null;
|
|
393
393
|
confirmedAt: string | null;
|
|
@@ -529,7 +529,7 @@ export declare const publicBookingRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
529
529
|
id: string;
|
|
530
530
|
title: string;
|
|
531
531
|
description: string | null;
|
|
532
|
-
itemType: "
|
|
532
|
+
itemType: "service" | "other" | "unit" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
|
|
533
533
|
status: "cancelled" | "draft" | "on_hold" | "confirmed" | "expired" | "fulfilled";
|
|
534
534
|
serviceDate: string | null;
|
|
535
535
|
startsAt: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,oBAAoB,CAAA;AAsCvD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmI5B,CAAA;AAEJ,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA"}
|
package/dist/routes-public.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseJsonBody, parseQuery } from "@voyantjs/hono";
|
|
1
2
|
import { Hono } from "hono";
|
|
2
3
|
import { notFound } from "./routes-shared.js";
|
|
3
4
|
import { publicBookingsService } from "./service-public.js";
|
|
@@ -27,7 +28,7 @@ function sessionConflictError(status) {
|
|
|
27
28
|
}
|
|
28
29
|
export const publicBookingRoutes = new Hono()
|
|
29
30
|
.post("/sessions", async (c) => {
|
|
30
|
-
const result = await publicBookingsService.createSession(c.get("db"),
|
|
31
|
+
const result = await publicBookingsService.createSession(c.get("db"), await parseJsonBody(c, publicCreateBookingSessionSchema), c.get("userId"));
|
|
31
32
|
if (result.status === "slot_not_found") {
|
|
32
33
|
return notFound(c, "Availability slot not found");
|
|
33
34
|
}
|
|
@@ -41,7 +42,7 @@ export const publicBookingRoutes = new Hono()
|
|
|
41
42
|
return session ? c.json({ data: session }) : notFound(c, "Booking session not found");
|
|
42
43
|
})
|
|
43
44
|
.patch("/sessions/:sessionId", async (c) => {
|
|
44
|
-
const result = await publicBookingsService.updateSession(c.get("db"), c.req.param("sessionId"),
|
|
45
|
+
const result = await publicBookingsService.updateSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpdateBookingSessionSchema), c.get("userId"));
|
|
45
46
|
if (result.status === "not_found") {
|
|
46
47
|
return notFound(c, "Booking session not found");
|
|
47
48
|
}
|
|
@@ -55,14 +56,14 @@ export const publicBookingRoutes = new Hono()
|
|
|
55
56
|
return state ? c.json({ data: state }) : notFound(c, "Booking session not found");
|
|
56
57
|
})
|
|
57
58
|
.put("/sessions/:sessionId/state", async (c) => {
|
|
58
|
-
const result = await publicBookingsService.updateSessionState(c.get("db"), c.req.param("sessionId"),
|
|
59
|
+
const result = await publicBookingsService.updateSessionState(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpsertBookingSessionStateSchema));
|
|
59
60
|
if (result.status === "not_found") {
|
|
60
61
|
return notFound(c, "Booking session not found");
|
|
61
62
|
}
|
|
62
63
|
return c.json({ data: result.state });
|
|
63
64
|
})
|
|
64
65
|
.post("/sessions/:sessionId/reprice", async (c) => {
|
|
65
|
-
const result = await publicBookingsService.repriceSession(c.get("db"), c.req.param("sessionId"),
|
|
66
|
+
const result = await publicBookingsService.repriceSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicRepriceBookingSessionSchema));
|
|
66
67
|
if (result.status === "not_found") {
|
|
67
68
|
return notFound(c, "Booking session not found");
|
|
68
69
|
}
|
|
@@ -80,7 +81,7 @@ export const publicBookingRoutes = new Hono()
|
|
|
80
81
|
});
|
|
81
82
|
})
|
|
82
83
|
.post("/sessions/:sessionId/confirm", async (c) => {
|
|
83
|
-
const result = await publicBookingsService.confirmSession(c.get("db"), c.req.param("sessionId"),
|
|
84
|
+
const result = await publicBookingsService.confirmSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicBookingSessionMutationSchema), c.get("userId"));
|
|
84
85
|
if (result.status === "not_found") {
|
|
85
86
|
return notFound(c, "Booking session not found");
|
|
86
87
|
}
|
|
@@ -90,7 +91,7 @@ export const publicBookingRoutes = new Hono()
|
|
|
90
91
|
return c.json({ data: result.session });
|
|
91
92
|
})
|
|
92
93
|
.post("/sessions/:sessionId/expire", async (c) => {
|
|
93
|
-
const result = await publicBookingsService.expireSession(c.get("db"), c.req.param("sessionId"),
|
|
94
|
+
const result = await publicBookingsService.expireSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicBookingSessionMutationSchema), c.get("userId"));
|
|
94
95
|
if (result.status === "not_found") {
|
|
95
96
|
return notFound(c, "Booking session not found");
|
|
96
97
|
}
|
|
@@ -100,6 +101,6 @@ export const publicBookingRoutes = new Hono()
|
|
|
100
101
|
return c.json({ data: result.session });
|
|
101
102
|
})
|
|
102
103
|
.get("/overview", async (c) => {
|
|
103
|
-
const overview = await publicBookingsService.getOverview(c.get("db"),
|
|
104
|
+
const overview = await publicBookingsService.getOverview(c.get("db"), await parseQuery(c, publicBookingOverviewLookupQuerySchema));
|
|
104
105
|
return overview ? c.json({ data: overview }) : notFound(c, "Booking overview not found");
|
|
105
106
|
});
|
package/dist/routes-shared.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ModuleContainer } from "@voyantjs/core";
|
|
1
2
|
import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
2
3
|
import type { Context } from "hono";
|
|
3
4
|
export type KmsBindings = Partial<{
|
|
@@ -22,6 +23,7 @@ export type KmsBindings = Partial<{
|
|
|
22
23
|
export type Env = {
|
|
23
24
|
Bindings: KmsBindings;
|
|
24
25
|
Variables: {
|
|
26
|
+
container?: ModuleContainer;
|
|
25
27
|
db: PostgresJsDatabase;
|
|
26
28
|
userId?: string;
|
|
27
29
|
actor?: "staff" | "customer" | "partner" | "supplier";
|
|
@@ -1 +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,WAAW,GAAG,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,6BAA6B,EAAE,MAAM,CAAA;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,2BAA2B,EAAE,MAAM,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,WAAW,CAAA;IACrB,SAAS,EAAE;QACT,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;QACrD,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;QAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;YAC3B,EAAE,EAAE,kBAAkB,CAAA;YACtB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;YACrD,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;YAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;SACrC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;EAY5C;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;;gBAEnE"}
|
|
1
|
+
{"version":3,"file":"routes-shared.d.ts","sourceRoot":"","sources":["../src/routes-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,6BAA6B,EAAE,MAAM,CAAA;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,2BAA2B,EAAE,MAAM,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,WAAW,CAAA;IACrB,SAAS,EAAE;QACT,SAAS,CAAC,EAAE,eAAe,CAAA;QAC3B,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;QACrD,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;QAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;YAC3B,EAAE,EAAE,kBAAkB,CAAA;YACtB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;YACrD,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;YAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;SACrC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;EAY5C;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;;gBAEnE"}
|