@voyantjs/legal 0.20.0 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/routes.d.ts +70 -0
- package/dist/contracts/routes.d.ts.map +1 -1
- package/dist/contracts/routes.js +30 -2
- package/dist/contracts/service-auto-generate.d.ts +249 -14
- package/dist/contracts/service-auto-generate.d.ts.map +1 -1
- package/dist/contracts/service-auto-generate.js +325 -38
- package/dist/contracts/service-contracts.d.ts.map +1 -1
- package/dist/contracts/service-contracts.js +1 -0
- package/dist/contracts/service-documents-browser.d.ts +132 -0
- package/dist/contracts/service-documents-browser.d.ts.map +1 -0
- package/dist/contracts/service-documents-browser.js +144 -0
- package/dist/contracts/service-documents.d.ts.map +1 -1
- package/dist/contracts/service-documents.js +7 -1
- package/dist/contracts/service-shared.d.ts.map +1 -1
- package/dist/contracts/service-shared.js +34 -4
- package/dist/contracts/service-templates.d.ts +15 -0
- package/dist/contracts/service-templates.d.ts.map +1 -1
- package/dist/contracts/service-templates.js +63 -6
- package/dist/contracts/template-authoring.d.ts +22 -1
- package/dist/contracts/template-authoring.d.ts.map +1 -1
- package/dist/contracts/template-authoring.js +645 -144
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- 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 +9 -9
|
@@ -12,6 +12,8 @@ export { contractAttachments, contractNumberSeries, contractSignatures, contract
|
|
|
12
12
|
export { allocateContractNumber, contractsService, renderTemplate, validateTemplateVariables, } from "./service.js";
|
|
13
13
|
export type { ContractDocumentGeneratedEvent, ContractDocumentGeneratorContext, ContractDocumentRuntimeOptions, GeneratedContractDocumentArtifact, GeneratedContractDocumentRecord, StorageBackedContractDocumentGeneratorOptions, StorageBackedContractDocumentSerializer, StorageBackedContractDocumentUpload, } from "./service-documents.js";
|
|
14
14
|
export { createPdfContractDocumentGenerator, createStorageBackedContractDocumentGenerator, defaultPdfContractDocumentSerializer, defaultStorageBackedContractDocumentSerializer, } from "./service-documents.js";
|
|
15
|
+
export type { CloudBrowserGoToOptions, CloudBrowserPdfInput, CloudBrowserPdfOptions, CloudBrowserRenderClient, CloudBrowserWaitUntil, CreateBrowserRenderedPdfContractDocumentSerializerOptions, } from "./service-documents-browser.js";
|
|
16
|
+
export { createBrowserRenderedPdfContractDocumentSerializer, defaultContractHtmlWrapper, } from "./service-documents-browser.js";
|
|
15
17
|
export type { ContractTemplateLiquidSnippet, ContractTemplateVariableCategory, ContractTemplateVariableDefinition, ContractTemplateVariableType, } from "./template-authoring.js";
|
|
16
18
|
export { contractTemplateLiquidSnippets, contractTemplateVariableCatalog, } from "./template-authoring.js";
|
|
17
19
|
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAE,kBAK9B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAKtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6CAA6C,EAC7C,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,kCAAkC,EAClC,4CAA4C,EAC5C,oCAAoC,EACpC,8CAA8C,GAC/C,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,EACzC,qCAAqC,EACrC,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAE,kBAK9B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAKtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6CAA6C,EAC7C,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,kCAAkC,EAClC,4CAA4C,EAC5C,oCAAoC,EACpC,8CAA8C,GAC/C,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yDAAyD,GAC1D,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,kDAAkD,EAClD,0BAA0B,GAC3B,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,EACzC,qCAAqC,EACrC,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -18,5 +18,6 @@ export const contractsLinkable = {
|
|
|
18
18
|
export { contractAttachments, contractNumberSeries, contractSignatures, contracts, contractTemplates, contractTemplateVersions, } from "./schema.js";
|
|
19
19
|
export { allocateContractNumber, contractsService, renderTemplate, validateTemplateVariables, } from "./service.js";
|
|
20
20
|
export { createPdfContractDocumentGenerator, createStorageBackedContractDocumentGenerator, defaultPdfContractDocumentSerializer, defaultStorageBackedContractDocumentSerializer, } from "./service-documents.js";
|
|
21
|
+
export { createBrowserRenderedPdfContractDocumentSerializer, defaultContractHtmlWrapper, } from "./service-documents-browser.js";
|
|
21
22
|
export { contractTemplateLiquidSnippets, contractTemplateVariableCatalog, } from "./template-authoring.js";
|
|
22
23
|
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|
|
@@ -2858,6 +2858,41 @@ export declare function createContractsPublicRoutes(): import("hono/hono-base").
|
|
|
2858
2858
|
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
2859
2859
|
};
|
|
2860
2860
|
};
|
|
2861
|
+
} & {
|
|
2862
|
+
"/templates/by-slug/:slug/preview": {
|
|
2863
|
+
$post: {
|
|
2864
|
+
input: {
|
|
2865
|
+
param: {
|
|
2866
|
+
slug: string;
|
|
2867
|
+
};
|
|
2868
|
+
};
|
|
2869
|
+
output: {
|
|
2870
|
+
error: string;
|
|
2871
|
+
};
|
|
2872
|
+
outputFormat: "json";
|
|
2873
|
+
status: 404;
|
|
2874
|
+
} | {
|
|
2875
|
+
input: {
|
|
2876
|
+
param: {
|
|
2877
|
+
slug: string;
|
|
2878
|
+
};
|
|
2879
|
+
};
|
|
2880
|
+
output: {
|
|
2881
|
+
data: {
|
|
2882
|
+
template: {
|
|
2883
|
+
id: string;
|
|
2884
|
+
slug: string;
|
|
2885
|
+
name: string;
|
|
2886
|
+
language: string;
|
|
2887
|
+
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
2888
|
+
};
|
|
2889
|
+
rendered: string;
|
|
2890
|
+
};
|
|
2891
|
+
};
|
|
2892
|
+
outputFormat: "json";
|
|
2893
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
2894
|
+
};
|
|
2895
|
+
};
|
|
2861
2896
|
} & {
|
|
2862
2897
|
"/:id": {
|
|
2863
2898
|
$get: {
|
|
@@ -3024,6 +3059,41 @@ export declare const contractsPublicRoutes: import("hono/hono-base").HonoBase<En
|
|
|
3024
3059
|
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3025
3060
|
};
|
|
3026
3061
|
};
|
|
3062
|
+
} & {
|
|
3063
|
+
"/templates/by-slug/:slug/preview": {
|
|
3064
|
+
$post: {
|
|
3065
|
+
input: {
|
|
3066
|
+
param: {
|
|
3067
|
+
slug: string;
|
|
3068
|
+
};
|
|
3069
|
+
};
|
|
3070
|
+
output: {
|
|
3071
|
+
error: string;
|
|
3072
|
+
};
|
|
3073
|
+
outputFormat: "json";
|
|
3074
|
+
status: 404;
|
|
3075
|
+
} | {
|
|
3076
|
+
input: {
|
|
3077
|
+
param: {
|
|
3078
|
+
slug: string;
|
|
3079
|
+
};
|
|
3080
|
+
};
|
|
3081
|
+
output: {
|
|
3082
|
+
data: {
|
|
3083
|
+
template: {
|
|
3084
|
+
id: string;
|
|
3085
|
+
slug: string;
|
|
3086
|
+
name: string;
|
|
3087
|
+
language: string;
|
|
3088
|
+
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
3089
|
+
};
|
|
3090
|
+
rendered: string;
|
|
3091
|
+
};
|
|
3092
|
+
};
|
|
3093
|
+
outputFormat: "json";
|
|
3094
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3095
|
+
};
|
|
3096
|
+
};
|
|
3027
3097
|
} & {
|
|
3028
3098
|
"/:id": {
|
|
3029
3099
|
$get: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/contracts/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAQjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAoB/C,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,OAAO,gBAAgB,CAAC,wBAAwB,CACjD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAEjB,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,yBAAyB,GAAG,SAAS,CAAA;IAC1C,0BAA0B,CAAC,EAAE,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAA;CAC9E;AAkCD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAgS7E;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+B,CAAA;AAEhE,wBAAgB,2BAA2B
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/contracts/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAQjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAoB/C,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,OAAO,gBAAgB,CAAC,wBAAwB,CACjD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAEjB,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,yBAAyB,GAAG,SAAS,CAAA;IAC1C,0BAA0B,CAAC,EAAE,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAA;CAC9E;AAkCD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAgS7E;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+B,CAAA;AAEhE,wBAAgB,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8D1C;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAgC,CAAA;AAElE,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAC9D,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA"}
|
package/dist/contracts/routes.js
CHANGED
|
@@ -278,7 +278,7 @@ export function createContractsAdminRoutes(options = {}) {
|
|
|
278
278
|
}
|
|
279
279
|
export const contractsAdminRoutes = createContractsAdminRoutes();
|
|
280
280
|
export function createContractsPublicRoutes() {
|
|
281
|
-
return new Hono()
|
|
281
|
+
return (new Hono()
|
|
282
282
|
.get("/templates/default", async (c) => {
|
|
283
283
|
const query = parseQuery(c, contractTemplateDefaultQuerySchema);
|
|
284
284
|
const row = await contractsService.getDefaultTemplate(c.get("db"), query);
|
|
@@ -296,6 +296,34 @@ export function createContractsPublicRoutes() {
|
|
|
296
296
|
body: template.body,
|
|
297
297
|
});
|
|
298
298
|
return c.json({ data: { rendered } });
|
|
299
|
+
})
|
|
300
|
+
/**
|
|
301
|
+
* Slug-based variant — storefronts wire products to a contract
|
|
302
|
+
* template via slug at config time, not id, so they can render the
|
|
303
|
+
* preview in the booking journey before any contract row exists.
|
|
304
|
+
* The dialog at /shop/book/... POSTs here with the draft variables.
|
|
305
|
+
*/
|
|
306
|
+
.post("/templates/by-slug/:slug/preview", async (c) => {
|
|
307
|
+
const input = await parseJsonBody(c, publicRenderTemplatePreviewInputSchema);
|
|
308
|
+
const template = await contractsService.findTemplateBySlug(c.get("db"), c.req.param("slug"));
|
|
309
|
+
if (!template?.active)
|
|
310
|
+
return c.json({ error: "Template not found" }, 404);
|
|
311
|
+
const rendered = contractsService.renderPreview({
|
|
312
|
+
variables: input.variables,
|
|
313
|
+
body: template.body,
|
|
314
|
+
});
|
|
315
|
+
return c.json({
|
|
316
|
+
data: {
|
|
317
|
+
template: {
|
|
318
|
+
id: template.id,
|
|
319
|
+
slug: template.slug,
|
|
320
|
+
name: template.name,
|
|
321
|
+
language: template.language,
|
|
322
|
+
scope: template.scope,
|
|
323
|
+
},
|
|
324
|
+
rendered,
|
|
325
|
+
},
|
|
326
|
+
});
|
|
299
327
|
})
|
|
300
328
|
.get("/:id", async (c) => {
|
|
301
329
|
const row = await contractsService.getContractById(c.get("db"), c.req.param("id"));
|
|
@@ -313,6 +341,6 @@ export function createContractsPublicRoutes() {
|
|
|
313
341
|
return c.json({ error: "Contract is not in a signable state" }, 409);
|
|
314
342
|
}
|
|
315
343
|
return c.json({ data: { signature: result.signature } });
|
|
316
|
-
});
|
|
344
|
+
}));
|
|
317
345
|
}
|
|
318
346
|
export const contractsPublicRoutes = createContractsPublicRoutes();
|
|
@@ -15,39 +15,257 @@ export interface BookingConfirmedLikeEvent {
|
|
|
15
15
|
* Variables passed to the contract template at render time. Consumers can
|
|
16
16
|
* augment via `resolveVariables`; the built-in resolver supplies the fields
|
|
17
17
|
* the default contract template expects.
|
|
18
|
+
*
|
|
19
|
+
* Mirrors the canonical Voyant contract surface so the same template body
|
|
20
|
+
* renders identically at storefront preview time and at post-confirm
|
|
21
|
+
* auto-generation time. Anything we can't fill from the persisted booking
|
|
22
|
+
* row (acceptance fingerprint, operator info, line items breakdown,
|
|
23
|
+
* vertical-specific schedule details) is emitted as an empty default — the
|
|
24
|
+
* operator template's `resolveVariables` callback overrides them.
|
|
18
25
|
*/
|
|
26
|
+
export interface OperatorContextVariables {
|
|
27
|
+
name: string;
|
|
28
|
+
legalName: string;
|
|
29
|
+
vatId: string;
|
|
30
|
+
registrationNumber: string;
|
|
31
|
+
address: string;
|
|
32
|
+
phone: string;
|
|
33
|
+
email: string;
|
|
34
|
+
website: string;
|
|
35
|
+
iban: string;
|
|
36
|
+
bank: string;
|
|
37
|
+
license: string;
|
|
38
|
+
licenseAuthority: string;
|
|
39
|
+
/** Human whose name appears on the operator-side signature line. */
|
|
40
|
+
signatoryName: string;
|
|
41
|
+
/** Their role / title (e.g. "Managing Director"). */
|
|
42
|
+
signatoryRole: string;
|
|
43
|
+
}
|
|
44
|
+
export interface AcceptanceContextVariables {
|
|
45
|
+
ipAddress: string;
|
|
46
|
+
userAgent: string;
|
|
47
|
+
acceptedAt: string;
|
|
48
|
+
marketingConsent: boolean;
|
|
49
|
+
templateSlug: string;
|
|
50
|
+
templateId: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ContractTravelerVariable {
|
|
53
|
+
id: string;
|
|
54
|
+
index: number;
|
|
55
|
+
band: string;
|
|
56
|
+
participantType: string;
|
|
57
|
+
isLead: boolean;
|
|
58
|
+
isPrimary: boolean;
|
|
59
|
+
firstName: string;
|
|
60
|
+
lastName: string;
|
|
61
|
+
fullName: string;
|
|
62
|
+
email: string;
|
|
63
|
+
phone: string;
|
|
64
|
+
dateOfBirth: string;
|
|
65
|
+
document: {
|
|
66
|
+
type: string;
|
|
67
|
+
number: string;
|
|
68
|
+
country: string;
|
|
69
|
+
issuingAuthority: string;
|
|
70
|
+
issueDate: string;
|
|
71
|
+
expiryDate: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export interface ContractItemVariable {
|
|
75
|
+
index: number;
|
|
76
|
+
kind: string;
|
|
77
|
+
description: string;
|
|
78
|
+
quantity: number;
|
|
79
|
+
unitAmountCents: number;
|
|
80
|
+
totalAmountCents: number;
|
|
81
|
+
currency: string;
|
|
82
|
+
taxIncluded: boolean;
|
|
83
|
+
}
|
|
19
84
|
export interface DefaultContractVariables {
|
|
85
|
+
today: string;
|
|
86
|
+
currentDate: string;
|
|
87
|
+
currentDateTime: string;
|
|
88
|
+
currentTime: string;
|
|
20
89
|
contract: {
|
|
21
|
-
|
|
90
|
+
contractNumber: string;
|
|
91
|
+
/** Alias used by older templates: `{{ contract.number }}`. */
|
|
92
|
+
number: string;
|
|
93
|
+
contractDate: string;
|
|
94
|
+
/** Alias used by templates that read `{{ contract.date }}`. */
|
|
22
95
|
date: string;
|
|
96
|
+
issuedAt: string;
|
|
97
|
+
signedAt: string;
|
|
98
|
+
isManual: boolean;
|
|
99
|
+
series: string;
|
|
100
|
+
channel: string;
|
|
101
|
+
source: string;
|
|
102
|
+
status: string;
|
|
23
103
|
};
|
|
24
104
|
booking: {
|
|
25
|
-
|
|
105
|
+
bookingId: string;
|
|
106
|
+
bookingNumber: string;
|
|
107
|
+
/** Alias used by templates that read `{{ booking.number }}`. */
|
|
26
108
|
number: string;
|
|
109
|
+
/** Alias used by templates that read `{{ booking.id }}`. */
|
|
110
|
+
id: string;
|
|
27
111
|
status: string;
|
|
28
|
-
|
|
112
|
+
entityModule: string;
|
|
113
|
+
entityId: string;
|
|
114
|
+
vertical: string;
|
|
115
|
+
productName: string;
|
|
116
|
+
productSubtitle: string;
|
|
117
|
+
destination: string;
|
|
118
|
+
pax: number | null;
|
|
119
|
+
paxTotal: number;
|
|
120
|
+
paxAdult: number;
|
|
121
|
+
paxChild: number;
|
|
122
|
+
paxInfant: number;
|
|
123
|
+
paxBands: Record<string, number>;
|
|
124
|
+
travelDates: {
|
|
125
|
+
start: string;
|
|
126
|
+
end: string;
|
|
127
|
+
durationNights: number;
|
|
128
|
+
};
|
|
29
129
|
startDate: string | null;
|
|
30
130
|
endDate: string | null;
|
|
31
|
-
|
|
32
|
-
|
|
131
|
+
sellCurrency: string;
|
|
132
|
+
sellAmountCents: number | null;
|
|
133
|
+
sellSubtotalCents: number;
|
|
134
|
+
sellTaxAmountCents: number;
|
|
135
|
+
sellDiscountAmountCents: number;
|
|
136
|
+
costCurrency: string;
|
|
137
|
+
costAmountCents: number;
|
|
138
|
+
baseCurrency: string;
|
|
139
|
+
baseSellAmountCents: number;
|
|
140
|
+
marginPercent: number;
|
|
141
|
+
currency: string;
|
|
33
142
|
totalAmountCents: number | null;
|
|
143
|
+
subtotalAmountCents: number;
|
|
144
|
+
taxAmountCents: number;
|
|
145
|
+
discountAmountCents: number;
|
|
146
|
+
paidAmountCents: number;
|
|
147
|
+
balanceDueCents: number;
|
|
148
|
+
depositAmountCents: number;
|
|
149
|
+
depositDueDate: string;
|
|
150
|
+
balanceAmountCents: number;
|
|
151
|
+
balanceDueDate: string;
|
|
152
|
+
paymentPolicy: {
|
|
153
|
+
source: string;
|
|
154
|
+
};
|
|
155
|
+
roomsSummary: string;
|
|
156
|
+
source: {
|
|
157
|
+
kind: string;
|
|
158
|
+
type: string;
|
|
159
|
+
connectionId: string;
|
|
160
|
+
ref: string;
|
|
161
|
+
externalRef: string;
|
|
162
|
+
supplier: {
|
|
163
|
+
id: string;
|
|
164
|
+
name: string;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
internalNotes: string;
|
|
168
|
+
customerNotes: string;
|
|
34
169
|
};
|
|
35
|
-
|
|
36
|
-
|
|
170
|
+
customer: {
|
|
171
|
+
type: string;
|
|
37
172
|
firstName: string;
|
|
38
173
|
lastName: string;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
174
|
+
fullName: string;
|
|
175
|
+
email: string;
|
|
176
|
+
phone: string;
|
|
177
|
+
dateOfBirth: string;
|
|
178
|
+
companyName: string;
|
|
179
|
+
vatId: string;
|
|
180
|
+
registrationNumber: string;
|
|
181
|
+
address: {
|
|
182
|
+
line1: string;
|
|
183
|
+
line2: string;
|
|
184
|
+
city: string;
|
|
185
|
+
region: string;
|
|
186
|
+
postal: string;
|
|
187
|
+
country: string;
|
|
188
|
+
};
|
|
189
|
+
document: {
|
|
190
|
+
type: string;
|
|
191
|
+
number: string;
|
|
192
|
+
country: string;
|
|
193
|
+
issuingAuthority: string;
|
|
194
|
+
issueDate: string;
|
|
195
|
+
expiryDate: string;
|
|
196
|
+
};
|
|
197
|
+
};
|
|
44
198
|
leadTraveler: {
|
|
45
199
|
id: string;
|
|
46
200
|
firstName: string;
|
|
47
201
|
lastName: string;
|
|
48
|
-
|
|
49
|
-
|
|
202
|
+
fullName: string;
|
|
203
|
+
email: string;
|
|
204
|
+
phone: string;
|
|
50
205
|
} | null;
|
|
206
|
+
travelers: ContractTravelerVariable[];
|
|
207
|
+
/** Alias used by templates that read `{{ passengers }}`. */
|
|
208
|
+
passengers: ContractTravelerVariable[];
|
|
209
|
+
items: ContractItemVariable[];
|
|
210
|
+
addons: ContractItemVariable[];
|
|
211
|
+
product: {
|
|
212
|
+
title: string;
|
|
213
|
+
subtitle: string;
|
|
214
|
+
destination: string;
|
|
215
|
+
module: string;
|
|
216
|
+
id: string;
|
|
217
|
+
vertical: string;
|
|
218
|
+
heroImageUrl: string;
|
|
219
|
+
};
|
|
220
|
+
departureSlot: {
|
|
221
|
+
slotId: string;
|
|
222
|
+
startAt: string;
|
|
223
|
+
endAt: string;
|
|
224
|
+
durationDays: number;
|
|
225
|
+
departureCity: string;
|
|
226
|
+
};
|
|
227
|
+
sailing: {
|
|
228
|
+
sailingId: string;
|
|
229
|
+
ship: string;
|
|
230
|
+
embarkationPort: string;
|
|
231
|
+
disembarkationPort: string;
|
|
232
|
+
airArrangement: string;
|
|
233
|
+
startDate: string;
|
|
234
|
+
endDate: string;
|
|
235
|
+
cabinCategoryId: string;
|
|
236
|
+
cabinNumberId: string;
|
|
237
|
+
};
|
|
238
|
+
stay: {
|
|
239
|
+
checkIn: string;
|
|
240
|
+
checkOut: string;
|
|
241
|
+
nights: number;
|
|
242
|
+
rooms: Array<{
|
|
243
|
+
optionUnitId: string;
|
|
244
|
+
quantity: number;
|
|
245
|
+
ratePlanId: string;
|
|
246
|
+
}>;
|
|
247
|
+
destination: string;
|
|
248
|
+
};
|
|
249
|
+
payment: {
|
|
250
|
+
intent: string;
|
|
251
|
+
method: string;
|
|
252
|
+
amountCents: number;
|
|
253
|
+
currency: string;
|
|
254
|
+
schedule: Array<{
|
|
255
|
+
index: number;
|
|
256
|
+
type: string;
|
|
257
|
+
amountCents: number;
|
|
258
|
+
currency: string;
|
|
259
|
+
dueDate: string;
|
|
260
|
+
status: string;
|
|
261
|
+
}>;
|
|
262
|
+
capturedAt: string;
|
|
263
|
+
/** Alias for `capturedAt`, exposed for templates that prefer the
|
|
264
|
+
* `created_at` naming. */
|
|
265
|
+
createdAt: string;
|
|
266
|
+
};
|
|
267
|
+
operator: OperatorContextVariables;
|
|
268
|
+
acceptance: AcceptanceContextVariables;
|
|
51
269
|
}
|
|
52
270
|
/**
|
|
53
271
|
* Hook point so consumers can extend (or replace) the template variables.
|
|
@@ -59,6 +277,16 @@ export type ResolveContractVariablesFn = (context: {
|
|
|
59
277
|
booking: NonNullable<Awaited<ReturnType<typeof bookingsService.getBookingById>>>;
|
|
60
278
|
travelers: Awaited<ReturnType<typeof bookingsService.listTravelers>>;
|
|
61
279
|
defaults: DefaultContractVariables;
|
|
280
|
+
/**
|
|
281
|
+
* Runtime bindings (Cloudflare Worker `env` or Node `process.env`)
|
|
282
|
+
* passed through from the auto-generate runtime. Use this to read
|
|
283
|
+
* deploy-specific env vars like `DOCUMENTS_BASE_URL` for templates
|
|
284
|
+
* that compose absolute resource URLs (logos, hosted fonts).
|
|
285
|
+
*
|
|
286
|
+
* `null` when the runtime didn't supply bindings — usually only in
|
|
287
|
+
* tests; production code paths always pass them.
|
|
288
|
+
*/
|
|
289
|
+
bindings?: Record<string, unknown> | null;
|
|
62
290
|
}) => Promise<Record<string, unknown>> | Record<string, unknown>;
|
|
63
291
|
export interface AutoGenerateContractOptions {
|
|
64
292
|
enabled?: boolean;
|
|
@@ -92,6 +320,13 @@ export interface AutoGenerateContractOptions {
|
|
|
92
320
|
export interface AutoGenerateContractRuntime {
|
|
93
321
|
generator: ContractDocumentGenerator;
|
|
94
322
|
eventBus?: import("@voyantjs/core").EventBus;
|
|
323
|
+
/**
|
|
324
|
+
* Runtime bindings forwarded into `resolveVariables` so consumers
|
|
325
|
+
* can read deploy-specific env vars (e.g. `DOCUMENTS_BASE_URL`)
|
|
326
|
+
* without restructuring every auto-generate call site to know
|
|
327
|
+
* about them.
|
|
328
|
+
*/
|
|
329
|
+
bindings?: Record<string, unknown> | null;
|
|
95
330
|
}
|
|
96
331
|
/**
|
|
97
332
|
* Core auto-generate handler. Fire this from a `booking.confirmed` subscriber.
|
|
@@ -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;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAKvE;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"service-auto-generate.d.ts","sourceRoot":"","sources":["../../src/contracts/service-auto-generate.ts"],"names":[],"mappings":"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"}
|