@voyantjs/finance 0.82.1 → 0.84.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.
@@ -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;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"}
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;AAM/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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAwEzF"}
@@ -1,4 +1,4 @@
1
- import { parseOptionalJsonBody } from "@voyantjs/hono";
1
+ import { createDrizzlePublicDocumentDeliveryGrantStore, createPublicDocumentDeliveryGrant, parseOptionalJsonBody, } from "@voyantjs/hono";
2
2
  import { Hono } from "hono";
3
3
  import { resolveStoredDocumentDownload } from "./document-download.js";
4
4
  import { buildFinanceRouteRuntime, FINANCE_ROUTE_RUNTIME_CONTAINER_KEY, } from "./route-runtime.js";
@@ -17,7 +17,8 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
17
17
  if (!generator) {
18
18
  return c.json({ error: "Invoice document generator is not configured" }, 501);
19
19
  }
20
- const result = await financeDocumentsService.generateInvoiceDocument(c.get("db"), c.req.param("id"), await parseOptionalJsonBody(c, generateInvoiceDocumentInputSchema), { generator, bindings: c.env, eventBus: runtime.eventBus });
20
+ const input = await parseOptionalJsonBody(c, generateInvoiceDocumentInputSchema);
21
+ const result = await financeDocumentsService.generateInvoiceDocument(c.get("db"), c.req.param("id"), input, { generator, bindings: c.env, eventBus: runtime.eventBus });
21
22
  if (result.status === "not_found")
22
23
  return c.json({ error: "Invoice not found" }, 404);
23
24
  if (result.status === "generator_failed") {
@@ -26,7 +27,7 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
26
27
  if (!("rendition" in result)) {
27
28
  return c.json({ error: "Invoice document generation failed" }, 502);
28
29
  }
29
- return c.json({ data: await attachDownloadEnvelope(c.env, runtime, result) }, 201);
30
+ return c.json({ data: await attachDownloadEnvelope(c, runtime, result, input) }, 201);
30
31
  })
