@voyantjs/finance 0.75.6 → 0.76.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/document-download.d.ts +22 -0
- package/dist/document-download.d.ts.map +1 -0
- package/dist/document-download.js +48 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/routes-documents.d.ts +0 -4
- package/dist/routes-documents.d.ts.map +1 -1
- package/dist/routes-documents.js +25 -27
- package/dist/routes-public.d.ts +6 -6
- package/dist/routes-settlement.d.ts +1 -1
- package/dist/routes.d.ts +212 -9
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +92 -50
- package/dist/schema.d.ts +54 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +9 -0
- package/dist/service-issue.d.ts +7 -2
- package/dist/service-issue.d.ts.map +1 -1
- package/dist/service-issue.js +19 -3
- package/dist/service-rendition-wait.d.ts +38 -0
- package/dist/service-rendition-wait.d.ts.map +1 -0
- package/dist/service-rendition-wait.js +67 -0
- package/dist/service.d.ts +129 -7
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +167 -28
- package/dist/validation-billing.d.ts +38 -1
- package/dist/validation-billing.d.ts.map +1 -1
- package/dist/validation-billing.js +21 -1
- package/dist/validation-public.d.ts +3 -0
- package/dist/validation-public.d.ts.map +1 -1
- package/dist/validation-public.js +9 -1
- package/dist/validation-shared.d.ts +3 -1
- package/dist/validation-shared.d.ts.map +1 -1
- package/dist/validation-shared.js +1 -0
- package/package.json +9 -9
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface DocumentDownloadEnvelope {
|
|
2
|
+
url: string;
|
|
3
|
+
expiresAt: string | null;
|
|
4
|
+
}
|
|
5
|
+
export type DocumentDownloadResolution = {
|
|
6
|
+
status: "ready";
|
|
7
|
+
download: DocumentDownloadEnvelope;
|
|
8
|
+
} | {
|
|
9
|
+
status: "resolver_not_configured";
|
|
10
|
+
} | {
|
|
11
|
+
status: "not_available";
|
|
12
|
+
};
|
|
13
|
+
export type DocumentDownloadResolver = (bindings: unknown, storageKey: string) => Promise<string | null> | string | null;
|
|
14
|
+
export interface StoredDocumentReference {
|
|
15
|
+
storageKey?: string | null;
|
|
16
|
+
metadata?: unknown;
|
|
17
|
+
}
|
|
18
|
+
export declare function resolveStoredDocumentDownload(reference: StoredDocumentReference, options: {
|
|
19
|
+
bindings: unknown;
|
|
20
|
+
resolveDocumentDownloadUrl?: DocumentDownloadResolver;
|
|
21
|
+
}): Promise<DocumentDownloadResolution>;
|
|
22
|
+
//# sourceMappingURL=document-download.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-download.d.ts","sourceRoot":"","sources":["../src/document-download.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,yBAAyB,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAA;AAE/B,MAAM,MAAM,wBAAwB,GAAG,CACrC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;AAE3C,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAmCD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAA;IACjB,0BAA0B,CAAC,EAAE,wBAAwB,CAAA;CACtD,GACA,OAAO,CAAC,0BAA0B,CAAC,CAuBrC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function getMetadataRecord(metadata) {
|
|
2
|
+
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
return metadata;
|
|
6
|
+
}
|
|
7
|
+
function maybeUrl(value) {
|
|
8
|
+
return typeof value === "string" && /^https?:\/\//i.test(value) ? value : null;
|
|
9
|
+
}
|
|
10
|
+
function maybeIsoString(value) {
|
|
11
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
12
|
+
}
|
|
13
|
+
function getFallbackDownload(metadata) {
|
|
14
|
+
const record = getMetadataRecord(metadata);
|
|
15
|
+
if (!record) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const url = maybeUrl(record.url) ?? maybeUrl(record.downloadUrl);
|
|
19
|
+
if (!url) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
url,
|
|
24
|
+
expiresAt: maybeIsoString(record.expiresAt) ?? maybeIsoString(record.expires_at),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export async function resolveStoredDocumentDownload(reference, options) {
|
|
28
|
+
let needsResolver = false;
|
|
29
|
+
if (reference.storageKey) {
|
|
30
|
+
if (!options.resolveDocumentDownloadUrl) {
|
|
31
|
+
needsResolver = true;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const url = await options.resolveDocumentDownloadUrl(options.bindings, reference.storageKey);
|
|
35
|
+
if (url) {
|
|
36
|
+
return { status: "ready", download: { url, expiresAt: null } };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const fallback = getFallbackDownload(reference.metadata);
|
|
41
|
+
if (fallback) {
|
|
42
|
+
return { status: "ready", download: fallback };
|
|
43
|
+
}
|
|
44
|
+
if (needsResolver) {
|
|
45
|
+
return { status: "resolver_not_configured" };
|
|
46
|
+
}
|
|
47
|
+
return { status: "not_available" };
|
|
48
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface FinanceHonoModuleOptions extends FinanceRuntimeOptions, PublicF
|
|
|
21
21
|
export declare function createFinanceHonoModule(options?: FinanceHonoModuleOptions): HonoModule;
|
|
22
22
|
export declare const financeHonoModule: HonoModule;
|
|
23
23
|
export { type BookingTaxRouteOptions, type BookingTaxSettings, computeBookingItemTaxLine, createBookingTaxHonoExtension, createBookingTaxRoutes, loadProductTaxFacts, matchesTaxPolicyCondition, mountBookingTaxRoutes, type ProductTaxFacts, type ResolveBookingSellTaxRateOptions, type ResolveBookingTaxSettings, type ResolvedBookingSellTaxRate, resolveBookingSellTaxRate, type TaxPolicyCondition, type UpdateBookingTaxSettings, } from "./booking-tax.js";
|
|
24
|
+
export { type DocumentDownloadEnvelope, type DocumentDownloadResolution, type DocumentDownloadResolver, resolveStoredDocumentDownload, type StoredDocumentReference, } from "./document-download.js";
|
|
24
25
|
export { createInvoiceFxHonoExtension, createInvoiceFxRoutes, createVoyantDataFxExchangeRateResolver, type InvoiceFxContext, type InvoiceFxOptions, type InvoiceFxRouteOptions, type InvoiceFxSettings, mountInvoiceFxRoutes, type ResolvedInvoiceFxSettings, type ResolveInvoiceExchangeRate, type ResolveInvoiceExchangeRateInput, type ResolveInvoiceFxSettings, resolveInvoiceFxContext, resolveInvoiceFxSettingsOrDefault, type UpdateInvoiceFxSettings, type VoyantDataFxResolverOptions, } from "./invoice-fx.js";
|
|
25
26
|
export type { ComputedScheduleEntry, ComputeScheduleInput, DepositKind, DepositRule, PaymentPolicy, PaymentPolicyCascadeLayers, PaymentPolicySource, PaymentScheduleEntryType, ResolvedPaymentPolicy, } from "./payment-policy.js";
|
|
26
27
|
export { computePaymentSchedule, isPaymentPolicyEmpty, noDepositPolicy, policyShouldRequireFullPayment, resolveEffectivePaymentPolicy, } from "./payment-policy.js";
|
|
@@ -31,7 +32,7 @@ export { createFinanceAdminSettlementRoutes, type FinanceSettlementRouteOptions,
|
|
|
31
32
|
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";
|
|
32
33
|
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";
|
|
33
34
|
export type { BindInvoiceRenditionInput, BookingPaymentSchedulePaidEvent, CreateInvoiceFromBookingInput, InvoiceFromBookingData, InvoiceRenderedEvent, PaymentCompletedEvent, UnifiedPaymentRow, } from "./service.js";
|
|
34
|
-
export { financeService, renderInvoiceBody } from "./service.js";
|
|
35
|
+
export { financeService, InvoiceNumberAllocationError, renderInvoiceBody } from "./service.js";
|
|
35
36
|
export type { FinanceAggregateOutstandingInvoice, FinanceAggregates, } from "./service-aggregates.js";
|
|
36
37
|
export type { BookingCreatedEvent, BookingCreateInput, BookingCreateOutcome, BookingCreateResult, BookingCreateRuntime, BookingCreateTravelerInput, } from "./service-booking-create.js";
|
|
37
38
|
export { bookingCreateSchema, createBooking, } from "./service-booking-create.js";
|
|
@@ -41,6 +42,7 @@ export type { GeneratedInvoiceDocumentRecord, GeneratedInvoiceRenditionArtifact,
|
|
|
41
42
|
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
42
43
|
export type { InvoiceIssuedEvent, InvoiceIssueRuntime } from "./service-issue.js";
|
|
43
44
|
export { issueInvoiceFromBooking, issueProformaFromBooking } from "./service-issue.js";
|
|
45
|
+
export { getLatestInvoiceRendition, type InvoiceRenditionWaitMode, type WaitForInvoiceRenditionOptions, type WaitForInvoiceRenditionResult, waitForInvoiceRendition, waitFormatForMode, } from "./service-rendition-wait.js";
|
|
44
46
|
export type { FinanceSettlementRuntimeOptions, InvoiceSettledEvent, InvoiceSettlementPollerContext, InvoiceSettlementPollerResult, } from "./service-settlement.js";
|
|
45
47
|
export { financeSettlementService } from "./service-settlement.js";
|
|
46
48
|
export { VoucherServiceError, vouchersService } from "./service-vouchers.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -67,6 +67,7 @@ export function createFinanceHonoModule(options = {}) {
|
|
|
67
67
|
}
|
|
68
68
|
export const financeHonoModule = createFinanceHonoModule();
|
|
69
69
|
export { computeBookingItemTaxLine, createBookingTaxHonoExtension, createBookingTaxRoutes, loadProductTaxFacts, matchesTaxPolicyCondition, mountBookingTaxRoutes, resolveBookingSellTaxRate, } from "./booking-tax.js";
|
|
70
|
+
export { resolveStoredDocumentDownload, } from "./document-download.js";
|
|
70
71
|
export { createInvoiceFxHonoExtension, createInvoiceFxRoutes, createVoyantDataFxExchangeRateResolver, mountInvoiceFxRoutes, resolveInvoiceFxContext, resolveInvoiceFxSettingsOrDefault, } from "./invoice-fx.js";
|
|
71
72
|
export { computePaymentSchedule, isPaymentPolicyEmpty, noDepositPolicy, policyShouldRequireFullPayment, resolveEffectivePaymentPolicy, } from "./payment-policy.js";
|
|
72
73
|
export { buildFinanceRouteRuntime, FINANCE_ROUTE_RUNTIME_CONTAINER_KEY, } from "./route-runtime.js";
|
|
@@ -74,11 +75,12 @@ export { bookingsCreateExtension } from "./routes-booking-create.js";
|
|
|
74
75
|
export { createFinanceAdminDocumentRoutes, } from "./routes-documents.js";
|
|
75
76
|
export { createFinanceAdminSettlementRoutes, } from "./routes-settlement.js";
|
|
76
77
|
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";
|
|
77
|
-
export { financeService, renderInvoiceBody } from "./service.js";
|
|
78
|
+
export { financeService, InvoiceNumberAllocationError, renderInvoiceBody } from "./service.js";
|
|
78
79
|
export { bookingCreateSchema, createBooking, } from "./service-booking-create.js";
|
|
79
80
|
export { dualCreateBooking, dualCreateBookingSchema, } from "./service-bookings-dual-create.js";
|
|
80
81
|
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
81
82
|
export { issueInvoiceFromBooking, issueProformaFromBooking } from "./service-issue.js";
|
|
83
|
+
export { getLatestInvoiceRendition, waitForInvoiceRendition, waitFormatForMode, } from "./service-rendition-wait.js";
|
|
82
84
|
export { financeSettlementService } from "./service-settlement.js";
|
|
83
85
|
export { VoucherServiceError, vouchersService } from "./service-vouchers.js";
|
|
84
86
|
export { migrateVouchersFromPaymentInstruments, } from "./service-vouchers-migration.js";
|
|
@@ -60,8 +60,6 @@ export declare function createFinanceAdminDocumentRoutes(options?: FinanceDocume
|
|
|
60
60
|
};
|
|
61
61
|
output: {
|
|
62
62
|
data: {
|
|
63
|
-
status: "not_found" | "generator_failed";
|
|
64
|
-
} | {
|
|
65
63
|
status: "generated";
|
|
66
64
|
invoiceId: string;
|
|
67
65
|
renderedBodyFormat: "html" | "markdown" | "lexical_json";
|
|
@@ -131,8 +129,6 @@ export declare function createFinanceAdminDocumentRoutes(options?: FinanceDocume
|
|
|
131
129
|
};
|
|
132
130
|
output: {
|
|
133
131
|
data: {
|
|
134
|
-
status: "not_found" | "generator_failed";
|
|
135
|
-
} | {
|
|
136
132
|
status: "generated";
|
|
137
133
|
invoiceId: string;
|
|
138
134
|
renderedBodyFormat: "html" | "markdown" | "lexical_json";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-documents.d.ts","sourceRoot":"","sources":["../src/routes-documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"routes-documents.d.ts","sourceRoot":"","sources":["../src/routes-documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAUjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAGhE,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,wBAAwB,GAAG,UAAU,CAC/C,OAAO,uBAAuB,CAAC,uBAAuB,CACvD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAEjB,MAAM,WAAW,2BAA2B;IAC1C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,wBAAwB,GAAG,SAAS,CAAA;IACzC,0BAA0B,CAAC,EAAE,CAC3B,QAAQ,EAAE,OAAO,EACjB,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;AAaD,wBAAgB,gCAAgC,CAAC,OAAO,GAAE,2BAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAsEzF"}
|
package/dist/routes-documents.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { parseOptionalJsonBody } from "@voyantjs/hono";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
|
+
import { resolveStoredDocumentDownload } from "./document-download.js";
|
|
3
4
|
import { buildFinanceRouteRuntime, FINANCE_ROUTE_RUNTIME_CONTAINER_KEY, } from "./route-runtime.js";
|
|
4
5
|
import { financeService } from "./service.js";
|
|
5
6
|
import { financeDocumentsService } from "./service-documents.js";
|
|
@@ -8,22 +9,6 @@ function getRuntime(options, bindings, resolveFromContainer) {
|
|
|
8
9
|
return (resolveFromContainer?.(FINANCE_ROUTE_RUNTIME_CONTAINER_KEY) ??
|
|
9
10
|
buildFinanceRouteRuntime(bindings, options));
|
|
10
11
|
}
|
|
11
|
-
function getMetadataRecord(metadata) {
|
|
12
|
-
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
return metadata;
|
|
16
|
-
}
|
|
17
|
-
function maybeUrl(value) {
|
|
18
|
-
return typeof value === "string" && /^https?:\/\//i.test(value) ? value : null;
|
|
19
|
-
}
|
|
20
|
-
function getFallbackDownloadUrl(metadata) {
|
|
21
|
-
const record = getMetadataRecord(metadata);
|
|
22
|
-
if (!record) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
return maybeUrl(record.url);
|
|
26
|
-
}
|
|
27
12
|
export function createFinanceAdminDocumentRoutes(options = {}) {
|
|
28
13
|
return new Hono()
|
|
29
14
|
.post("/invoices/:id/generate-document", async (c) => {
|
|
@@ -38,7 +23,10 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
|
|
|
38
23
|
if (result.status === "generator_failed") {
|
|
39
24
|
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
40
25
|
}
|
|
41
|
-
|
|
26
|
+
if (!("rendition" in result)) {
|
|
27
|
+
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
28
|
+
}
|
|
29
|
+
return c.json({ data: await attachDownloadEnvelope(c.env, runtime, result) }, 201);
|
|
42
30
|
})
|
|
43
31
|
.post("/invoices/:id/regenerate-document", async (c) => {
|
|
44
32
|
const runtime = getRuntime(options, c.env, (key) => c.var.container?.resolve(key));
|
|
@@ -52,24 +40,34 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
|
|
|
52
40
|
if (result.status === "generator_failed") {
|
|
53
41
|
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
54
42
|
}
|
|
55
|
-
|
|
43
|
+
if (!("rendition" in result)) {
|
|
44
|
+
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
45
|
+
}
|
|
46
|
+
return c.json({ data: await attachDownloadEnvelope(c.env, runtime, result) });
|
|
56
47
|
})
|
|
57
48
|
.get("/invoice-renditions/:id/download", async (c) => {
|
|
49
|
+
const runtime = getRuntime(options, c.env, (key) => c.var.container?.resolve(key));
|
|
58
50
|
const rendition = await financeService.getInvoiceRenditionById(c.get("db"), c.req.param("id"));
|
|
59
51
|
if (!rendition) {
|
|
60
52
|
return c.json({ error: "Invoice rendition not found" }, 404);
|
|
61
53
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
const download = await resolveStoredDocumentDownload(rendition, {
|
|
55
|
+
bindings: c.env,
|
|
56
|
+
resolveDocumentDownloadUrl: runtime.resolveDocumentDownloadUrl,
|
|
57
|
+
});
|
|
58
|
+
if (download.status === "resolver_not_configured") {
|
|
59
|
+
return c.json({ error: "Document download resolver is not configured" }, 501);
|
|
68
60
|
}
|
|
69
|
-
|
|
70
|
-
if (!location) {
|
|
61
|
+
if (download.status !== "ready") {
|
|
71
62
|
return c.json({ error: "Invoice document is not available" }, 404);
|
|
72
63
|
}
|
|
73
|
-
return c.redirect(
|
|
64
|
+
return c.redirect(download.download.url, 302);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async function attachDownloadEnvelope(bindings, runtime, result) {
|
|
68
|
+
const download = await resolveStoredDocumentDownload(result.rendition, {
|
|
69
|
+
bindings,
|
|
70
|
+
resolveDocumentDownloadUrl: runtime.resolveDocumentDownloadUrl,
|
|
74
71
|
});
|
|
72
|
+
return download.status === "ready" ? { ...result, download: download.download } : result;
|
|
75
73
|
}
|
package/dist/routes-public.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ export declare function createPublicFinanceRoutes(options?: PublicFinanceRouteOp
|
|
|
124
124
|
invoiceId: string;
|
|
125
125
|
invoiceNumber: string;
|
|
126
126
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
127
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
127
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
128
128
|
currency: string;
|
|
129
129
|
totalCents: number;
|
|
130
130
|
paidCents: number;
|
|
@@ -172,7 +172,7 @@ export declare function createPublicFinanceRoutes(options?: PublicFinanceRouteOp
|
|
|
172
172
|
invoiceId: string;
|
|
173
173
|
invoiceNumber: string;
|
|
174
174
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
175
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
175
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
176
176
|
currency: string;
|
|
177
177
|
totalCents: number;
|
|
178
178
|
paidCents: number;
|
|
@@ -218,7 +218,7 @@ export declare function createPublicFinanceRoutes(options?: PublicFinanceRouteOp
|
|
|
218
218
|
invoiceId: string;
|
|
219
219
|
invoiceNumber: string;
|
|
220
220
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
221
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
221
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
222
222
|
currency: string;
|
|
223
223
|
totalCents: number;
|
|
224
224
|
paidCents: number;
|
|
@@ -726,7 +726,7 @@ export declare const publicFinanceRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
726
726
|
invoiceId: string;
|
|
727
727
|
invoiceNumber: string;
|
|
728
728
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
729
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
729
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
730
730
|
currency: string;
|
|
731
731
|
totalCents: number;
|
|
732
732
|
paidCents: number;
|
|
@@ -774,7 +774,7 @@ export declare const publicFinanceRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
774
774
|
invoiceId: string;
|
|
775
775
|
invoiceNumber: string;
|
|
776
776
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
777
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
777
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
778
778
|
currency: string;
|
|
779
779
|
totalCents: number;
|
|
780
780
|
paidCents: number;
|
|
@@ -820,7 +820,7 @@ export declare const publicFinanceRoutes: import("hono/hono-base").HonoBase<Env,
|
|
|
820
820
|
invoiceId: string;
|
|
821
821
|
invoiceNumber: string;
|
|
822
822
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
823
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
823
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
824
824
|
currency: string;
|
|
825
825
|
totalCents: number;
|
|
826
826
|
paidCents: number;
|
|
@@ -36,7 +36,7 @@ export declare function createFinanceAdminSettlementRoutes(options?: FinanceSett
|
|
|
36
36
|
output: {
|
|
37
37
|
data: {
|
|
38
38
|
invoiceId: string;
|
|
39
|
-
invoiceStatus: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
39
|
+
invoiceStatus: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
40
40
|
paidCents: number;
|
|
41
41
|
balanceDueCents: number;
|
|
42
42
|
results: {
|