@voyantjs/legal 0.81.21 → 0.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/service-auto-generate.d.ts +5 -0
- package/dist/contracts/service-auto-generate.d.ts.map +1 -1
- package/dist/contracts/service-auto-generate.js +71 -5
- package/dist/contracts/template-authoring.d.ts.map +1 -1
- package/dist/contracts/template-authoring.js +42 -4
- package/dist/policies/routes.d.ts +6 -6
- package/dist/policies/schema.d.ts +1 -1
- package/dist/policies/service-core.d.ts +6 -6
- package/dist/policies/service.d.ts +6 -6
- package/dist/policies/validation.d.ts +5 -5
- package/package.json +10 -9
|
@@ -265,6 +265,11 @@ export interface DefaultContractVariables {
|
|
|
265
265
|
/** Alias for `capturedAt`, exposed for templates that prefer the
|
|
266
266
|
* `created_at` naming. */
|
|
267
267
|
createdAt: string;
|
|
268
|
+
latestCompleted?: {
|
|
269
|
+
method: string;
|
|
270
|
+
methodLabel: string;
|
|
271
|
+
date: string;
|
|
272
|
+
};
|
|
268
273
|
};
|
|
269
274
|
operator: OperatorContextVariables;
|
|
270
275
|
acceptance: AcceptanceContextVariables;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-auto-generate.d.ts","sourceRoot":"","sources":["../../src/contracts/service-auto-generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"service-auto-generate.d.ts","sourceRoot":"","sources":["../../src/contracts/service-auto-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { bookingsService } from "@voyantjs/bookings";
|
|
2
|
+
import { invoices, payments } from "@voyantjs/finance/schema";
|
|
3
|
+
import { and, desc, eq, ne } from "drizzle-orm";
|
|
2
4
|
import { contractRecordsService } from "./service-contracts.js";
|
|
3
5
|
import { contractDocumentsService } from "./service-documents.js";
|
|
4
6
|
import { ContractSeriesAmbiguousError, contractSeriesService } from "./service-series.js";
|
|
@@ -148,6 +150,7 @@ export async function autoGenerateContractForBooking(db, event, options, runtime
|
|
|
148
150
|
const startDate = booking.startDate ?? "";
|
|
149
151
|
const endDate = booking.endDate ?? "";
|
|
150
152
|
const durationNights = computeNights(startDate, endDate);
|
|
153
|
+
const settlement = await resolveBookingSettlementVariables(db, booking.id, sellCurrency);
|
|
151
154
|
const mappedTravelers = travelers.map((t, i) => {
|
|
152
155
|
const fullName = [t.firstName, t.lastName].filter(Boolean).join(" ").trim();
|
|
153
156
|
return {
|
|
@@ -233,8 +236,8 @@ export async function autoGenerateContractForBooking(db, event, options, runtime
|
|
|
233
236
|
subtotalAmountCents: booking.sellAmountCents ?? 0,
|
|
234
237
|
taxAmountCents: 0,
|
|
235
238
|
discountAmountCents: 0,
|
|
236
|
-
paidAmountCents:
|
|
237
|
-
balanceDueCents: totalCents,
|
|
239
|
+
paidAmountCents: settlement.paidAmountCents,
|
|
240
|
+
balanceDueCents: settlement.balanceDueCents ?? totalCents,
|
|
238
241
|
depositAmountCents: 0,
|
|
239
242
|
depositDueDate: "",
|
|
240
243
|
balanceAmountCents: 0,
|
|
@@ -335,12 +338,13 @@ export async function autoGenerateContractForBooking(db, event, options, runtime
|
|
|
335
338
|
},
|
|
336
339
|
payment: {
|
|
337
340
|
intent: "",
|
|
338
|
-
method: "",
|
|
341
|
+
method: settlement.latestCompleted?.methodLabel ?? "",
|
|
339
342
|
amountCents: totalCents,
|
|
340
343
|
currency: sellCurrency,
|
|
341
344
|
schedule: [],
|
|
342
|
-
capturedAt: "",
|
|
343
|
-
createdAt: "",
|
|
345
|
+
capturedAt: settlement.latestCompleted?.date ?? "",
|
|
346
|
+
createdAt: settlement.latestCompleted?.date ?? "",
|
|
347
|
+
latestCompleted: settlement.latestCompleted,
|
|
344
348
|
},
|
|
345
349
|
operator: {
|
|
346
350
|
name: "",
|
|
@@ -474,6 +478,68 @@ export async function autoGenerateContractForBooking(db, event, options, runtime
|
|
|
474
478
|
function defaultVariablesToRecord(defaults) {
|
|
475
479
|
return { ...defaults };
|
|
476
480
|
}
|
|
481
|
+
async function resolveBookingSettlementVariables(db, bookingId, bookingCurrency) {
|
|
482
|
+
const invoiceRows = await db
|
|
483
|
+
.select({
|
|
484
|
+
currency: invoices.currency,
|
|
485
|
+
baseCurrency: invoices.baseCurrency,
|
|
486
|
+
balanceDueCents: invoices.balanceDueCents,
|
|
487
|
+
baseBalanceDueCents: invoices.baseBalanceDueCents,
|
|
488
|
+
})
|
|
489
|
+
.from(invoices)
|
|
490
|
+
.where(and(eq(invoices.bookingId, bookingId), ne(invoices.status, "void")));
|
|
491
|
+
const currency = bookingCurrency || invoiceRows[0]?.currency || "";
|
|
492
|
+
const completedPaymentRows = await db
|
|
493
|
+
.select({
|
|
494
|
+
amountCents: payments.amountCents,
|
|
495
|
+
currency: payments.currency,
|
|
496
|
+
baseCurrency: payments.baseCurrency,
|
|
497
|
+
baseAmountCents: payments.baseAmountCents,
|
|
498
|
+
paymentMethod: payments.paymentMethod,
|
|
499
|
+
paymentDate: payments.paymentDate,
|
|
500
|
+
})
|
|
501
|
+
.from(payments)
|
|
502
|
+
.innerJoin(invoices, eq(payments.invoiceId, invoices.id))
|
|
503
|
+
.where(and(eq(invoices.bookingId, bookingId), ne(invoices.status, "void"), eq(payments.status, "completed")))
|
|
504
|
+
.orderBy(desc(payments.paymentDate), desc(payments.createdAt));
|
|
505
|
+
const paidAmountCents = completedPaymentRows.reduce((sum, payment) => sum + amountInCurrency(payment, currency), 0);
|
|
506
|
+
const balanceDueCents = invoiceRows.length > 0
|
|
507
|
+
? invoiceRows.reduce((sum, invoice) => sum + invoiceBalanceInCurrency(invoice, currency), 0)
|
|
508
|
+
: null;
|
|
509
|
+
const latestPayment = completedPaymentRows[0];
|
|
510
|
+
return {
|
|
511
|
+
paidAmountCents,
|
|
512
|
+
balanceDueCents,
|
|
513
|
+
latestCompleted: latestPayment
|
|
514
|
+
? {
|
|
515
|
+
method: latestPayment.paymentMethod,
|
|
516
|
+
methodLabel: formatPaymentMethodLabel(latestPayment.paymentMethod),
|
|
517
|
+
date: latestPayment.paymentDate,
|
|
518
|
+
}
|
|
519
|
+
: undefined,
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
function amountInCurrency(payment, currency) {
|
|
523
|
+
if (!currency || payment.currency === currency)
|
|
524
|
+
return payment.amountCents;
|
|
525
|
+
if (payment.baseCurrency === currency)
|
|
526
|
+
return payment.baseAmountCents ?? 0;
|
|
527
|
+
return 0;
|
|
528
|
+
}
|
|
529
|
+
function invoiceBalanceInCurrency(invoice, currency) {
|
|
530
|
+
if (!currency || invoice.currency === currency)
|
|
531
|
+
return invoice.balanceDueCents;
|
|
532
|
+
if (invoice.baseCurrency === currency)
|
|
533
|
+
return invoice.baseBalanceDueCents ?? 0;
|
|
534
|
+
return 0;
|
|
535
|
+
}
|
|
536
|
+
function formatPaymentMethodLabel(method) {
|
|
537
|
+
return method
|
|
538
|
+
.split("_")
|
|
539
|
+
.filter(Boolean)
|
|
540
|
+
.map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`)
|
|
541
|
+
.join(" ");
|
|
542
|
+
}
|
|
477
543
|
function computeNights(startDate, endDate) {
|
|
478
544
|
if (!startDate || !endDate)
|
|
479
545
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-authoring.d.ts","sourceRoot":"","sources":["../../src/contracts/template-authoring.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GACpC,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,UAAU,GACV,SAAS,GACT,OAAO,GACP,OAAO,GACP,KAAK,GACL,MAAM,CAAA;AAEV,MAAM,WAAW,kCAAkC;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,4BAA4B,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,kCAAkC,EAAE,CAAA;CAChD;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,gCAAgC,
|
|
1
|
+
{"version":3,"file":"template-authoring.d.ts","sourceRoot":"","sources":["../../src/contracts/template-authoring.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GACpC,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,UAAU,GACV,SAAS,GACT,OAAO,GACP,OAAO,GACP,KAAK,GACL,MAAM,CAAA;AAEV,MAAM,WAAW,kCAAkC;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,4BAA4B,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,kCAAkC,EAAE,CAAA;CAChD;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,gCAAgC,EAyqB7E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,6BAA6B,EAuIzE,CAAA"}
|
|
@@ -175,14 +175,16 @@ export const contractTemplateVariableCatalog = [
|
|
|
175
175
|
{
|
|
176
176
|
key: "booking.paidAmountCents",
|
|
177
177
|
label: "Paid so far",
|
|
178
|
-
example: "
|
|
178
|
+
example: "50000",
|
|
179
179
|
type: "cents",
|
|
180
|
+
description: "Customer settlement total from completed payments.",
|
|
180
181
|
},
|
|
181
182
|
{
|
|
182
183
|
key: "booking.balanceDueCents",
|
|
183
184
|
label: "Balance due",
|
|
184
|
-
example: "
|
|
185
|
+
example: "199900",
|
|
185
186
|
type: "cents",
|
|
187
|
+
description: "Current customer balance from non-void invoice balances.",
|
|
186
188
|
},
|
|
187
189
|
// Payment-schedule-derived (deposit / balance from
|
|
188
190
|
// booking_payment_schedules)
|
|
@@ -524,7 +526,13 @@ export const contractTemplateVariableCatalog = [
|
|
|
524
526
|
type: "string",
|
|
525
527
|
description: "card | bank_transfer | hold | inquiry | ticket_on_credit",
|
|
526
528
|
},
|
|
527
|
-
{
|
|
529
|
+
{
|
|
530
|
+
key: "payment.method",
|
|
531
|
+
label: "Method label",
|
|
532
|
+
example: "Bank Transfer",
|
|
533
|
+
type: "string",
|
|
534
|
+
description: "Alias for `payment.latestCompleted.methodLabel` when a payment exists.",
|
|
535
|
+
},
|
|
528
536
|
{
|
|
529
537
|
key: "payment.amountCents",
|
|
530
538
|
label: "Amount",
|
|
@@ -537,6 +545,7 @@ export const contractTemplateVariableCatalog = [
|
|
|
537
545
|
label: "Captured at",
|
|
538
546
|
example: "2026-05-04T10:05:12Z",
|
|
539
547
|
type: "datetime",
|
|
548
|
+
description: "Alias for `payment.latestCompleted.date` when a payment exists.",
|
|
540
549
|
},
|
|
541
550
|
{
|
|
542
551
|
key: "payment.createdAt",
|
|
@@ -545,6 +554,24 @@ export const contractTemplateVariableCatalog = [
|
|
|
545
554
|
type: "datetime",
|
|
546
555
|
description: "Alias for `payment.capturedAt`.",
|
|
547
556
|
},
|
|
557
|
+
{
|
|
558
|
+
key: "payment.latestCompleted.method",
|
|
559
|
+
label: "Latest payment method",
|
|
560
|
+
example: "bank_transfer",
|
|
561
|
+
type: "string",
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
key: "payment.latestCompleted.methodLabel",
|
|
565
|
+
label: "Latest payment method label",
|
|
566
|
+
example: "Bank Transfer",
|
|
567
|
+
type: "string",
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
key: "payment.latestCompleted.date",
|
|
571
|
+
label: "Latest payment date",
|
|
572
|
+
example: "2026-05-04",
|
|
573
|
+
type: "date",
|
|
574
|
+
},
|
|
548
575
|
],
|
|
549
576
|
},
|
|
550
577
|
{
|
|
@@ -749,11 +776,22 @@ No lead traveler on file.
|
|
|
749
776
|
{% endfor %}
|
|
750
777
|
</tbody>
|
|
751
778
|
</table>`,
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
id: "settlement-summary",
|
|
782
|
+
label: "Settlement summary",
|
|
783
|
+
description: "Render customer-paid and remaining amounts from actual settlement state.",
|
|
784
|
+
code: `{% if booking.paidAmountCents > 0 %}
|
|
785
|
+
Achitat: {{ booking.paidAmountCents | cents: booking.currency, "ro-RO" }}{% if payment.latestCompleted %} prin {{ payment.latestCompleted.methodLabel }} în data de {{ payment.latestCompleted.date | format_date: "long", "ro-RO" }}{% endif %}.
|
|
786
|
+
{% endif %}
|
|
787
|
+
{% if booking.balanceDueCents > 0 %}
|
|
788
|
+
Diferență de plată: {{ booking.balanceDueCents | cents: booking.currency, "ro-RO" }}.
|
|
789
|
+
{% endif %}`,
|
|
752
790
|
},
|
|
753
791
|
{
|
|
754
792
|
id: "deposit-balance",
|
|
755
793
|
label: "Deposit + balance line",
|
|
756
|
-
description: "Render the
|
|
794
|
+
description: "Render the scheduled advance + remainder policy. Use the settlement snippet for current paid/remaining state.",
|
|
757
795
|
code: `{% if booking.depositAmountCents > 0 %}
|
|
758
796
|
Avansul este: {{ booking.depositAmountCents | cents: booking.currency, "ro-RO" }}, achitat cu {{ payment.method }} în data de {{ payment.capturedAt | format_date: "long", "ro-RO" }}.
|
|
759
797
|
Diferență plată {{ booking.balanceAmountCents | cents: booking.currency, "ro-RO" }} până la data de {{ booking.balanceDueDate | format_date: "long", "ro-RO" }}.
|
|
@@ -12,7 +12,7 @@ export declare const policiesAdminRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
12
12
|
output: {
|
|
13
13
|
data: {
|
|
14
14
|
id: string;
|
|
15
|
-
kind: "other" | "
|
|
15
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
16
16
|
name: string;
|
|
17
17
|
slug: string;
|
|
18
18
|
description: string | null;
|
|
@@ -43,7 +43,7 @@ export declare const policiesAdminRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
43
43
|
createdAt: string;
|
|
44
44
|
updatedAt: string;
|
|
45
45
|
slug: string;
|
|
46
|
-
kind: "other" | "
|
|
46
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
47
47
|
language: string;
|
|
48
48
|
currentVersionId: string | null;
|
|
49
49
|
} | null;
|
|
@@ -67,7 +67,7 @@ export declare const policiesAdminRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
67
67
|
data: {
|
|
68
68
|
policy: {
|
|
69
69
|
id: string;
|
|
70
|
-
kind: "other" | "
|
|
70
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
71
71
|
name: string;
|
|
72
72
|
slug: string;
|
|
73
73
|
description: string | null;
|
|
@@ -702,7 +702,7 @@ export declare const policiesAdminRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
702
702
|
output: {
|
|
703
703
|
data: {
|
|
704
704
|
id: string;
|
|
705
|
-
kind: "other" | "
|
|
705
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
706
706
|
name: string;
|
|
707
707
|
slug: string;
|
|
708
708
|
description: string | null;
|
|
@@ -739,7 +739,7 @@ export declare const policiesAdminRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
739
739
|
output: {
|
|
740
740
|
data: {
|
|
741
741
|
id: string;
|
|
742
|
-
kind: "other" | "
|
|
742
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
743
743
|
name: string;
|
|
744
744
|
slug: string;
|
|
745
745
|
description: string | null;
|
|
@@ -843,7 +843,7 @@ export declare const policiesPublicRoutes: import("hono/hono-base").HonoBase<Env
|
|
|
843
843
|
data: {
|
|
844
844
|
policy: {
|
|
845
845
|
id: string;
|
|
846
|
-
kind: "other" | "
|
|
846
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
847
847
|
name: string;
|
|
848
848
|
slug: string;
|
|
849
849
|
description: string | null;
|
|
@@ -30,7 +30,7 @@ export declare const policies: import("drizzle-orm/pg-core").PgTableWithColumns<
|
|
|
30
30
|
tableName: "policies";
|
|
31
31
|
dataType: "string";
|
|
32
32
|
columnType: "PgEnumColumn";
|
|
33
|
-
data: "other" | "
|
|
33
|
+
data: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
34
34
|
driverParam: string;
|
|
35
35
|
notNull: true;
|
|
36
36
|
hasDefault: false;
|
|
@@ -4,7 +4,7 @@ export declare const policiesCoreService: {
|
|
|
4
4
|
listPolicies(db: PostgresJsDatabase, query: PolicyListQuery): Promise<{
|
|
5
5
|
data: {
|
|
6
6
|
id: string;
|
|
7
|
-
kind: "other" | "
|
|
7
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
8
8
|
name: string;
|
|
9
9
|
slug: string;
|
|
10
10
|
description: string | null;
|
|
@@ -20,7 +20,7 @@ export declare const policiesCoreService: {
|
|
|
20
20
|
}>;
|
|
21
21
|
getPolicyById(db: PostgresJsDatabase, id: string): Promise<{
|
|
22
22
|
id: string;
|
|
23
|
-
kind: "other" | "
|
|
23
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
24
24
|
name: string;
|
|
25
25
|
slug: string;
|
|
26
26
|
description: string | null;
|
|
@@ -32,7 +32,7 @@ export declare const policiesCoreService: {
|
|
|
32
32
|
} | null>;
|
|
33
33
|
getPolicyBySlug(db: PostgresJsDatabase, slug: string): Promise<{
|
|
34
34
|
id: string;
|
|
35
|
-
kind: "other" | "
|
|
35
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
36
36
|
name: string;
|
|
37
37
|
slug: string;
|
|
38
38
|
description: string | null;
|
|
@@ -50,13 +50,13 @@ export declare const policiesCoreService: {
|
|
|
50
50
|
createdAt: Date;
|
|
51
51
|
updatedAt: Date;
|
|
52
52
|
slug: string;
|
|
53
|
-
kind: "other" | "
|
|
53
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
54
54
|
language: string;
|
|
55
55
|
currentVersionId: string | null;
|
|
56
56
|
} | null>;
|
|
57
57
|
updatePolicy(db: PostgresJsDatabase, id: string, data: UpdatePolicyInput): Promise<{
|
|
58
58
|
id: string;
|
|
59
|
-
kind: "other" | "
|
|
59
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
60
60
|
name: string;
|
|
61
61
|
slug: string;
|
|
62
62
|
description: string | null;
|
|
@@ -1197,7 +1197,7 @@ export declare const policiesCoreService: {
|
|
|
1197
1197
|
resolvePolicy(db: PostgresJsDatabase, input: ResolvePolicyInput): Promise<{
|
|
1198
1198
|
policy: {
|
|
1199
1199
|
id: string;
|
|
1200
|
-
kind: "other" | "
|
|
1200
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
1201
1201
|
name: string;
|
|
1202
1202
|
slug: string;
|
|
1203
1203
|
description: string | null;
|
|
@@ -4,7 +4,7 @@ export declare const policiesService: {
|
|
|
4
4
|
listPolicies(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service-shared.js").PolicyListQuery): Promise<{
|
|
5
5
|
data: {
|
|
6
6
|
id: string;
|
|
7
|
-
kind: "other" | "
|
|
7
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
8
8
|
name: string;
|
|
9
9
|
slug: string;
|
|
10
10
|
description: string | null;
|
|
@@ -20,7 +20,7 @@ export declare const policiesService: {
|
|
|
20
20
|
}>;
|
|
21
21
|
getPolicyById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
|
|
22
22
|
id: string;
|
|
23
|
-
kind: "other" | "
|
|
23
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
24
24
|
name: string;
|
|
25
25
|
slug: string;
|
|
26
26
|
description: string | null;
|
|
@@ -32,7 +32,7 @@ export declare const policiesService: {
|
|
|
32
32
|
} | null>;
|
|
33
33
|
getPolicyBySlug(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, slug: string): Promise<{
|
|
34
34
|
id: string;
|
|
35
|
-
kind: "other" | "
|
|
35
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
36
36
|
name: string;
|
|
37
37
|
slug: string;
|
|
38
38
|
description: string | null;
|
|
@@ -50,13 +50,13 @@ export declare const policiesService: {
|
|
|
50
50
|
createdAt: Date;
|
|
51
51
|
updatedAt: Date;
|
|
52
52
|
slug: string;
|
|
53
|
-
kind: "other" | "
|
|
53
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
54
54
|
language: string;
|
|
55
55
|
currentVersionId: string | null;
|
|
56
56
|
} | null>;
|
|
57
57
|
updatePolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service-shared.js").UpdatePolicyInput): Promise<{
|
|
58
58
|
id: string;
|
|
59
|
-
kind: "other" | "
|
|
59
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
60
60
|
name: string;
|
|
61
61
|
slug: string;
|
|
62
62
|
description: string | null;
|
|
@@ -1197,7 +1197,7 @@ export declare const policiesService: {
|
|
|
1197
1197
|
resolvePolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, input: import("./service-shared.js").ResolvePolicyInput): Promise<{
|
|
1198
1198
|
policy: {
|
|
1199
1199
|
id: string;
|
|
1200
|
-
kind: "other" | "
|
|
1200
|
+
kind: "other" | "refund" | "payment" | "cancellation" | "terms_and_conditions" | "privacy" | "commission" | "guarantee";
|
|
1201
1201
|
name: string;
|
|
1202
1202
|
slug: string;
|
|
1203
1203
|
description: string | null;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const policyKindSchema: z.ZodEnum<{
|
|
3
3
|
other: "other";
|
|
4
|
+
refund: "refund";
|
|
4
5
|
payment: "payment";
|
|
5
6
|
cancellation: "cancellation";
|
|
6
7
|
terms_and_conditions: "terms_and_conditions";
|
|
7
8
|
privacy: "privacy";
|
|
8
|
-
refund: "refund";
|
|
9
9
|
commission: "commission";
|
|
10
10
|
guarantee: "guarantee";
|
|
11
11
|
}>;
|
|
@@ -43,11 +43,11 @@ export declare const policyAcceptanceMethodSchema: z.ZodEnum<{
|
|
|
43
43
|
export declare const insertPolicySchema: z.ZodObject<{
|
|
44
44
|
kind: z.ZodEnum<{
|
|
45
45
|
other: "other";
|
|
46
|
+
refund: "refund";
|
|
46
47
|
payment: "payment";
|
|
47
48
|
cancellation: "cancellation";
|
|
48
49
|
terms_and_conditions: "terms_and_conditions";
|
|
49
50
|
privacy: "privacy";
|
|
50
|
-
refund: "refund";
|
|
51
51
|
commission: "commission";
|
|
52
52
|
guarantee: "guarantee";
|
|
53
53
|
}>;
|
|
@@ -60,11 +60,11 @@ export declare const insertPolicySchema: z.ZodObject<{
|
|
|
60
60
|
export declare const updatePolicySchema: z.ZodObject<{
|
|
61
61
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
62
62
|
other: "other";
|
|
63
|
+
refund: "refund";
|
|
63
64
|
payment: "payment";
|
|
64
65
|
cancellation: "cancellation";
|
|
65
66
|
terms_and_conditions: "terms_and_conditions";
|
|
66
67
|
privacy: "privacy";
|
|
67
|
-
refund: "refund";
|
|
68
68
|
commission: "commission";
|
|
69
69
|
guarantee: "guarantee";
|
|
70
70
|
}>>;
|
|
@@ -79,11 +79,11 @@ export declare const policyListQuerySchema: z.ZodObject<{
|
|
|
79
79
|
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
80
80
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
81
81
|
other: "other";
|
|
82
|
+
refund: "refund";
|
|
82
83
|
payment: "payment";
|
|
83
84
|
cancellation: "cancellation";
|
|
84
85
|
terms_and_conditions: "terms_and_conditions";
|
|
85
86
|
privacy: "privacy";
|
|
86
|
-
refund: "refund";
|
|
87
87
|
commission: "commission";
|
|
88
88
|
guarantee: "guarantee";
|
|
89
89
|
}>>;
|
|
@@ -240,11 +240,11 @@ export declare const evaluateCancellationInputSchema: z.ZodObject<{
|
|
|
240
240
|
export declare const resolvePolicyInputSchema: z.ZodObject<{
|
|
241
241
|
kind: z.ZodEnum<{
|
|
242
242
|
other: "other";
|
|
243
|
+
refund: "refund";
|
|
243
244
|
payment: "payment";
|
|
244
245
|
cancellation: "cancellation";
|
|
245
246
|
terms_and_conditions: "terms_and_conditions";
|
|
246
247
|
privacy: "privacy";
|
|
247
|
-
refund: "refund";
|
|
248
248
|
commission: "commission";
|
|
249
249
|
guarantee: "guarantee";
|
|
250
250
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/legal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.82.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -59,14 +59,15 @@
|
|
|
59
59
|
"drizzle-orm": "^0.45.2",
|
|
60
60
|
"hono": "^4.12.10",
|
|
61
61
|
"zod": "^4.3.6",
|
|
62
|
-
"@voyantjs/bookings": "0.
|
|
63
|
-
"@voyantjs/core": "0.
|
|
64
|
-
"@voyantjs/crm": "0.
|
|
65
|
-
"@voyantjs/db": "0.
|
|
66
|
-
"@voyantjs/
|
|
67
|
-
"@voyantjs/
|
|
68
|
-
"@voyantjs/
|
|
69
|
-
"@voyantjs/
|
|
62
|
+
"@voyantjs/bookings": "0.82.0",
|
|
63
|
+
"@voyantjs/core": "0.82.0",
|
|
64
|
+
"@voyantjs/crm": "0.82.0",
|
|
65
|
+
"@voyantjs/db": "0.82.0",
|
|
66
|
+
"@voyantjs/finance": "0.82.0",
|
|
67
|
+
"@voyantjs/hono": "0.82.0",
|
|
68
|
+
"@voyantjs/suppliers": "0.82.0",
|
|
69
|
+
"@voyantjs/utils": "0.82.0",
|
|
70
|
+
"@voyantjs/storage": "0.82.0"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
73
|
"typescript": "^6.0.2",
|