@voyantjs/finance 0.3.0 → 0.4.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/index.d.ts +18 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -5
- package/dist/routes-documents.d.ts +159 -0
- package/dist/routes-documents.d.ts.map +1 -0
- package/dist/routes-documents.js +35 -0
- package/dist/routes-public.d.ts +517 -0
- package/dist/routes-public.d.ts.map +1 -0
- package/dist/routes-public.js +60 -0
- package/dist/routes-settlement.d.ts +63 -0
- package/dist/routes-settlement.d.ts.map +1 -0
- package/dist/routes-settlement.js +18 -0
- package/dist/routes-shared.d.ts +12 -0
- package/dist/routes-shared.d.ts.map +1 -0
- package/dist/routes-shared.js +3 -0
- package/dist/routes.d.ts +207 -161
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +40 -1
- package/dist/schema.d.ts +17 -17
- package/dist/service-documents.d.ts +67 -0
- package/dist/service-documents.d.ts.map +1 -0
- package/dist/service-documents.js +226 -0
- package/dist/service-public.d.ts +251 -0
- package/dist/service-public.d.ts.map +1 -0
- package/dist/service-public.js +418 -0
- package/dist/service-settlement.d.ts +36 -0
- package/dist/service-settlement.d.ts.map +1 -0
- package/dist/service-settlement.js +172 -0
- package/dist/service.d.ts +175 -181
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +54 -67
- package/dist/validation-billing.d.ts +119 -9
- package/dist/validation-billing.d.ts.map +1 -1
- package/dist/validation-billing.js +54 -1
- package/dist/validation-payments.d.ts +83 -83
- package/dist/validation-public.d.ts +443 -0
- package/dist/validation-public.d.ts.map +1 -0
- package/dist/validation-public.js +183 -0
- package/dist/validation-shared.d.ts +24 -24
- package/dist/validation.d.ts +1 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +1 -0
- package/package.json +15 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { LinkableDefinition, Module } from "@voyantjs/core";
|
|
2
2
|
import type { HonoModule } from "@voyantjs/hono/module";
|
|
3
|
+
import { type FinanceDocumentRouteOptions } from "./routes-documents.js";
|
|
4
|
+
import { type FinanceSettlementRouteOptions } from "./routes-settlement.js";
|
|
3
5
|
export type { FinanceRoutes } from "./routes.js";
|
|
6
|
+
export type { PublicFinanceRoutes } from "./routes-public.js";
|
|
7
|
+
export { publicFinanceRoutes } from "./routes-public.js";
|
|
8
|
+
export { publicFinanceService } from "./service-public.js";
|
|
4
9
|
export declare const invoiceLinkable: LinkableDefinition;
|
|
5
10
|
export declare const invoiceTemplateLinkable: LinkableDefinition;
|
|
6
11
|
export declare const creditNoteLinkable: LinkableDefinition;
|
|
@@ -10,10 +15,22 @@ export declare const financeLinkable: {
|
|
|
10
15
|
creditNote: LinkableDefinition;
|
|
11
16
|
};
|
|
12
17
|
export declare const financeModule: Module;
|
|
18
|
+
export interface FinanceHonoModuleOptions extends FinanceDocumentRouteOptions, FinanceSettlementRouteOptions {
|
|
19
|
+
}
|
|
20
|
+
export declare function createFinanceHonoModule(options?: FinanceHonoModuleOptions): HonoModule;
|
|
13
21
|
export declare const financeHonoModule: HonoModule;
|
|
22
|
+
export { createFinanceAdminDocumentRoutes, type FinanceDocumentRouteOptions, type InvoiceDocumentGenerator, } from "./routes-documents.js";
|
|
23
|
+
export { createFinanceAdminSettlementRoutes, type FinanceSettlementRouteOptions, type InvoiceSettlementPoller, } from "./routes-settlement.js";
|
|
14
24
|
export type { BookingGuarantee, BookingItemCommission, BookingItemTaxLine, BookingPaymentSchedule, CreditNote, CreditNoteLineItem, FinanceNote, Invoice, InvoiceExternalRef, InvoiceLineItem, InvoiceNumberSeries, InvoiceRendition, InvoiceTemplate, NewBookingGuarantee, NewBookingItemCommission, NewBookingItemTaxLine, NewBookingPaymentSchedule, NewCreditNote, NewCreditNoteLineItem, NewFinanceNote, NewInvoice, NewInvoiceExternalRef, NewInvoiceLineItem, NewInvoiceNumberSeries, NewInvoiceRendition, NewInvoiceTemplate, NewPayment, NewPaymentAuthorization, NewPaymentCapture, NewPaymentInstrument, NewPaymentSession, NewSupplierPayment, NewTaxRegime, Payment, PaymentAuthorization, PaymentCapture, PaymentInstrument, PaymentSession, SupplierPayment, TaxRegime, } from "./schema.js";
|
|
15
25
|
export { bookingGuarantees, bookingItemCommissions, bookingItemTaxLines, bookingPaymentSchedules, creditNoteLineItems, creditNotes, financeNotes, invoiceExternalRefs, invoiceLineItems, invoiceNumberSeries, invoiceRenditions, invoices, invoiceTemplates, paymentAuthorizations, paymentCaptures, paymentInstruments, paymentSessions, payments, supplierPayments, taxRegimes, } from "./schema.js";
|
|
16
26
|
export type { InvoiceFromBookingData } from "./service.js";
|
|
17
27
|
export { financeService, renderInvoiceBody } from "./service.js";
|
|
18
|
-
export {
|
|
28
|
+
export type { GeneratedInvoiceDocumentRecord, GeneratedInvoiceRenditionArtifact, InvoiceDocumentGeneratorContext, InvoiceDocumentRuntimeOptions, StorageBackedInvoiceDocumentGeneratorOptions, StorageBackedInvoiceDocumentSerializer, StorageBackedInvoiceDocumentUpload, } from "./service-documents.js";
|
|
29
|
+
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
30
|
+
export type { FinanceSettlementRuntimeOptions, InvoiceSettlementPollerContext, InvoiceSettlementPollerResult, } from "./service-settlement.js";
|
|
31
|
+
export { financeSettlementService } from "./service-settlement.js";
|
|
32
|
+
export type { GeneratedInvoiceDocumentResult, GenerateInvoiceDocumentInput, PolledInvoiceSettlementResult, PollInvoiceSettlementInput, } from "./validation.js";
|
|
33
|
+
export { agingReportQuerySchema, allocateInvoiceNumberInputSchema, applyDefaultBookingPaymentPlanSchema, cancelPaymentSessionSchema, completePaymentSessionSchema, createPaymentSessionFromGuaranteeSchema, createPaymentSessionFromInvoiceSchema, createPaymentSessionFromScheduleSchema, expirePaymentSessionSchema, failPaymentSessionSchema, generatedInvoiceDocumentResultSchema, generateInvoiceDocumentInputSchema, insertBookingGuaranteeSchema, insertBookingItemCommissionSchema, insertBookingItemTaxLineSchema, insertBookingPaymentScheduleSchema, insertCreditNoteLineItemSchema, insertCreditNoteSchema, insertFinanceNoteSchema, insertInvoiceExternalRefSchema, insertInvoiceLineItemSchema, insertInvoiceNumberSeriesSchema, insertInvoiceRenditionSchema, insertInvoiceSchema, insertInvoiceTemplateSchema, insertPaymentAuthorizationSchema, insertPaymentCaptureSchema, insertPaymentInstrumentSchema, insertPaymentSchema, insertPaymentSessionSchema, insertSupplierPaymentSchema, insertTaxRegimeSchema, invoiceFromBookingSchema, invoiceListQuerySchema, invoiceNumberSeriesListQuerySchema, invoiceTemplateListQuerySchema, markPaymentSessionRequiresRedirectSchema, paymentAuthorizationListQuerySchema, paymentCaptureListQuerySchema, paymentInstrumentListQuerySchema, paymentSessionListQuerySchema, polledInvoiceSettlementProviderResultSchema, polledInvoiceSettlementResultSchema, pollInvoiceSettlementInputSchema, profitabilityQuerySchema, renderInvoiceInputSchema, revenueReportQuerySchema, supplierPaymentListQuerySchema, taxRegimeListQuerySchema, updateBookingGuaranteeSchema, updateBookingItemCommissionSchema, updateBookingItemTaxLineSchema, updateBookingPaymentScheduleSchema, updateCreditNoteLineItemSchema, updateCreditNoteSchema, updateInvoiceExternalRefSchema, updateInvoiceLineItemSchema, updateInvoiceNumberSeriesSchema, updateInvoiceRenditionSchema, updateInvoiceSchema, updateInvoiceTemplateSchema, updatePaymentAuthorizationSchema, updatePaymentCaptureSchema, updatePaymentInstrumentSchema, updatePaymentSchema, updatePaymentSessionSchema, updateSupplierPaymentSchema, updateTaxRegimeSchema, } from "./validation.js";
|
|
34
|
+
export type { PublicBookingFinanceDocuments, PublicBookingFinancePayments, PublicBookingPaymentOptions, PublicFinanceBookingDocument, PublicFinanceBookingPayment, PublicPaymentOptionsQuery, PublicPaymentSession, PublicStartPaymentSessionInput, PublicValidateVoucherInput, PublicVoucherValidationResult, } from "./validation-public.js";
|
|
35
|
+
export { publicBookingFinanceDocumentsSchema, publicBookingFinancePaymentsSchema, publicBookingPaymentOptionsSchema, publicFinanceBookingDocumentSchema, publicFinanceBookingPaymentSchema, publicFinanceDocumentAvailabilitySchema, publicFinanceDocumentFormatSchema, publicFinanceInvoiceTypeSchema, publicPaymentOptionsQuerySchema, publicPaymentSessionSchema, publicStartPaymentSessionSchema, publicValidateVoucherSchema, publicVoucherValidationSchema, } from "./validation-public.js";
|
|
19
36
|
//# sourceMappingURL=index.d.ts.map
|
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;AAIvD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
1
2
|
import { financeRoutes } from "./routes.js";
|
|
3
|
+
import { createFinanceAdminDocumentRoutes, } from "./routes-documents.js";
|
|
4
|
+
import { publicFinanceRoutes } from "./routes-public.js";
|
|
5
|
+
import { createFinanceAdminSettlementRoutes, } from "./routes-settlement.js";
|
|
6
|
+
export { publicFinanceRoutes } from "./routes-public.js";
|
|
7
|
+
export { publicFinanceService } from "./service-public.js";
|
|
2
8
|
export const invoiceLinkable = {
|
|
3
9
|
module: "finance",
|
|
4
10
|
entity: "invoice",
|
|
@@ -26,10 +32,24 @@ export const financeModule = {
|
|
|
26
32
|
name: "finance",
|
|
27
33
|
linkable: financeLinkable,
|
|
28
34
|
};
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
export function createFinanceHonoModule(options = {}) {
|
|
36
|
+
const adminRoutes = new Hono()
|
|
37
|
+
.route("/", financeRoutes)
|
|
38
|
+
.route("/", createFinanceAdminDocumentRoutes(options))
|
|
39
|
+
.route("/", createFinanceAdminSettlementRoutes(options));
|
|
40
|
+
return {
|
|
41
|
+
module: financeModule,
|
|
42
|
+
adminRoutes,
|
|
43
|
+
publicRoutes: publicFinanceRoutes,
|
|
44
|
+
routes: adminRoutes,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export const financeHonoModule = createFinanceHonoModule();
|
|
48
|
+
export { createFinanceAdminDocumentRoutes, } from "./routes-documents.js";
|
|
49
|
+
export { createFinanceAdminSettlementRoutes, } from "./routes-settlement.js";
|
|
33
50
|
export { bookingGuarantees, bookingItemCommissions, bookingItemTaxLines, bookingPaymentSchedules, creditNoteLineItems, creditNotes, financeNotes, invoiceExternalRefs, invoiceLineItems, invoiceNumberSeries, invoiceRenditions, invoices, invoiceTemplates, paymentAuthorizations, paymentCaptures, paymentInstruments, paymentSessions, payments, supplierPayments, taxRegimes, } from "./schema.js";
|
|
34
51
|
export { financeService, renderInvoiceBody } from "./service.js";
|
|
35
|
-
export {
|
|
52
|
+
export { createPdfInvoiceDocumentGenerator, createStorageBackedInvoiceDocumentGenerator, defaultPdfInvoiceDocumentSerializer, defaultStorageBackedInvoiceDocumentSerializer, financeDocumentsService, } from "./service-documents.js";
|
|
53
|
+
export { financeSettlementService } from "./service-settlement.js";
|
|
54
|
+
export { agingReportQuerySchema, allocateInvoiceNumberInputSchema, applyDefaultBookingPaymentPlanSchema, cancelPaymentSessionSchema, completePaymentSessionSchema, createPaymentSessionFromGuaranteeSchema, createPaymentSessionFromInvoiceSchema, createPaymentSessionFromScheduleSchema, expirePaymentSessionSchema, failPaymentSessionSchema, generatedInvoiceDocumentResultSchema, generateInvoiceDocumentInputSchema, insertBookingGuaranteeSchema, insertBookingItemCommissionSchema, insertBookingItemTaxLineSchema, insertBookingPaymentScheduleSchema, insertCreditNoteLineItemSchema, insertCreditNoteSchema, insertFinanceNoteSchema, insertInvoiceExternalRefSchema, insertInvoiceLineItemSchema, insertInvoiceNumberSeriesSchema, insertInvoiceRenditionSchema, insertInvoiceSchema, insertInvoiceTemplateSchema, insertPaymentAuthorizationSchema, insertPaymentCaptureSchema, insertPaymentInstrumentSchema, insertPaymentSchema, insertPaymentSessionSchema, insertSupplierPaymentSchema, insertTaxRegimeSchema, invoiceFromBookingSchema, invoiceListQuerySchema, invoiceNumberSeriesListQuerySchema, invoiceTemplateListQuerySchema, markPaymentSessionRequiresRedirectSchema, paymentAuthorizationListQuerySchema, paymentCaptureListQuerySchema, paymentInstrumentListQuerySchema, paymentSessionListQuerySchema, polledInvoiceSettlementProviderResultSchema, polledInvoiceSettlementResultSchema, pollInvoiceSettlementInputSchema, profitabilityQuerySchema, renderInvoiceInputSchema, revenueReportQuerySchema, supplierPaymentListQuerySchema, taxRegimeListQuerySchema, updateBookingGuaranteeSchema, updateBookingItemCommissionSchema, updateBookingItemTaxLineSchema, updateBookingPaymentScheduleSchema, updateCreditNoteLineItemSchema, updateCreditNoteSchema, updateInvoiceExternalRefSchema, updateInvoiceLineItemSchema, updateInvoiceNumberSeriesSchema, updateInvoiceRenditionSchema, updateInvoiceSchema, updateInvoiceTemplateSchema, updatePaymentAuthorizationSchema, updatePaymentCaptureSchema, updatePaymentInstrumentSchema, updatePaymentSchema, updatePaymentSessionSchema, updateSupplierPaymentSchema, updateTaxRegimeSchema, } from "./validation.js";
|
|
55
|
+
export { publicBookingFinanceDocumentsSchema, publicBookingFinancePaymentsSchema, publicBookingPaymentOptionsSchema, publicFinanceBookingDocumentSchema, publicFinanceBookingPaymentSchema, publicFinanceDocumentAvailabilitySchema, publicFinanceDocumentFormatSchema, publicFinanceInvoiceTypeSchema, publicPaymentOptionsQuerySchema, publicPaymentSessionSchema, publicStartPaymentSessionSchema, publicValidateVoucherSchema, publicVoucherValidationSchema, } from "./validation-public.js";
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
2
|
+
import { financeDocumentsService } from "./service-documents.js";
|
|
3
|
+
type Env = {
|
|
4
|
+
Bindings: Record<string, unknown>;
|
|
5
|
+
Variables: {
|
|
6
|
+
db: PostgresJsDatabase;
|
|
7
|
+
userId?: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type InvoiceDocumentGenerator = Parameters<typeof financeDocumentsService.generateInvoiceDocument>[3]["generator"];
|
|
11
|
+
export interface FinanceDocumentRouteOptions {
|
|
12
|
+
invoiceDocumentGenerator?: InvoiceDocumentGenerator;
|
|
13
|
+
resolveInvoiceDocumentGenerator?: (bindings: Record<string, unknown>) => InvoiceDocumentGenerator | undefined;
|
|
14
|
+
}
|
|
15
|
+
export declare function createFinanceAdminDocumentRoutes(options?: FinanceDocumentRouteOptions): import("hono/hono-base").HonoBase<Env, {
|
|
16
|
+
"/invoices/:id/generate-document": {
|
|
17
|
+
$post: {
|
|
18
|
+
input: {
|
|
19
|
+
param: {
|
|
20
|
+
id: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
output: {
|
|
24
|
+
error: string;
|
|
25
|
+
};
|
|
26
|
+
outputFormat: "json";
|
|
27
|
+
status: 501;
|
|
28
|
+
} | {
|
|
29
|
+
input: {
|
|
30
|
+
param: {
|
|
31
|
+
id: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
output: {
|
|
35
|
+
error: string;
|
|
36
|
+
};
|
|
37
|
+
outputFormat: "json";
|
|
38
|
+
status: 404;
|
|
39
|
+
} | {
|
|
40
|
+
input: {
|
|
41
|
+
param: {
|
|
42
|
+
id: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
output: {
|
|
46
|
+
error: string;
|
|
47
|
+
};
|
|
48
|
+
outputFormat: "json";
|
|
49
|
+
status: 502;
|
|
50
|
+
} | {
|
|
51
|
+
input: {
|
|
52
|
+
param: {
|
|
53
|
+
id: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
output: {
|
|
57
|
+
data: {
|
|
58
|
+
status: "not_found" | "generator_failed";
|
|
59
|
+
} | {
|
|
60
|
+
status: "generated";
|
|
61
|
+
invoiceId: string;
|
|
62
|
+
renderedBodyFormat: "html" | "markdown" | "lexical_json";
|
|
63
|
+
renderedBody: string;
|
|
64
|
+
rendition: {
|
|
65
|
+
format: "json" | "pdf" | "html" | "xml";
|
|
66
|
+
id: string;
|
|
67
|
+
status: "pending" | "failed" | "ready" | "stale";
|
|
68
|
+
createdAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
metadata: import("hono/utils/types").JSONValue;
|
|
71
|
+
templateId: string | null;
|
|
72
|
+
language: string | null;
|
|
73
|
+
invoiceId: string;
|
|
74
|
+
storageKey: string | null;
|
|
75
|
+
fileSize: number | null;
|
|
76
|
+
checksum: string | null;
|
|
77
|
+
errorMessage: string | null;
|
|
78
|
+
generatedAt: string | null;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
outputFormat: "json";
|
|
83
|
+
status: 201;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
} & {
|
|
87
|
+
"/invoices/:id/regenerate-document": {
|
|
88
|
+
$post: {
|
|
89
|
+
input: {
|
|
90
|
+
param: {
|
|
91
|
+
id: string;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
output: {
|
|
95
|
+
error: string;
|
|
96
|
+
};
|
|
97
|
+
outputFormat: "json";
|
|
98
|
+
status: 501;
|
|
99
|
+
} | {
|
|
100
|
+
input: {
|
|
101
|
+
param: {
|
|
102
|
+
id: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
output: {
|
|
106
|
+
error: string;
|
|
107
|
+
};
|
|
108
|
+
outputFormat: "json";
|
|
109
|
+
status: 404;
|
|
110
|
+
} | {
|
|
111
|
+
input: {
|
|
112
|
+
param: {
|
|
113
|
+
id: string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
output: {
|
|
117
|
+
error: string;
|
|
118
|
+
};
|
|
119
|
+
outputFormat: "json";
|
|
120
|
+
status: 502;
|
|
121
|
+
} | {
|
|
122
|
+
input: {
|
|
123
|
+
param: {
|
|
124
|
+
id: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
output: {
|
|
128
|
+
data: {
|
|
129
|
+
status: "not_found" | "generator_failed";
|
|
130
|
+
} | {
|
|
131
|
+
status: "generated";
|
|
132
|
+
invoiceId: string;
|
|
133
|
+
renderedBodyFormat: "html" | "markdown" | "lexical_json";
|
|
134
|
+
renderedBody: string;
|
|
135
|
+
rendition: {
|
|
136
|
+
format: "json" | "pdf" | "html" | "xml";
|
|
137
|
+
id: string;
|
|
138
|
+
status: "pending" | "failed" | "ready" | "stale";
|
|
139
|
+
createdAt: string;
|
|
140
|
+
updatedAt: string;
|
|
141
|
+
metadata: import("hono/utils/types").JSONValue;
|
|
142
|
+
templateId: string | null;
|
|
143
|
+
language: string | null;
|
|
144
|
+
invoiceId: string;
|
|
145
|
+
storageKey: string | null;
|
|
146
|
+
fileSize: number | null;
|
|
147
|
+
checksum: string | null;
|
|
148
|
+
errorMessage: string | null;
|
|
149
|
+
generatedAt: string | null;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
outputFormat: "json";
|
|
154
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
}, "/", "/invoices/:id/regenerate-document">;
|
|
158
|
+
export {};
|
|
159
|
+
//# sourceMappingURL=routes-documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-documents.d.ts","sourceRoot":"","sources":["../src/routes-documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,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,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;CAC1C;AASD,wBAAgB,gCAAgC,CAAC,OAAO,GAAE,2BAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CA0CzF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import { financeDocumentsService } from "./service-documents.js";
|
|
3
|
+
import { generateInvoiceDocumentInputSchema } from "./validation.js";
|
|
4
|
+
function resolveInvoiceDocumentGenerator(options, bindings) {
|
|
5
|
+
return options?.resolveInvoiceDocumentGenerator?.(bindings) ?? options?.invoiceDocumentGenerator;
|
|
6
|
+
}
|
|
7
|
+
export function createFinanceAdminDocumentRoutes(options = {}) {
|
|
8
|
+
return new Hono()
|
|
9
|
+
.post("/invoices/:id/generate-document", async (c) => {
|
|
10
|
+
const generator = resolveInvoiceDocumentGenerator(options, c.env);
|
|
11
|
+
if (!generator) {
|
|
12
|
+
return c.json({ error: "Invoice document generator is not configured" }, 501);
|
|
13
|
+
}
|
|
14
|
+
const result = await financeDocumentsService.generateInvoiceDocument(c.get("db"), c.req.param("id"), generateInvoiceDocumentInputSchema.parse(await c.req.json().catch(() => ({}))), { generator, bindings: c.env });
|
|
15
|
+
if (result.status === "not_found")
|
|
16
|
+
return c.json({ error: "Invoice not found" }, 404);
|
|
17
|
+
if (result.status === "generator_failed") {
|
|
18
|
+
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
19
|
+
}
|
|
20
|
+
return c.json({ data: result }, 201);
|
|
21
|
+
})
|
|
22
|
+
.post("/invoices/:id/regenerate-document", async (c) => {
|
|
23
|
+
const generator = resolveInvoiceDocumentGenerator(options, c.env);
|
|
24
|
+
if (!generator) {
|
|
25
|
+
return c.json({ error: "Invoice document generator is not configured" }, 501);
|
|
26
|
+
}
|
|
27
|
+
const result = await financeDocumentsService.regenerateInvoiceDocument(c.get("db"), c.req.param("id"), generateInvoiceDocumentInputSchema.parse(await c.req.json().catch(() => ({}))), { generator, bindings: c.env });
|
|
28
|
+
if (result.status === "not_found")
|
|
29
|
+
return c.json({ error: "Invoice not found" }, 404);
|
|
30
|
+
if (result.status === "generator_failed") {
|
|
31
|
+
return c.json({ error: "Invoice document generation failed" }, 502);
|
|
32
|
+
}
|
|
33
|
+
return c.json({ data: result });
|
|
34
|
+
});
|
|
35
|
+
}
|