@voyantjs/finance 0.50.5 → 0.50.6
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/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/routes-booking-create.d.ts +3 -0
- package/dist/routes-booking-create.d.ts.map +1 -0
- package/dist/{routes-bookings-quick-create.js → routes-booking-create.js} +21 -16
- package/dist/{service-bookings-quick-create.d.ts → service-booking-create.d.ts} +57 -15
- package/dist/service-booking-create.d.ts.map +1 -0
- package/dist/{service-bookings-quick-create.js → service-booking-create.js} +143 -18
- package/dist/service-bookings-dual-create.d.ts +29 -5
- package/dist/service-bookings-dual-create.d.ts.map +1 -1
- package/dist/service-bookings-dual-create.js +7 -7
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +1 -0
- package/package.json +7 -7
- package/dist/routes-bookings-quick-create.d.ts +0 -3
- package/dist/routes-bookings-quick-create.d.ts.map +0 -1
- package/dist/service-bookings-quick-create.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare const financeHonoModule: HonoModule;
|
|
|
22
22
|
export type { ComputedScheduleEntry, ComputeScheduleInput, DepositKind, DepositRule, PaymentPolicy, PaymentPolicyCascadeLayers, PaymentPolicySource, PaymentScheduleEntryType, ResolvedPaymentPolicy, } from "./payment-policy.js";
|
|
23
23
|
export { computePaymentSchedule, isPaymentPolicyEmpty, noDepositPolicy, policyShouldRequireFullPayment, resolveEffectivePaymentPolicy, } from "./payment-policy.js";
|
|
24
24
|
export { buildFinanceRouteRuntime, FINANCE_ROUTE_RUNTIME_CONTAINER_KEY, type FinanceRouteRuntime, type FinanceRuntimeOptions, } from "./route-runtime.js";
|
|
25
|
-
export {
|
|
25
|
+
export { bookingsCreateExtension } from "./routes-booking-create.js";
|
|
26
26
|
export { createFinanceAdminDocumentRoutes, type FinanceDocumentRouteOptions, type InvoiceDocumentGenerator, } from "./routes-documents.js";
|
|
27
27
|
export { createFinanceAdminSettlementRoutes, type FinanceSettlementRouteOptions, type InvoiceSettlementPoller, } from "./routes-settlement.js";
|
|
28
28
|
export type { BookingGuarantee, BookingItemCommission, BookingItemTaxLine, BookingPaymentSchedule, CreditNote, CreditNoteLineItem, FinanceNote, Invoice, InvoiceAttachment, InvoiceExternalRef, InvoiceLineItem, InvoiceNumberSeries, InvoiceRendition, InvoiceTemplate, NewBookingGuarantee, NewBookingItemCommission, NewBookingItemTaxLine, NewBookingPaymentSchedule, NewCreditNote, NewCreditNoteLineItem, NewFinanceNote, NewInvoice, NewInvoiceAttachment, NewInvoiceExternalRef, NewInvoiceLineItem, NewInvoiceNumberSeries, NewInvoiceRendition, NewInvoiceTemplate, NewPayment, NewPaymentAuthorization, NewPaymentCapture, NewPaymentInstrument, NewPaymentSession, NewSupplierPayment, NewTaxClass, NewTaxRegime, NewVoucher, NewVoucherRedemption, Payment, PaymentAuthorization, PaymentCapture, PaymentInstrument, PaymentSession, SupplierPayment, TaxClass, TaxRegime, Voucher, VoucherRedemption, } from "./schema.js";
|
|
@@ -30,10 +30,10 @@ export { bookingGuarantees, bookingItemCommissions, bookingItemTaxLines, booking
|
|
|
30
30
|
export type { BindInvoiceRenditionInput, BookingPaymentSchedulePaidEvent, CreateInvoiceFromBookingInput, InvoiceFromBookingData, InvoiceRenderedEvent, PaymentCompletedEvent, UnifiedPaymentRow, } from "./service.js";
|
|
31
31
|
export { financeService, renderInvoiceBody } from "./service.js";
|
|
32
32
|
export type { FinanceAggregateOutstandingInvoice, FinanceAggregates, } from "./service-aggregates.js";
|
|
33
|
+
export type { BookingCreatedEvent, BookingCreateInput, BookingCreateOutcome, BookingCreateResult, BookingCreateRuntime, BookingCreateTravelerInput, } from "./service-booking-create.js";
|
|
34
|
+
export { bookingCreateSchema, createBooking, } from "./service-booking-create.js";
|
|
33
35
|
export type { BookingDualCreatedEvent, DualCreateBookingInput, DualCreateBookingOutcome, DualCreateBookingResult, DualCreateBookingRuntime, } from "./service-bookings-dual-create.js";
|
|
34
36
|
export { dualCreateBooking, dualCreateBookingSchema, } from "./service-bookings-dual-create.js";
|
|
35
|
-
export type { BookingQuickCreatedEvent, BookingQuickCreateRuntime, QuickCreateBookingInput, QuickCreateBookingOutcome, QuickCreateBookingResult, QuickCreateTravelerInput, } from "./service-bookings-quick-create.js";
|
|
36
|
-
export { quickCreateBooking, quickCreateBookingSchema, } from "./service-bookings-quick-create.js";
|
|
37
37
|
export type { GeneratedInvoiceDocumentRecord, GeneratedInvoiceRenditionArtifact, InvoiceDocumentGeneratedEvent, InvoiceDocumentGeneratorContext, InvoiceDocumentRuntimeOptions, StorageBackedInvoiceDocumentGeneratorOptions, StorageBackedInvoiceDocumentSerializer, StorageBackedInvoiceDocumentUpload, } from "./service-documents.js";
|
|
38
38
|
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
39
39
|
export type { InvoiceIssuedEvent, InvoiceIssueRuntime } from "./service-issue.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;AAGvD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAA6B,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAG9F,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,KAAK,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE5F,eAAO,MAAM,eAAe,EAAE,kBAK7B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAA;AAED,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAG3B,CAAA;AAED,MAAM,WAAW,wBACf,SAAQ,qBAAqB,EAC3B,yBAAyB;CAAG;AAEhC,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,UAAU,CA0B1F;AAED,eAAO,MAAM,iBAAiB,EAAE,UAAsC,CAAA;AAEtE,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -62,13 +62,13 @@ export function createFinanceHonoModule(options = {}) {
|
|
|
62
62
|
export const financeHonoModule = createFinanceHonoModule();
|
|
63
63
|
export { computePaymentSchedule, isPaymentPolicyEmpty, noDepositPolicy, policyShouldRequireFullPayment, resolveEffectivePaymentPolicy, } from "./payment-policy.js";
|
|
64
64
|
export { buildFinanceRouteRuntime, FINANCE_ROUTE_RUNTIME_CONTAINER_KEY, } from "./route-runtime.js";
|
|
65
|
-
export {
|
|
65
|
+
export { bookingsCreateExtension } from "./routes-booking-create.js";
|
|
66
66
|
export { createFinanceAdminDocumentRoutes, } from "./routes-documents.js";
|
|
67
67
|
export { createFinanceAdminSettlementRoutes, } from "./routes-settlement.js";
|
|
68
68
|
export { bookingGuarantees, bookingItemCommissions, bookingItemTaxLines, bookingPaymentSchedules, creditNoteLineItems, creditNotes, financeNotes, invoiceAttachments, invoiceExternalRefs, invoiceLineItems, invoiceNumberSeries, invoiceRenditions, invoices, invoiceTemplates, paymentAuthorizations, paymentCaptures, paymentInstruments, paymentSessions, payments, supplierPayments, taxClasses, taxPolicyProfiles, taxPolicyRules, taxRegimes, voucherRedemptions, voucherSourceTypeEnum, voucherStatusEnum, vouchers, } from "./schema.js";
|
|
69
69
|
export { financeService, renderInvoiceBody } from "./service.js";
|
|
70
|
+
export { bookingCreateSchema, createBooking, } from "./service-booking-create.js";
|
|
70
71
|
export { dualCreateBooking, dualCreateBookingSchema, } from "./service-bookings-dual-create.js";
|
|
71
|
-
export { quickCreateBooking, quickCreateBookingSchema, } from "./service-bookings-quick-create.js";
|
|
72
72
|
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
73
73
|
export { issueInvoiceFromBooking, issueProformaFromBooking } from "./service-issue.js";
|
|
74
74
|
export { financeSettlementService } from "./service-settlement.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-booking-create.d.ts","sourceRoot":"","sources":["../src/routes-booking-create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAwH1D,eAAO,MAAM,uBAAuB,EAAE,aAQrC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { parseJsonBody } from "@voyantjs/hono";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
3
|
import { FINANCE_ROUTE_RUNTIME_CONTAINER_KEY } from "./route-runtime.js";
|
|
4
|
+
import { bookingCreateSchema, createBooking } from "./service-booking-create.js";
|
|
4
5
|
import { dualCreateBooking, dualCreateBookingSchema } from "./service-bookings-dual-create.js";
|
|
5
|
-
import { quickCreateBooking, quickCreateBookingSchema } from "./service-bookings-quick-create.js";
|
|
6
6
|
function resolveRuntime(container) {
|
|
7
7
|
try {
|
|
8
8
|
return container.resolve(FINANCE_ROUTE_RUNTIME_CONTAINER_KEY);
|
|
@@ -13,17 +13,22 @@ function resolveRuntime(container) {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Mounted under `/v1/admin/bookings/*` via the extension's `module` target, so
|
|
16
|
-
* the endpoint's public-facing path lands at `POST /v1/admin/bookings/
|
|
16
|
+
* the endpoint's public-facing path lands at `POST /v1/admin/bookings/create`
|
|
17
17
|
* even though the code lives in `@voyantjs/finance`. See the header comment in
|
|
18
|
-
* service-
|
|
18
|
+
* service-booking-create.ts for why finance owns this orchestration.
|
|
19
19
|
*/
|
|
20
|
-
const
|
|
21
|
-
.post("/
|
|
22
|
-
const input = await parseJsonBody(c,
|
|
20
|
+
const createBookingRoutes = new Hono()
|
|
21
|
+
.post("/create", async (c) => {
|
|
22
|
+
const input = await parseJsonBody(c, bookingCreateSchema);
|
|
23
23
|
const runtime = resolveRuntime(c.var.container);
|
|
24
|
-
const outcome = await
|
|
24
|
+
const outcome = await createBooking(c.get("db"), input, {
|
|
25
25
|
userId: c.get("userId"),
|
|
26
|
-
runtime: runtime
|
|
26
|
+
runtime: runtime
|
|
27
|
+
? {
|
|
28
|
+
eventBus: runtime.eventBus,
|
|
29
|
+
invoiceDocumentGenerator: runtime.invoiceDocumentGenerator,
|
|
30
|
+
}
|
|
31
|
+
: undefined,
|
|
27
32
|
});
|
|
28
33
|
switch (outcome.status) {
|
|
29
34
|
case "ok":
|
|
@@ -59,8 +64,8 @@ const quickCreateRoutes = new Hono()
|
|
|
59
64
|
if (outcome.status === "ok") {
|
|
60
65
|
return c.json({ data: outcome.result }, 201);
|
|
61
66
|
}
|
|
62
|
-
// Both failure branches carry a nested
|
|
63
|
-
// the same HTTP codes the single
|
|
67
|
+
// Both failure branches carry a nested create reason. Map them to
|
|
68
|
+
// the same HTTP codes the single create endpoint uses so callers
|
|
64
69
|
// can treat them uniformly, and surface which sub-booking tripped.
|
|
65
70
|
const which = outcome.status === "primary_failed" ? "primary" : "secondary";
|
|
66
71
|
const reason = outcome.reason;
|
|
@@ -88,16 +93,16 @@ const quickCreateRoutes = new Hono()
|
|
|
88
93
|
}, 409);
|
|
89
94
|
}
|
|
90
95
|
});
|
|
91
|
-
const
|
|
92
|
-
name: "bookings-
|
|
96
|
+
const bookingsCreateExtensionDef = {
|
|
97
|
+
name: "bookings-create",
|
|
93
98
|
module: "bookings",
|
|
94
99
|
};
|
|
95
|
-
export const
|
|
96
|
-
extension:
|
|
100
|
+
export const bookingsCreateExtension = {
|
|
101
|
+
extension: bookingsCreateExtensionDef,
|
|
97
102
|
// Mount on both surfaces to mirror bookings' own module routes. The legacy
|
|
98
103
|
// `/v1/bookings/...` path is what existing bookings-react hooks hit; the
|
|
99
104
|
// `/v1/admin/bookings/...` path is staff-guarded and the forward-looking
|
|
100
105
|
// convention. Both serve the same handler.
|
|
101
|
-
adminRoutes:
|
|
102
|
-
routes:
|
|
106
|
+
adminRoutes: createBookingRoutes,
|
|
107
|
+
routes: createBookingRoutes,
|
|
103
108
|
};
|
|
@@ -2,7 +2,8 @@ import type { Booking, BookingGroupMember, BookingTraveler } from "@voyantjs/boo
|
|
|
2
2
|
import type { EventBus } from "@voyantjs/core";
|
|
3
3
|
import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
import type { BookingPaymentSchedule, Voucher, VoucherRedemption } from "./schema.js";
|
|
5
|
+
import type { BookingPaymentSchedule, Invoice, Payment, Voucher, VoucherRedemption } from "./schema.js";
|
|
6
|
+
import { type InvoiceDocumentGenerator } from "./service-documents.js";
|
|
6
7
|
declare const travelerInputSchema: z.ZodObject<{
|
|
7
8
|
firstName: z.ZodString;
|
|
8
9
|
lastName: z.ZodString;
|
|
@@ -27,7 +28,7 @@ declare const travelerInputSchema: z.ZodObject<{
|
|
|
27
28
|
isPrimary: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
28
29
|
notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
29
30
|
}, z.core.$strip>;
|
|
30
|
-
export declare const
|
|
31
|
+
export declare const bookingCreateSchema: z.ZodObject<{
|
|
31
32
|
productId: z.ZodString;
|
|
32
33
|
optionId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
33
34
|
slotId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
@@ -63,6 +64,14 @@ export declare const quickCreateBookingSchema: z.ZodObject<{
|
|
|
63
64
|
isPrimary: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
64
65
|
notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
65
66
|
}, z.core.$strip>>>;
|
|
67
|
+
itemLines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
68
|
+
optionUnitId: z.ZodString;
|
|
69
|
+
quantity: z.ZodNumber;
|
|
70
|
+
title: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
71
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
72
|
+
unitSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
73
|
+
totalSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
74
|
+
}, z.core.$strip>>>;
|
|
66
75
|
paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
67
76
|
scheduleType: z.ZodDefault<z.ZodEnum<{
|
|
68
77
|
other: "other";
|
|
@@ -105,8 +114,12 @@ export declare const quickCreateBookingSchema: z.ZodObject<{
|
|
|
105
114
|
optionUnitId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
106
115
|
makeBookingPrimary: z.ZodDefault<z.ZodBoolean>;
|
|
107
116
|
}, z.core.$strip>], "action">>;
|
|
117
|
+
documentGeneration: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
118
|
+
contractDocument: z.ZodDefault<z.ZodBoolean>;
|
|
119
|
+
invoiceDocument: z.ZodDefault<z.ZodBoolean>;
|
|
120
|
+
}, z.core.$strip>>>;
|
|
108
121
|
}, z.core.$strip>;
|
|
109
|
-
export declare const
|
|
122
|
+
export declare const bookingCreateSubSchema: z.ZodObject<{
|
|
110
123
|
organizationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
111
124
|
bookingNumber: z.ZodString;
|
|
112
125
|
personId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
@@ -142,6 +155,14 @@ export declare const quickCreateBookingSubSchema: z.ZodObject<{
|
|
|
142
155
|
catalogSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
143
156
|
confirmedSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
144
157
|
priceOverrideReason: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
158
|
+
itemLines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
159
|
+
optionUnitId: z.ZodString;
|
|
160
|
+
quantity: z.ZodNumber;
|
|
161
|
+
title: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
162
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
163
|
+
unitSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
164
|
+
totalSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
165
|
+
}, z.core.$strip>>>;
|
|
145
166
|
paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
146
167
|
scheduleType: z.ZodDefault<z.ZodEnum<{
|
|
147
168
|
other: "other";
|
|
@@ -167,19 +188,25 @@ export declare const quickCreateBookingSubSchema: z.ZodObject<{
|
|
|
167
188
|
voucherId: z.ZodString;
|
|
168
189
|
amountCents: z.ZodNumber;
|
|
169
190
|
}, z.core.$strip>>;
|
|
191
|
+
documentGeneration: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
192
|
+
contractDocument: z.ZodDefault<z.ZodBoolean>;
|
|
193
|
+
invoiceDocument: z.ZodDefault<z.ZodBoolean>;
|
|
194
|
+
}, z.core.$strip>>>;
|
|
170
195
|
}, z.core.$strip>;
|
|
171
|
-
export type
|
|
172
|
-
export type
|
|
196
|
+
export type BookingCreateInput = z.infer<typeof bookingCreateSchema>;
|
|
197
|
+
export type BookingCreateTravelerInput = z.infer<typeof travelerInputSchema>;
|
|
173
198
|
/**
|
|
174
199
|
* Fire-and-forget post-commit events. The orchestrator only knows about
|
|
175
|
-
* `booking.
|
|
200
|
+
* `booking.created` — downstream confirm/cancel lifecycle events stay
|
|
176
201
|
* with the booking service itself (the booking lands in `draft` status so no
|
|
177
202
|
* `booking.confirmed` should fire here).
|
|
178
203
|
*/
|
|
179
|
-
export interface
|
|
204
|
+
export interface BookingCreateRuntime {
|
|
180
205
|
eventBus?: EventBus;
|
|
206
|
+
invoiceDocumentGenerator?: InvoiceDocumentGenerator;
|
|
207
|
+
bindings?: Record<string, unknown>;
|
|
181
208
|
}
|
|
182
|
-
export interface
|
|
209
|
+
export interface BookingCreatedEvent {
|
|
183
210
|
bookingId: string;
|
|
184
211
|
bookingNumber: string;
|
|
185
212
|
productId: string;
|
|
@@ -187,10 +214,14 @@ export interface BookingQuickCreatedEvent {
|
|
|
187
214
|
paymentScheduleCount: number;
|
|
188
215
|
voucherRedeemedCents: number | null;
|
|
189
216
|
groupId: string | null;
|
|
217
|
+
documentGeneration: {
|
|
218
|
+
contractDocument: boolean;
|
|
219
|
+
invoiceDocument: boolean;
|
|
220
|
+
};
|
|
190
221
|
createdByUserId: string | null;
|
|
191
222
|
occurredAt: Date;
|
|
192
223
|
}
|
|
193
|
-
export interface
|
|
224
|
+
export interface BookingCreateResult {
|
|
194
225
|
booking: Booking;
|
|
195
226
|
travelers: BookingTraveler[];
|
|
196
227
|
paymentSchedules: BookingPaymentSchedule[];
|
|
@@ -202,10 +233,21 @@ export interface QuickCreateBookingResult {
|
|
|
202
233
|
groupId: string;
|
|
203
234
|
member: BookingGroupMember;
|
|
204
235
|
} | null;
|
|
236
|
+
invoice: Invoice | null;
|
|
237
|
+
invoiceDocument: {
|
|
238
|
+
status: "requested";
|
|
239
|
+
renditionId: string | null;
|
|
240
|
+
} | {
|
|
241
|
+
status: "generated";
|
|
242
|
+
renditionId: string;
|
|
243
|
+
} | {
|
|
244
|
+
status: "not_requested" | "not_available" | "failed";
|
|
245
|
+
};
|
|
246
|
+
payments: Payment[];
|
|
205
247
|
}
|
|
206
|
-
export type
|
|
248
|
+
export type BookingCreateOutcome = {
|
|
207
249
|
status: "ok";
|
|
208
|
-
result:
|
|
250
|
+
result: BookingCreateResult;
|
|
209
251
|
} | {
|
|
210
252
|
status: "product_not_found";
|
|
211
253
|
} | {
|
|
@@ -224,9 +266,9 @@ export type QuickCreateBookingOutcome = {
|
|
|
224
266
|
status: "booking_already_in_group";
|
|
225
267
|
currentGroupId: string;
|
|
226
268
|
};
|
|
227
|
-
export declare function
|
|
269
|
+
export declare function createBooking(db: PostgresJsDatabase, rawInput: BookingCreateInput, options?: {
|
|
228
270
|
userId?: string;
|
|
229
|
-
runtime?:
|
|
230
|
-
}): Promise<
|
|
271
|
+
runtime?: BookingCreateRuntime;
|
|
272
|
+
}): Promise<BookingCreateOutcome>;
|
|
231
273
|
export {};
|
|
232
|
-
//# sourceMappingURL=service-
|
|
274
|
+
//# sourceMappingURL=service-booking-create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-booking-create.d.ts","sourceRoot":"","sources":["../src/service-booking-create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { bookingGroupsService, bookingsService } from "@voyantjs/bookings";
|
|
2
|
-
import { bookingTravelers } from "@voyantjs/bookings/schema";
|
|
2
|
+
import { bookingItems, bookingTravelers } from "@voyantjs/bookings/schema";
|
|
3
3
|
import { eq } from "drizzle-orm";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { bookingPaymentSchedules, vouchers } from "./schema.js";
|
|
6
|
+
import { financeService } from "./service.js";
|
|
7
|
+
import { financeDocumentsService } from "./service-documents.js";
|
|
6
8
|
import { VoucherServiceError, vouchersService } from "./service-vouchers.js";
|
|
7
|
-
import { paymentScheduleStatusSchema, paymentScheduleTypeSchema } from "./validation-shared.js";
|
|
9
|
+
import { paymentMethodSchema, paymentScheduleStatusSchema, paymentScheduleTypeSchema, } from "./validation-shared.js";
|
|
8
10
|
// ---------- validation ----------
|
|
9
11
|
const travelerInputSchema = z.object({
|
|
10
12
|
firstName: z.string().min(1).max(255),
|
|
@@ -35,6 +37,20 @@ const paymentScheduleInputSchema = z.object({
|
|
|
35
37
|
amountCents: z.number().int().min(0),
|
|
36
38
|
notes: z.string().optional().nullable(),
|
|
37
39
|
});
|
|
40
|
+
const documentGenerationInputSchema = z
|
|
41
|
+
.object({
|
|
42
|
+
contractDocument: z.boolean().default(false),
|
|
43
|
+
invoiceDocument: z.boolean().default(false),
|
|
44
|
+
})
|
|
45
|
+
.default({ contractDocument: false, invoiceDocument: false });
|
|
46
|
+
const itemLineInputSchema = z.object({
|
|
47
|
+
optionUnitId: z.string().min(1),
|
|
48
|
+
quantity: z.number().int().min(1),
|
|
49
|
+
title: z.string().min(1).max(255).optional().nullable(),
|
|
50
|
+
description: z.string().max(5000).optional().nullable(),
|
|
51
|
+
unitSellAmountCents: z.number().int().min(0).optional().nullable(),
|
|
52
|
+
totalSellAmountCents: z.number().int().min(0).optional().nullable(),
|
|
53
|
+
});
|
|
38
54
|
const voucherRedemptionInputSchema = z.object({
|
|
39
55
|
voucherId: z.string().min(1),
|
|
40
56
|
amountCents: z.number().int().min(1),
|
|
@@ -74,7 +90,7 @@ function requirePriceOverrideReason(value, ctx) {
|
|
|
74
90
|
message: "A price override reason is required when the confirmed total differs from catalog pricing",
|
|
75
91
|
});
|
|
76
92
|
}
|
|
77
|
-
const
|
|
93
|
+
const bookingCreateBaseSchema = z.object({
|
|
78
94
|
// Convert-product fields (mirrors convertProductSchema in bookings)
|
|
79
95
|
productId: z.string().min(1),
|
|
80
96
|
optionId: z.string().optional().nullable(),
|
|
@@ -95,12 +111,14 @@ const quickCreateBookingBaseSchema = z.object({
|
|
|
95
111
|
priceOverrideReason: z.string().trim().min(1).max(1000).optional().nullable(),
|
|
96
112
|
// Orchestration fields
|
|
97
113
|
travelers: z.array(travelerInputSchema).optional(),
|
|
114
|
+
itemLines: z.array(itemLineInputSchema).optional(),
|
|
98
115
|
paymentSchedules: z.array(paymentScheduleInputSchema).optional(),
|
|
99
116
|
voucherRedemption: voucherRedemptionInputSchema.optional(),
|
|
100
117
|
groupMembership: groupMembershipInputSchema.optional(),
|
|
118
|
+
documentGeneration: documentGenerationInputSchema.optional(),
|
|
101
119
|
});
|
|
102
|
-
export const
|
|
103
|
-
export const
|
|
120
|
+
export const bookingCreateSchema = bookingCreateBaseSchema.superRefine(requirePriceOverrideReason);
|
|
121
|
+
export const bookingCreateSubSchema = bookingCreateBaseSchema
|
|
104
122
|
.omit({ groupMembership: true })
|
|
105
123
|
.superRefine(requirePriceOverrideReason);
|
|
106
124
|
// ---------- service ----------
|
|
@@ -117,7 +135,7 @@ export const quickCreateBookingSubSchema = quickCreateBookingBaseSchema
|
|
|
117
135
|
* from `@voyantjs/bookings` (invoices-from-bookings, voucher service, payment
|
|
118
136
|
* schedules all sit here), so this is the one place that can compose the
|
|
119
137
|
* three packages without creating a new workspace dep cycle. The route wires
|
|
120
|
-
* it under `/v1/admin/bookings/
|
|
138
|
+
* it under `/v1/admin/bookings/create` via a HonoExtension whose
|
|
121
139
|
* `module` targets `"bookings"`.
|
|
122
140
|
*/
|
|
123
141
|
/**
|
|
@@ -126,20 +144,45 @@ export const quickCreateBookingSubSchema = quickCreateBookingBaseSchema
|
|
|
126
144
|
* error does — so the orchestrator uses this to unwind cleanly when a
|
|
127
145
|
* downstream step discovers a precondition failure.
|
|
128
146
|
*/
|
|
129
|
-
class
|
|
147
|
+
class BookingCreateAbort extends Error {
|
|
130
148
|
outcome;
|
|
131
149
|
constructor(outcome) {
|
|
132
|
-
super(`
|
|
150
|
+
super(`create aborted: ${outcome.status}`);
|
|
133
151
|
this.outcome = outcome;
|
|
134
|
-
this.name = "
|
|
152
|
+
this.name = "BookingCreateAbort";
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function parseAlreadyPaidScheduleMetadata(notes) {
|
|
156
|
+
if (!notes)
|
|
157
|
+
return null;
|
|
158
|
+
try {
|
|
159
|
+
const parsed = JSON.parse(notes);
|
|
160
|
+
return parsed && typeof parsed === "object" ? parsed : null;
|
|
135
161
|
}
|
|
162
|
+
catch {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function isAlreadyPaidSchedule(schedule) {
|
|
167
|
+
const metadata = parseAlreadyPaidScheduleMetadata(schedule.notes);
|
|
168
|
+
return schedule.status === "paid" || metadata?.alreadyPaid === true;
|
|
169
|
+
}
|
|
170
|
+
function generateInvoiceNumber(bookingNumber) {
|
|
171
|
+
return `INV-${bookingNumber}`.slice(0, 50);
|
|
136
172
|
}
|
|
137
|
-
|
|
173
|
+
function todayIsoDate() {
|
|
174
|
+
return new Date().toISOString().slice(0, 10);
|
|
175
|
+
}
|
|
176
|
+
export async function createBooking(db, rawInput, options = {}) {
|
|
138
177
|
const { userId, runtime } = options;
|
|
139
178
|
// Parse through the schema so defaults (makeBookingPrimary, role,
|
|
140
179
|
// participantType, etc.) are applied even when callers bypass validation —
|
|
141
180
|
// unit tests and hand-written integrations commonly do.
|
|
142
|
-
const input =
|
|
181
|
+
const input = bookingCreateSchema.parse(rawInput);
|
|
182
|
+
const documentGeneration = input.documentGeneration ?? {
|
|
183
|
+
contractDocument: false,
|
|
184
|
+
invoiceDocument: false,
|
|
185
|
+
};
|
|
143
186
|
// Validate voucher up-front so we can short-circuit before the tx starts.
|
|
144
187
|
// This is a cheap read — the authoritative balance check still happens
|
|
145
188
|
// inside the redeem savepoint so two concurrent redemptions can't double-
|
|
@@ -180,11 +223,12 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
180
223
|
catalogSellAmountCents: input.catalogSellAmountCents ?? null,
|
|
181
224
|
confirmedSellAmountCents: input.confirmedSellAmountCents ?? null,
|
|
182
225
|
priceOverrideReason: input.priceOverrideReason ?? null,
|
|
226
|
+
itemLines: input.itemLines,
|
|
183
227
|
});
|
|
184
228
|
if (!booking) {
|
|
185
229
|
// Caller gave us a product that doesn't resolve. Throw so drizzle
|
|
186
230
|
// rolls back any writes the convert helper may have made.
|
|
187
|
-
throw new
|
|
231
|
+
throw new BookingCreateAbort({ status: "product_not_found" });
|
|
188
232
|
}
|
|
189
233
|
// 2. Travelers. roomUnitId is accepted on the input but not persisted
|
|
190
234
|
// yet — see travelerInputSchema for the follow-up note.
|
|
@@ -261,7 +305,7 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
261
305
|
if (memberResult.status !== "ok") {
|
|
262
306
|
// Shouldn't happen — we just created both rows — but throw so
|
|
263
307
|
// the tx rolls back instead of leaving a half-created group.
|
|
264
|
-
throw new
|
|
308
|
+
throw new BookingCreateAbort({ status: "group_not_found" });
|
|
265
309
|
}
|
|
266
310
|
groupMembership = { groupId: group.id, member: memberResult.member };
|
|
267
311
|
}
|
|
@@ -271,16 +315,16 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
271
315
|
role: input.groupMembership.role,
|
|
272
316
|
});
|
|
273
317
|
if (memberResult.status === "group_not_found") {
|
|
274
|
-
throw new
|
|
318
|
+
throw new BookingCreateAbort({ status: "group_not_found" });
|
|
275
319
|
}
|
|
276
320
|
if (memberResult.status === "booking_not_found") {
|
|
277
321
|
// Same booking we just inserted. Pg transaction visibility should
|
|
278
322
|
// prevent this; surface as group_not_found for the caller — we
|
|
279
323
|
// can't tell them the booking we created doesn't exist.
|
|
280
|
-
throw new
|
|
324
|
+
throw new BookingCreateAbort({ status: "group_not_found" });
|
|
281
325
|
}
|
|
282
326
|
if (memberResult.status === "already_in_group") {
|
|
283
|
-
throw new
|
|
327
|
+
throw new BookingCreateAbort({
|
|
284
328
|
status: "booking_already_in_group",
|
|
285
329
|
currentGroupId: memberResult.currentGroupId,
|
|
286
330
|
});
|
|
@@ -297,11 +341,14 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
297
341
|
paymentSchedules,
|
|
298
342
|
voucherRedemption,
|
|
299
343
|
groupMembership,
|
|
344
|
+
invoice: null,
|
|
345
|
+
invoiceDocument: { status: "not_requested" },
|
|
346
|
+
payments: [],
|
|
300
347
|
};
|
|
301
348
|
});
|
|
302
349
|
}
|
|
303
350
|
catch (error) {
|
|
304
|
-
if (error instanceof
|
|
351
|
+
if (error instanceof BookingCreateAbort) {
|
|
305
352
|
return error.outcome;
|
|
306
353
|
}
|
|
307
354
|
if (error instanceof VoucherServiceError) {
|
|
@@ -318,6 +365,75 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
318
365
|
}
|
|
319
366
|
throw error;
|
|
320
367
|
}
|
|
368
|
+
const paidSchedules = (input.paymentSchedules ?? []).filter(isAlreadyPaidSchedule);
|
|
369
|
+
const shouldCreateInvoice = documentGeneration.invoiceDocument || paidSchedules.length > 0;
|
|
370
|
+
if (shouldCreateInvoice) {
|
|
371
|
+
const items = await db
|
|
372
|
+
.select()
|
|
373
|
+
.from(bookingItems)
|
|
374
|
+
.where(eq(bookingItems.bookingId, result.booking.id));
|
|
375
|
+
const issueDate = todayIsoDate();
|
|
376
|
+
const dueDate = input.paymentSchedules?.find((schedule) => schedule.dueDate)?.dueDate ??
|
|
377
|
+
result.booking.endDate ??
|
|
378
|
+
issueDate;
|
|
379
|
+
const invoice = await financeService.createInvoiceFromBooking(db, {
|
|
380
|
+
bookingId: result.booking.id,
|
|
381
|
+
invoiceNumber: generateInvoiceNumber(result.booking.bookingNumber),
|
|
382
|
+
issueDate,
|
|
383
|
+
dueDate,
|
|
384
|
+
invoiceType: "invoice",
|
|
385
|
+
notes: "Generated from booking create.",
|
|
386
|
+
}, { booking: result.booking, items });
|
|
387
|
+
result = {
|
|
388
|
+
...result,
|
|
389
|
+
invoice,
|
|
390
|
+
};
|
|
391
|
+
if (invoice) {
|
|
392
|
+
const payments = [];
|
|
393
|
+
for (const schedule of paidSchedules) {
|
|
394
|
+
const metadata = parseAlreadyPaidScheduleMetadata(schedule.notes);
|
|
395
|
+
const methodResult = paymentMethodSchema.safeParse(metadata?.paymentMethod ?? "bank_transfer");
|
|
396
|
+
const payment = await financeService.createPayment(db, invoice.id, {
|
|
397
|
+
amountCents: schedule.amountCents,
|
|
398
|
+
currency: schedule.currency,
|
|
399
|
+
paymentMethod: methodResult.success ? methodResult.data : "bank_transfer",
|
|
400
|
+
status: "completed",
|
|
401
|
+
referenceNumber: metadata?.paymentReference?.trim() || null,
|
|
402
|
+
paymentDate: metadata?.paymentDate || schedule.dueDate || issueDate,
|
|
403
|
+
notes: schedule.notes ?? null,
|
|
404
|
+
});
|
|
405
|
+
if (payment)
|
|
406
|
+
payments.push(payment);
|
|
407
|
+
}
|
|
408
|
+
let invoiceDocument = { status: "not_requested" };
|
|
409
|
+
if (documentGeneration.invoiceDocument) {
|
|
410
|
+
if (runtime?.invoiceDocumentGenerator) {
|
|
411
|
+
const generated = await financeDocumentsService.generateInvoiceDocument(db, invoice.id, { format: "pdf", replaceExisting: true }, {
|
|
412
|
+
generator: runtime.invoiceDocumentGenerator,
|
|
413
|
+
eventBus: runtime.eventBus,
|
|
414
|
+
bindings: runtime.bindings,
|
|
415
|
+
});
|
|
416
|
+
invoiceDocument =
|
|
417
|
+
generated.status === "generated"
|
|
418
|
+
? { status: "generated", renditionId: generated.rendition.id }
|
|
419
|
+
: { status: "failed" };
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
const requested = await financeService.renderInvoice(db, invoice.id, { format: "pdf" });
|
|
423
|
+
invoiceDocument =
|
|
424
|
+
requested.status === "requested"
|
|
425
|
+
? { status: "requested", renditionId: requested.rendition?.id ?? null }
|
|
426
|
+
: { status: "failed" };
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
result = {
|
|
430
|
+
...result,
|
|
431
|
+
invoice: await financeService.getInvoiceById(db, invoice.id),
|
|
432
|
+
invoiceDocument,
|
|
433
|
+
payments,
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
}
|
|
321
437
|
// Post-commit event emission. Fire-and-forget (the eventBus contract
|
|
322
438
|
// handles subscriber errors); callers that need strict delivery can
|
|
323
439
|
// re-emit from their own subscriber chain.
|
|
@@ -332,10 +448,19 @@ export async function quickCreateBooking(db, rawInput, options = {}) {
|
|
|
332
448
|
? result.voucherRedemption.redemption.amountCents
|
|
333
449
|
: null,
|
|
334
450
|
groupId: result.groupMembership?.groupId ?? null,
|
|
451
|
+
documentGeneration,
|
|
335
452
|
createdByUserId: userId ?? null,
|
|
336
453
|
occurredAt: new Date(),
|
|
337
454
|
};
|
|
338
|
-
await runtime.eventBus.emit("booking.
|
|
455
|
+
await runtime.eventBus.emit("booking.created", event);
|
|
456
|
+
if (documentGeneration.contractDocument) {
|
|
457
|
+
await runtime.eventBus.emit("booking.contract_document.requested", {
|
|
458
|
+
bookingId: result.booking.id,
|
|
459
|
+
bookingNumber: result.booking.bookingNumber,
|
|
460
|
+
createdByUserId: userId ?? null,
|
|
461
|
+
occurredAt: new Date(),
|
|
462
|
+
});
|
|
463
|
+
}
|
|
339
464
|
}
|
|
340
465
|
return { status: "ok", result };
|
|
341
466
|
}
|
|
@@ -2,7 +2,7 @@ import type { BookingGroup, BookingGroupMember } from "@voyantjs/bookings/schema
|
|
|
2
2
|
import type { EventBus } from "@voyantjs/core";
|
|
3
3
|
import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
import { type
|
|
5
|
+
import { type BookingCreateOutcome, type BookingCreateResult } from "./service-booking-create.js";
|
|
6
6
|
export declare const dualCreateBookingSchema: z.ZodObject<{
|
|
7
7
|
primary: z.ZodObject<{
|
|
8
8
|
organizationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
@@ -40,6 +40,14 @@ export declare const dualCreateBookingSchema: z.ZodObject<{
|
|
|
40
40
|
catalogSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
41
41
|
confirmedSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
42
42
|
priceOverrideReason: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
43
|
+
itemLines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
44
|
+
optionUnitId: z.ZodString;
|
|
45
|
+
quantity: z.ZodNumber;
|
|
46
|
+
title: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
47
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
48
|
+
unitSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
49
|
+
totalSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
50
|
+
}, z.core.$strip>>>;
|
|
43
51
|
paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
44
52
|
scheduleType: z.ZodDefault<z.ZodEnum<{
|
|
45
53
|
other: "other";
|
|
@@ -65,6 +73,10 @@ export declare const dualCreateBookingSchema: z.ZodObject<{
|
|
|
65
73
|
voucherId: z.ZodString;
|
|
66
74
|
amountCents: z.ZodNumber;
|
|
67
75
|
}, z.core.$strip>>;
|
|
76
|
+
documentGeneration: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
77
|
+
contractDocument: z.ZodDefault<z.ZodBoolean>;
|
|
78
|
+
invoiceDocument: z.ZodDefault<z.ZodBoolean>;
|
|
79
|
+
}, z.core.$strip>>>;
|
|
68
80
|
}, z.core.$strip>;
|
|
69
81
|
secondary: z.ZodObject<{
|
|
70
82
|
organizationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
@@ -102,6 +114,14 @@ export declare const dualCreateBookingSchema: z.ZodObject<{
|
|
|
102
114
|
catalogSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
103
115
|
confirmedSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
104
116
|
priceOverrideReason: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
117
|
+
itemLines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
118
|
+
optionUnitId: z.ZodString;
|
|
119
|
+
quantity: z.ZodNumber;
|
|
120
|
+
title: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
121
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
122
|
+
unitSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
123
|
+
totalSellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
124
|
+
}, z.core.$strip>>>;
|
|
105
125
|
paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
106
126
|
scheduleType: z.ZodDefault<z.ZodEnum<{
|
|
107
127
|
other: "other";
|
|
@@ -127,6 +147,10 @@ export declare const dualCreateBookingSchema: z.ZodObject<{
|
|
|
127
147
|
voucherId: z.ZodString;
|
|
128
148
|
amountCents: z.ZodNumber;
|
|
129
149
|
}, z.core.$strip>>;
|
|
150
|
+
documentGeneration: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
151
|
+
contractDocument: z.ZodDefault<z.ZodBoolean>;
|
|
152
|
+
invoiceDocument: z.ZodDefault<z.ZodBoolean>;
|
|
153
|
+
}, z.core.$strip>>>;
|
|
130
154
|
}, z.core.$strip>;
|
|
131
155
|
group: z.ZodDefault<z.ZodObject<{
|
|
132
156
|
kind: z.ZodDefault<z.ZodEnum<{
|
|
@@ -150,8 +174,8 @@ export interface BookingDualCreatedEvent {
|
|
|
150
174
|
occurredAt: Date;
|
|
151
175
|
}
|
|
152
176
|
export interface DualCreateBookingResult {
|
|
153
|
-
primary:
|
|
154
|
-
secondary:
|
|
177
|
+
primary: BookingCreateResult;
|
|
178
|
+
secondary: BookingCreateResult;
|
|
155
179
|
group: BookingGroup;
|
|
156
180
|
primaryMember: BookingGroupMember;
|
|
157
181
|
secondaryMember: BookingGroupMember;
|
|
@@ -161,7 +185,7 @@ export type DualCreateBookingOutcome = {
|
|
|
161
185
|
result: DualCreateBookingResult;
|
|
162
186
|
} | {
|
|
163
187
|
status: "primary_failed" | "secondary_failed";
|
|
164
|
-
reason: Exclude<
|
|
188
|
+
reason: Exclude<BookingCreateOutcome, {
|
|
165
189
|
status: "ok";
|
|
166
190
|
}>;
|
|
167
191
|
};
|
|
@@ -174,7 +198,7 @@ export type DualCreateBookingOutcome = {
|
|
|
174
198
|
*
|
|
175
199
|
* Transaction shape:
|
|
176
200
|
* - Outer tx opens via `db.transaction`.
|
|
177
|
-
* - Inner: two savepoint-scoped `
|
|
201
|
+
* - Inner: two savepoint-scoped `createBooking(tx, ...)` calls — the
|
|
178
202
|
* nested transactions drizzle opens use SAVEPOINTs, so partial failures
|
|
179
203
|
* surface up to this layer as non-ok outcomes.
|
|
180
204
|
* - If either fails, the outer tx throws `DualCreateAbort` so the whole
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-bookings-dual-create.d.ts","sourceRoot":"","sources":["../src/service-bookings-dual-create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"service-bookings-dual-create.d.ts","sourceRoot":"","sources":["../src/service-bookings-dual-create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAGzB,MAAM,6BAA6B,CAAA;AAkBpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,EAAE,IAAI,CAAA;CACjB;AAID,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,aAAa,EAAE,kBAAkB,CAAA;IACjC,eAAe,EAAE,kBAAkB,CAAA;CACpC;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GACjD;IACE,MAAM,EAAE,gBAAgB,GAAG,kBAAkB,CAAA;IAC7C,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;CACxD,CAAA;AAqBL;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,EAAE,sBAAsB,EAChC,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,wBAAwB,CAAA;CAC9B,GACL,OAAO,CAAC,wBAAwB,CAAC,CAkFnC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { bookingGroupsService } from "@voyantjs/bookings";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import {
|
|
3
|
+
import { bookingCreateSubSchema, createBooking, } from "./service-booking-create.js";
|
|
4
4
|
// ---------- validation ----------
|
|
5
5
|
/**
|
|
6
|
-
* Sub-booking input. Takes the full
|
|
6
|
+
* Sub-booking input. Takes the full create payload minus `group
|
|
7
7
|
* Membership` — dual-create owns the group lifecycle (one new group, both
|
|
8
8
|
* bookings linked as members) so accepting a nested group override would
|
|
9
9
|
* just be an opportunity for the caller to desync.
|
|
10
10
|
*/
|
|
11
|
-
const dualSubBookingSchema =
|
|
11
|
+
const dualSubBookingSchema = bookingCreateSubSchema;
|
|
12
12
|
const dualCreateGroupSchema = z.object({
|
|
13
13
|
kind: z.enum(["shared_room", "other"]).default("shared_room"),
|
|
14
14
|
label: z.string().max(255).optional().nullable(),
|
|
@@ -21,7 +21,7 @@ export const dualCreateBookingSchema = z.object({
|
|
|
21
21
|
});
|
|
22
22
|
/**
|
|
23
23
|
* Thrown inside the outer tx to force drizzle to roll back both bookings +
|
|
24
|
-
* the group when one of the inner
|
|
24
|
+
* the group when one of the inner create calls returns non-ok.
|
|
25
25
|
* Drizzle doesn't abort on a non-throwing tx callback, so we convert the
|
|
26
26
|
* discriminated outcome into a throw here.
|
|
27
27
|
*/
|
|
@@ -45,7 +45,7 @@ class DualCreateAbort extends Error {
|
|
|
45
45
|
*
|
|
46
46
|
* Transaction shape:
|
|
47
47
|
* - Outer tx opens via `db.transaction`.
|
|
48
|
-
* - Inner: two savepoint-scoped `
|
|
48
|
+
* - Inner: two savepoint-scoped `createBooking(tx, ...)` calls — the
|
|
49
49
|
* nested transactions drizzle opens use SAVEPOINTs, so partial failures
|
|
50
50
|
* surface up to this layer as non-ok outcomes.
|
|
51
51
|
* - If either fails, the outer tx throws `DualCreateAbort` so the whole
|
|
@@ -61,11 +61,11 @@ export async function dualCreateBooking(db, rawInput, options = {}) {
|
|
|
61
61
|
let result;
|
|
62
62
|
try {
|
|
63
63
|
result = await db.transaction(async (tx) => {
|
|
64
|
-
const primaryOutcome = await
|
|
64
|
+
const primaryOutcome = await createBooking(tx, input.primary, { userId });
|
|
65
65
|
if (primaryOutcome.status !== "ok") {
|
|
66
66
|
throw new DualCreateAbort({ status: "primary_failed", reason: primaryOutcome });
|
|
67
67
|
}
|
|
68
|
-
const secondaryOutcome = await
|
|
68
|
+
const secondaryOutcome = await createBooking(tx, input.secondary, { userId });
|
|
69
69
|
if (secondaryOutcome.status !== "ok") {
|
|
70
70
|
throw new DualCreateAbort({ status: "secondary_failed", reason: secondaryOutcome });
|
|
71
71
|
}
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -1460,6 +1460,7 @@ export const financeService = {
|
|
|
1460
1460
|
.insert(invoices)
|
|
1461
1461
|
.values({
|
|
1462
1462
|
invoiceNumber: data.invoiceNumber,
|
|
1463
|
+
invoiceType: data.invoiceType,
|
|
1463
1464
|
bookingId: booking.id,
|
|
1464
1465
|
personId: booking.personId,
|
|
1465
1466
|
organizationId: booking.organizationId,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/finance",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.6",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"drizzle-orm": "^0.45.2",
|
|
40
40
|
"hono": "^4.12.10",
|
|
41
41
|
"zod": "^4.3.6",
|
|
42
|
-
"@voyantjs/bookings": "0.50.
|
|
43
|
-
"@voyantjs/core": "0.50.
|
|
44
|
-
"@voyantjs/db": "0.50.
|
|
45
|
-
"@voyantjs/hono": "0.50.
|
|
46
|
-
"@voyantjs/utils": "0.50.
|
|
47
|
-
"@voyantjs/storage": "0.50.
|
|
42
|
+
"@voyantjs/bookings": "0.50.6",
|
|
43
|
+
"@voyantjs/core": "0.50.6",
|
|
44
|
+
"@voyantjs/db": "0.50.6",
|
|
45
|
+
"@voyantjs/hono": "0.50.6",
|
|
46
|
+
"@voyantjs/utils": "0.50.6",
|
|
47
|
+
"@voyantjs/storage": "0.50.6"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"typescript": "^6.0.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes-bookings-quick-create.d.ts","sourceRoot":"","sources":["../src/routes-bookings-quick-create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAmH1D,eAAO,MAAM,4BAA4B,EAAE,aAQ1C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-bookings-quick-create.d.ts","sourceRoot":"","sources":["../src/service-bookings-quick-create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOrF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAoBvB,CAAA;AAwFF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEpC,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEE,CAAA;AAE1C,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAC9E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAI1E;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,EAAE,IAAI,CAAA;CACjB;AAID,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,gBAAgB,EAAE,sBAAsB,EAAE,CAAA;IAC1C,iBAAiB,EAAE;QACjB,OAAO,EAAE,OAAO,CAAA;QAChB,UAAU,EAAE,iBAAiB,CAAA;KAC9B,GAAG,IAAI,CAAA;IACR,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,kBAAkB,CAAA;KAC3B,GAAG,IAAI,CAAA;CACT;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAC/B;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAC/B;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC9B;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAC7B;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAC7B;IAAE,MAAM,EAAE,0BAA0B,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAiClE,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,EAAE,uBAAuB,EACjC,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,yBAAyB,CAAA;CAC/B,GACL,OAAO,CAAC,yBAAyB,CAAC,CAmNpC"}
|