31
32
  .post("/invoices/:id/regenerate-document", async (c) => {
32
33
  const runtime = getRuntime(options, c.env, (key) => c.var.container?.resolve(key));
@@ -34,7 +35,8 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
34
35
  if (!generator) {
35
36
  return c.json({ error: "Invoice document generator is not configured" }, 501);
36
37
  }
37
- const result = await financeDocumentsService.regenerateInvoiceDocument(c.get("db"), c.req.param("id"), await parseOptionalJsonBody(c, generateInvoiceDocumentInputSchema), { generator, bindings: c.env, eventBus: runtime.eventBus });
38
+ const input = await parseOptionalJsonBody(c, generateInvoiceDocumentInputSchema);
39
+ const result = await financeDocumentsService.regenerateInvoiceDocument(c.get("db"), c.req.param("id"), input, { generator, bindings: c.env, eventBus: runtime.eventBus });
38
40
  if (result.status === "not_found")
39
41
  return c.json({ error: "Invoice not found" }, 404);
40
42
  if (result.status === "generator_failed") {
@@ -43,7 +45,7 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
43
45
  if (!("rendition" in result)) {
44
46
  return c.json({ error: "Invoice document generation failed" }, 502);
45
47
  }
46
- return c.json({ data: await attachDownloadEnvelope(c.env, runtime, result) });
48
+ return c.json({ data: await attachDownloadEnvelope(c, runtime, result, input) });
47
49
  })
48
50
  .get("/invoice-renditions/:id/download", async (c) => {
49
51
  const runtime = getRuntime(options, c.env, (key) => c.var.container?.resolve(key));
@@ -64,10 +66,28 @@ export function createFinanceAdminDocumentRoutes(options = {}) {
64
66
  return c.redirect(download.download.url, 302);
65
67
  });
66
68
  }
67
- async function attachDownloadEnvelope(bindings, runtime, result) {
69
+ async function attachDownloadEnvelope(c, runtime, result, input) {
68
70
  const download = await resolveStoredDocumentDownload(result.rendition, {
69
- bindings,
71
+ bindings: c.env,
70
72
  resolveDocumentDownloadUrl: runtime.resolveDocumentDownloadUrl,
71
73
  });
72
- return download.status === "ready" ? { ...result, download: download.download } : result;
74
+ const withAdminDownload = download.status === "ready" ? { ...result, download: download.download } : result;
75
+ if (!input.publicDelivery || !result.rendition.storageKey) {
76
+ return withAdminDownload;
77
+ }
78
+ const publicDownload = await createPublicDocumentDeliveryGrant(createDrizzlePublicDocumentDeliveryGrantStore(c.get("db")), {
79
+ storageKey: result.rendition.storageKey,
80
+ publicBaseUrl: new URL(c.req.url).origin,
81
+ ttlSeconds: input.publicDeliveryTtlSeconds,
82
+ filename: download.status === "ready" ? download.download.filename : null,
83
+ contentType: result.rendition.format === "pdf" ? "application/pdf" : null,
84
+ source: {
85
+ module: "finance",
86
+ entity: "invoice_rendition",
87
+ id: result.rendition.id ?? null,
88
+ },
89
+ createdBy: c.get("userId") ?? null,
90
+ createdByType: c.get("userId") ? "staff" : null,
91
+ });
92
+ return { ...withAdminDownload, publicDownload };
73
93
  }
@@ -986,7 +986,7 @@ export async function createBooking(db, rawInput, options = {}) {
986
986
  let invoiceDocument = { status: "not_requested" };
987
987
  if (documentGeneration.invoiceDocument) {
988
988
  if (runtime?.invoiceDocumentGenerator) {
989
- const generated = await financeDocumentsService.generateInvoiceDocument(db, invoice.id, { format: "pdf", replaceExisting: true }, {
989
+ const generated = await financeDocumentsService.generateInvoiceDocument(db, invoice.id, { format: "pdf", replaceExisting: true, publicDelivery: false }, {
990
990
  generator: runtime.invoiceDocumentGenerator,
991
991
  eventBus: runtime.eventBus,
992
992
  bindings: runtime.bindings,
@@ -775,6 +775,8 @@ export declare const generateInvoiceDocumentInputSchema: z.ZodObject<{
775
775
  }>>>;
776
776
  waitTimeoutMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
777
777
  replaceExisting: z.ZodDefault<z.ZodBoolean>;
778
+ publicDelivery: z.ZodDefault<z.ZodBoolean>;
779
+ publicDeliveryTtlSeconds: z.ZodOptional<z.ZodNumber>;
778
780
  }, z.core.$strip>;
779
781
  export declare const invoiceDocumentWaitQuerySchema: z.ZodObject<{
780
782
  wait: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"validation-billing.d.ts","sourceRoot":"","sources":["../src/validation-billing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA0BvB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;iBAA+B,CAAA;AAC1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;iBAAyC,CAAA;AAepF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAA;AAChF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4C,CAAA;AA4B1F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoB,CAAA;AACpD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8B,CAAA;AAC9D,eAAO,MAAM,iBAAiB;;iBAE5B,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;EASrC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;EAA0B,CAAA;AAE/D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAajC,CAAA;AAyCF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDjC,CAAA;AAaJ,eAAO,MAAM,2BAA2B;;;;;;;;;iBAAqB,CAAA;AAC7D,eAAO,MAAM,2BAA2B;;;;;;;;;iBAA+B,CAAA;AAcvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAAuB,CAAA;AAC1D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAAiC,CAAA;AAUpE,eAAO,MAAM,8BAA8B;;;;;;iBAA+B,CAAA;AAC1E,eAAO,MAAM,8BAA8B;;;;;;iBAAyC,CAAA;AAEpF,eAAO,MAAM,uBAAuB;;iBAElC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;iBAA+D,CAAA;AACpG,eAAO,MAAM,sBAAsB;;iBAA4C,CAAA;AAC/E,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AAmBF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;iBAAgC,CAAA;AAC5E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;iBAA0C,CAAA;AACtF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;iBAG7C,CAAA;AACF,eAAO,MAAM,gCAAgC;;iBAA4C,CAAA;AAmBzF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;iBAA4B,CAAA;AACpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;iBAAsC,CAAA;AAC9E,eAAO,MAAM,8BAA8B;;;;;;;iBAKzC,CAAA;AAgBF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAA;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;iBAAuC,CAAA;AAYhF,eAAO,MAAM,6BAA6B;;;;;;;;iBAA8B,CAAA;AACxE,eAAO,MAAM,6BAA6B;;;;;;;;iBAAwC,CAAA;AAsBlF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAAsB,CAAA;AACxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAAgC,CAAA;AAClE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAInC,CAAA;AAeF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAAqB,CAAA;AACtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAA+B,CAAA;AAChE,eAAO,MAAM,uBAAuB;;;;;iBAGlC,CAAA;AAWF,eAAO,MAAM,4BAA4B;;;;;;iBAA6B,CAAA;AACtE,eAAO,MAAM,4BAA4B;;;;;;iBAAuC,CAAA;AAChF,eAAO,MAAM,+BAA+B;;;;;;iBAI1C,CAAA;AAaF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAA0B,CAAA;AAChE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAAoC,CAAA;AAC1E,eAAO,MAAM,4BAA4B;;;;;;;;;iBAIvC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;iBAA+B,CAAA;AAC1E,eAAO,MAAM,8BAA8B;;;;;;;;;iBAAyC,CAAA;AAEpF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;iBAO3C,CAAA;AAEF,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;iBActD,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM9C,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;iBAE7C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;iBAAkC,CAAA;AAE7E,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB/C,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC7F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA"}
1
+ {"version":3,"file":"validation-billing.d.ts","sourceRoot":"","sources":["../src/validation-billing.ts"],"names":[],"mappings":"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"}
@@ -405,6 +405,13 @@ export const renderInvoiceInputSchema = z.object({
405
405
  });
406
406
  export const generateInvoiceDocumentInputSchema = renderInvoiceInputSchema.extend({
407
407
  replaceExisting: z.boolean().default(true),
408
+ publicDelivery: z.boolean().default(false),
409
+ publicDeliveryTtlSeconds: z
410
+ .number()
411
+ .int()
412
+ .min(1)
413
+ .max(30 * 24 * 60 * 60)
414
+ .optional(),
408
415
  });
409
416
  export const invoiceDocumentWaitQuerySchema = invoiceDocumentWaitFieldsSchema;
410
417
  export const generatedInvoiceDocumentResultSchema = z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/finance",
3
- "version": "0.82.1",
3
+ "version": "0.84.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -60,14 +60,14 @@
60
60
  "drizzle-orm": "^0.45.2",
61
61
  "hono": "^4.12.10",
62
62
  "zod": "^4.3.6",
63
- "@voyantjs/action-ledger": "0.82.1",
64
- "@voyantjs/bookings": "0.82.1",
65
- "@voyantjs/core": "0.82.1",
66
- "@voyantjs/db": "0.82.1",
67
- "@voyantjs/hono": "0.82.1",
68
- "@voyantjs/products": "0.82.1",
69
- "@voyantjs/storage": "0.82.1",
70
- "@voyantjs/utils": "0.82.1"
63
+ "@voyantjs/action-ledger": "0.84.0",
64
+ "@voyantjs/core": "0.84.0",
65
+ "@voyantjs/bookings": "0.84.0",
66
+ "@voyantjs/db": "0.84.0",
67
+ "@voyantjs/hono": "0.84.0",
68
+ "@voyantjs/products": "0.84.0",
69
+ "@voyantjs/storage": "0.84.0",
70
+ "@voyantjs/utils": "0.84.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "typescript": "^6.0.2",