@carlonicora/nestjs-neo4jsonapi 1.73.0 → 1.74.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.
Files changed (54) hide show
  1. package/dist/core/blocknote/blocknote.module.d.ts +1 -0
  2. package/dist/core/blocknote/blocknote.module.d.ts.map +1 -1
  3. package/dist/core/blocknote/blocknote.module.js +4 -2
  4. package/dist/core/blocknote/blocknote.module.js.map +1 -1
  5. package/dist/core/blocknote/index.d.ts +1 -0
  6. package/dist/core/blocknote/index.d.ts.map +1 -1
  7. package/dist/core/blocknote/index.js +1 -0
  8. package/dist/core/blocknote/index.js.map +1 -1
  9. package/dist/core/blocknote/services/blocknote-to-docx.service.d.ts +55 -0
  10. package/dist/core/blocknote/services/blocknote-to-docx.service.d.ts.map +1 -0
  11. package/dist/core/blocknote/services/blocknote-to-docx.service.js +903 -0
  12. package/dist/core/blocknote/services/blocknote-to-docx.service.js.map +1 -0
  13. package/dist/core/document/document.module.d.ts +25 -0
  14. package/dist/core/document/document.module.d.ts.map +1 -0
  15. package/dist/core/document/document.module.js +46 -0
  16. package/dist/core/document/document.module.js.map +1 -0
  17. package/dist/core/document/index.d.ts +6 -0
  18. package/dist/core/document/index.d.ts.map +1 -0
  19. package/dist/core/document/index.js +22 -0
  20. package/dist/core/document/index.js.map +1 -0
  21. package/dist/core/document/services/abstract-document-generator.service.d.ts +90 -0
  22. package/dist/core/document/services/abstract-document-generator.service.d.ts.map +1 -0
  23. package/dist/core/document/services/abstract-document-generator.service.js +120 -0
  24. package/dist/core/document/services/abstract-document-generator.service.js.map +1 -0
  25. package/dist/core/document/services/docx-template.service.d.ts +36 -0
  26. package/dist/core/document/services/docx-template.service.d.ts.map +1 -0
  27. package/dist/core/document/services/docx-template.service.js +58 -0
  28. package/dist/core/document/services/docx-template.service.js.map +1 -0
  29. package/dist/core/document/utils/inject-draft-watermark.d.ts +24 -0
  30. package/dist/core/document/utils/inject-draft-watermark.d.ts.map +1 -0
  31. package/dist/core/document/utils/inject-draft-watermark.js +182 -0
  32. package/dist/core/document/utils/inject-draft-watermark.js.map +1 -0
  33. package/dist/core/document/utils/inject-xml.d.ts +15 -0
  34. package/dist/core/document/utils/inject-xml.d.ts.map +1 -0
  35. package/dist/core/document/utils/inject-xml.js +35 -0
  36. package/dist/core/document/utils/inject-xml.js.map +1 -0
  37. package/dist/core/pdf/index.d.ts +3 -0
  38. package/dist/core/pdf/index.d.ts.map +1 -0
  39. package/dist/core/pdf/index.js +19 -0
  40. package/dist/core/pdf/index.js.map +1 -0
  41. package/dist/core/pdf/pdf.module.d.ts +21 -0
  42. package/dist/core/pdf/pdf.module.d.ts.map +1 -0
  43. package/dist/core/pdf/pdf.module.js +39 -0
  44. package/dist/core/pdf/pdf.module.js.map +1 -0
  45. package/dist/core/pdf/services/docx-to-pdf.service.d.ts +28 -0
  46. package/dist/core/pdf/services/docx-to-pdf.service.d.ts.map +1 -0
  47. package/dist/core/pdf/services/docx-to-pdf.service.js +86 -0
  48. package/dist/core/pdf/services/docx-to-pdf.service.js.map +1 -0
  49. package/dist/foundations/stripe/__tests__/mocks/stripe.mock.d.ts +62 -62
  50. package/dist/index.d.ts +2 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +2 -0
  53. package/dist/index.js.map +1 -1
  54. package/package.json +23 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote-to-docx.service.js","sourceRoot":"","sources":["../../../../src/core/blocknote/services/blocknote-to-docx.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * DocumentModule
3
+ *
4
+ * Provides everything a `AbstractDocumentGeneratorService` subclass needs:
5
+ * - `DocxTemplateService` (DOCX rendering via docx-templates or BlockNote)
6
+ * - `PdfModule` → `DocxToPdfService` (DOCX → PDF via LibreOffice)
7
+ * - `BlockNoteModule` → `BlockNoteToDocxService` (BlockNote → DOCX)
8
+ * - `Logger` (consumed by `AbstractDocumentGeneratorService`)
9
+ *
10
+ * Feature modules that extend `AbstractDocumentGeneratorService` should import
11
+ * this module. They must also provide the concrete subclass and inject `Logger`
12
+ * into its constructor.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * @Module({
17
+ * imports: [DocumentModule, S3Module],
18
+ * providers: [InvoiceDocumentGeneratorService, Logger],
19
+ * })
20
+ * export class InvoiceModule {}
21
+ * ```
22
+ */
23
+ export declare class DocumentModule {
24
+ }
25
+ //# sourceMappingURL=document.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.module.d.ts","sourceRoot":"","sources":["../../../src/core/document/document.module.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAKa,cAAc;CAAG"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DocumentModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const blocknote_module_1 = require("../blocknote/blocknote.module");
12
+ const pdf_module_1 = require("../pdf/pdf.module");
13
+ const docx_template_service_1 = require("./services/docx-template.service");
14
+ /**
15
+ * DocumentModule
16
+ *
17
+ * Provides everything a `AbstractDocumentGeneratorService` subclass needs:
18
+ * - `DocxTemplateService` (DOCX rendering via docx-templates or BlockNote)
19
+ * - `PdfModule` → `DocxToPdfService` (DOCX → PDF via LibreOffice)
20
+ * - `BlockNoteModule` → `BlockNoteToDocxService` (BlockNote → DOCX)
21
+ * - `Logger` (consumed by `AbstractDocumentGeneratorService`)
22
+ *
23
+ * Feature modules that extend `AbstractDocumentGeneratorService` should import
24
+ * this module. They must also provide the concrete subclass and inject `Logger`
25
+ * into its constructor.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * @Module({
30
+ * imports: [DocumentModule, S3Module],
31
+ * providers: [InvoiceDocumentGeneratorService, Logger],
32
+ * })
33
+ * export class InvoiceModule {}
34
+ * ```
35
+ */
36
+ let DocumentModule = class DocumentModule {
37
+ };
38
+ exports.DocumentModule = DocumentModule;
39
+ exports.DocumentModule = DocumentModule = __decorate([
40
+ (0, common_1.Module)({
41
+ imports: [pdf_module_1.PdfModule, blocknote_module_1.BlockNoteModule],
42
+ providers: [docx_template_service_1.DocxTemplateService, common_1.Logger],
43
+ exports: [docx_template_service_1.DocxTemplateService, pdf_module_1.PdfModule, blocknote_module_1.BlockNoteModule, common_1.Logger],
44
+ })
45
+ ], DocumentModule);
46
+ //# sourceMappingURL=document.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.module.js","sourceRoot":"","sources":["../../../src/core/document/document.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,oEAAgE;AAChE,kDAA8C;AAC9C,4EAAuE;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMI,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAL1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAS,EAAE,kCAAe,CAAC;QACrC,SAAS,EAAE,CAAC,2CAAmB,EAAE,eAAM,CAAC;QACxC,OAAO,EAAE,CAAC,2CAAmB,EAAE,sBAAS,EAAE,kCAAe,EAAE,eAAM,CAAC;KACnE,CAAC;GACW,cAAc,CAAG"}
@@ -0,0 +1,6 @@
1
+ export * from "./document.module";
2
+ export * from "./services/abstract-document-generator.service";
3
+ export * from "./services/docx-template.service";
4
+ export * from "./utils/inject-xml";
5
+ export * from "./utils/inject-draft-watermark";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/document/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./document.module"), exports);
18
+ __exportStar(require("./services/abstract-document-generator.service"), exports);
19
+ __exportStar(require("./services/docx-template.service"), exports);
20
+ __exportStar(require("./utils/inject-xml"), exports);
21
+ __exportStar(require("./utils/inject-draft-watermark"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/document/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,iFAA+D;AAC/D,mEAAiD;AACjD,qDAAmC;AACnC,iEAA+C"}
@@ -0,0 +1,90 @@
1
+ import { Logger } from "@nestjs/common";
2
+ import { S3Service } from "../../../foundations/s3/services/s3.service";
3
+ import { DocxTemplateService, DocumentTemplate } from "./docx-template.service";
4
+ import { DocxToPdfService } from "../../pdf/services/docx-to-pdf.service";
5
+ export type DocumentFormat = "docx" | "pdf";
6
+ export interface DocumentTarget {
7
+ /** The output format to produce. */
8
+ format: DocumentFormat;
9
+ /** S3 key where the produced file should be stored. Caller supplies this; the library never decides key names. */
10
+ s3Key: string;
11
+ }
12
+ export interface DocumentGenerationResult {
13
+ format: DocumentFormat;
14
+ s3Key: string;
15
+ success: boolean;
16
+ /** Populated only when `success` is false. */
17
+ error?: Error;
18
+ }
19
+ /**
20
+ * Template-method base class for backend document generation.
21
+ *
22
+ * Subclasses supply all domain knowledge (how to load the entity, which
23
+ * template to use, how to build the field context, where to persist URLs).
24
+ * The algorithm — render → post-process → watermark → upload DOCX → convert
25
+ * → upload PDF → persist — is fixed here and cannot be overridden.
26
+ *
27
+ * ### Error semantics
28
+ *
29
+ * | Failure point | Behaviour |
30
+ * |---|---|
31
+ * | `loadEntityWithRelations` / `loadTemplate` / DOCX render | Whole call throws. No persistence. |
32
+ * | DOCX upload | Whole call throws. No persistence. |
33
+ * | PDF conversion or PDF upload | DOCX result stays successful. PDF result added with `success: false`. `persistDocumentUrls` is still called. |
34
+ *
35
+ * ### Edge cases
36
+ *
37
+ * - Caller passes only `[{ format: "pdf", … }]`: DOCX is rendered as an
38
+ * in-memory intermediate but never uploaded.
39
+ * - Caller passes only `[{ format: "docx", … }]`: PDF conversion is skipped.
40
+ * - Caller passes both: both run; PDF failure leaves DOCX untouched.
41
+ */
42
+ export declare abstract class AbstractDocumentGeneratorService<T> {
43
+ protected readonly docxTemplateService: DocxTemplateService;
44
+ protected readonly docxToPdfService: DocxToPdfService;
45
+ protected readonly s3Service: S3Service;
46
+ protected readonly logger: Logger;
47
+ /** Human-readable entity type name used in log messages (e.g. `"invoice"`). */
48
+ protected abstract readonly entityType: string;
49
+ constructor(docxTemplateService: DocxTemplateService, docxToPdfService: DocxToPdfService, s3Service: S3Service, logger: Logger);
50
+ /** Load the entity and all relationships needed to build the field context. */
51
+ protected abstract loadEntityWithRelations(id: string): Promise<T>;
52
+ /** Resolve the document template to render (DOCX or BlockNote). */
53
+ protected abstract loadTemplate(entity: T): Promise<DocumentTemplate>;
54
+ /**
55
+ * Build the flat field-context object whose keys match template placeholders.
56
+ * Must be a pure function of `entity` and `template` — no async work here.
57
+ *
58
+ * `template` is provided so subclasses can branch on `template.kind` to choose
59
+ * between (a) plain markdown values for the BlockNote path (inlined directly
60
+ * into the rendered document) and (b) sentinel strings for the DOCX-file path
61
+ * that are subsequently replaced by `postProcessDocx` with raw WordprocessingML.
62
+ */
63
+ protected abstract buildFieldContext(entity: T, template: DocumentTemplate): Record<string, unknown>;
64
+ /**
65
+ * Persist the S3 keys that were successfully produced.
66
+ * Called exactly once per `generate()` invocation, even when PDF conversion
67
+ * failed (best-effort semantic for PDF).
68
+ * Must return the updated entity.
69
+ */
70
+ protected abstract persistDocumentUrls(id: string, results: DocumentGenerationResult[]): Promise<T>;
71
+ /**
72
+ * Post-process the rendered DOCX buffer before upload/conversion.
73
+ * Typical use: inject a line-item table via `injectXml`.
74
+ */
75
+ protected postProcessDocx?(buffer: Buffer, entity: T): Promise<Buffer>;
76
+ /**
77
+ * Return `true` if a draft watermark should be applied to this entity.
78
+ * Defaults to no watermark when not overridden.
79
+ */
80
+ protected shouldApplyWatermark?(entity: T): boolean;
81
+ /**
82
+ * Generate document artifacts for the given entity and upload them to S3.
83
+ *
84
+ * @param id - Entity ID.
85
+ * @param targets - One or more `{ format, s3Key }` descriptors. At least one required.
86
+ * @returns The entity after `persistDocumentUrls` has been called.
87
+ */
88
+ generate(id: string, targets: DocumentTarget[]): Promise<T>;
89
+ }
90
+ //# sourceMappingURL=abstract-document-generator.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-document-generator.service.d.ts","sourceRoot":"","sources":["../../../../src/core/document/services/abstract-document-generator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,kHAAkH;IAClH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAKD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8BACsB,gCAAgC,CAAC,CAAC;IAKpD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB;IAC3D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAPnC,+EAA+E;IAC/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAG1B,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM;IAKnC,+EAA+E;IAC/E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAElE,mEAAmE;IACnE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAErE;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEpG;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAInG;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtE;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO;IAInD;;;;;;OAMG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAgElE"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AbstractDocumentGeneratorService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const s3_service_1 = require("../../../foundations/s3/services/s3.service");
15
+ const docx_template_service_1 = require("./docx-template.service");
16
+ const docx_to_pdf_service_1 = require("../../pdf/services/docx-to-pdf.service");
17
+ const inject_draft_watermark_1 = require("../utils/inject-draft-watermark");
18
+ const MIME_DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
19
+ const MIME_PDF = "application/pdf";
20
+ /**
21
+ * Template-method base class for backend document generation.
22
+ *
23
+ * Subclasses supply all domain knowledge (how to load the entity, which
24
+ * template to use, how to build the field context, where to persist URLs).
25
+ * The algorithm — render → post-process → watermark → upload DOCX → convert
26
+ * → upload PDF → persist — is fixed here and cannot be overridden.
27
+ *
28
+ * ### Error semantics
29
+ *
30
+ * | Failure point | Behaviour |
31
+ * |---|---|
32
+ * | `loadEntityWithRelations` / `loadTemplate` / DOCX render | Whole call throws. No persistence. |
33
+ * | DOCX upload | Whole call throws. No persistence. |
34
+ * | PDF conversion or PDF upload | DOCX result stays successful. PDF result added with `success: false`. `persistDocumentUrls` is still called. |
35
+ *
36
+ * ### Edge cases
37
+ *
38
+ * - Caller passes only `[{ format: "pdf", … }]`: DOCX is rendered as an
39
+ * in-memory intermediate but never uploaded.
40
+ * - Caller passes only `[{ format: "docx", … }]`: PDF conversion is skipped.
41
+ * - Caller passes both: both run; PDF failure leaves DOCX untouched.
42
+ */
43
+ let AbstractDocumentGeneratorService = class AbstractDocumentGeneratorService {
44
+ constructor(docxTemplateService, docxToPdfService, s3Service, logger) {
45
+ this.docxTemplateService = docxTemplateService;
46
+ this.docxToPdfService = docxToPdfService;
47
+ this.s3Service = s3Service;
48
+ this.logger = logger;
49
+ }
50
+ // ---- the workflow (final) ---------------------------------------------------
51
+ /**
52
+ * Generate document artifacts for the given entity and upload them to S3.
53
+ *
54
+ * @param id - Entity ID.
55
+ * @param targets - One or more `{ format, s3Key }` descriptors. At least one required.
56
+ * @returns The entity after `persistDocumentUrls` has been called.
57
+ */
58
+ async generate(id, targets) {
59
+ if (targets.length === 0) {
60
+ throw new Error("AbstractDocumentGeneratorService.generate: at least one DocumentTarget required");
61
+ }
62
+ const docxTarget = targets.find((t) => t.format === "docx");
63
+ const pdfTarget = targets.find((t) => t.format === "pdf");
64
+ // --- step 1: load entity + template + field context ----------------------
65
+ const entity = await this.loadEntityWithRelations(id);
66
+ const template = await this.loadTemplate(entity);
67
+ const fieldContext = this.buildFieldContext(entity, template);
68
+ // --- step 2: render DOCX (always — even if only PDF is requested) --------
69
+ let docx = await this.docxTemplateService.render(template, fieldContext);
70
+ if (this.postProcessDocx) {
71
+ docx = await this.postProcessDocx(docx, entity);
72
+ }
73
+ if (this.shouldApplyWatermark?.(entity)) {
74
+ docx = await (0, inject_draft_watermark_1.injectDraftWatermark)(docx);
75
+ }
76
+ // --- step 3: upload DOCX (if requested) ----------------------------------
77
+ const results = [];
78
+ if (docxTarget) {
79
+ await this.s3Service.uploadToS3({
80
+ key: docxTarget.s3Key,
81
+ buffer: docx,
82
+ contentType: MIME_DOCX,
83
+ });
84
+ results.push({ format: "docx", s3Key: docxTarget.s3Key, success: true });
85
+ }
86
+ // --- step 4: convert + upload PDF (if requested, best-effort) ------------
87
+ if (pdfTarget) {
88
+ try {
89
+ const pdf = await this.docxToPdfService.convert(docx);
90
+ await this.s3Service.uploadToS3({
91
+ key: pdfTarget.s3Key,
92
+ buffer: pdf,
93
+ contentType: MIME_PDF,
94
+ });
95
+ results.push({ format: "pdf", s3Key: pdfTarget.s3Key, success: true });
96
+ }
97
+ catch (err) {
98
+ const message = err instanceof Error ? err.message : String(err);
99
+ this.logger.error(`PDF conversion failed for ${this.entityType} ${id}: ${message}`, err instanceof Error ? err.stack : undefined);
100
+ results.push({
101
+ format: "pdf",
102
+ s3Key: pdfTarget.s3Key,
103
+ success: false,
104
+ error: err,
105
+ });
106
+ }
107
+ }
108
+ // --- step 5: persist and return ------------------------------------------
109
+ return this.persistDocumentUrls(id, results);
110
+ }
111
+ };
112
+ exports.AbstractDocumentGeneratorService = AbstractDocumentGeneratorService;
113
+ exports.AbstractDocumentGeneratorService = AbstractDocumentGeneratorService = __decorate([
114
+ (0, common_1.Injectable)(),
115
+ __metadata("design:paramtypes", [docx_template_service_1.DocxTemplateService,
116
+ docx_to_pdf_service_1.DocxToPdfService,
117
+ s3_service_1.S3Service,
118
+ common_1.Logger])
119
+ ], AbstractDocumentGeneratorService);
120
+ //# sourceMappingURL=abstract-document-generator.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-document-generator.service.js","sourceRoot":"","sources":["../../../../src/core/document/services/abstract-document-generator.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { BlockNoteToDocxService } from "../../blocknote/services/blocknote-to-docx.service";
2
+ /**
3
+ * Describes a template that can be rendered into a DOCX buffer.
4
+ *
5
+ * - `kind: "docx"` — a Word `.docx` file processed by `docx-templates`
6
+ * (field placeholders use `[[fieldName]]` syntax with cmdDelimiter `["[[", "]]"]`)
7
+ * - `kind: "blocknote"` — a BlockNote / Markdown template processed by
8
+ * `BlockNoteToDocxService`
9
+ */
10
+ export interface DocumentTemplate {
11
+ buffer: Buffer;
12
+ kind: "docx" | "blocknote";
13
+ }
14
+ /**
15
+ * Single entry-point for rendering a document template against a field context.
16
+ *
17
+ * Routes by `template.kind`:
18
+ * - `"docx"` → `docx-templates` `createReport`
19
+ * - `"blocknote"` → `BlockNoteToDocxService.render`
20
+ *
21
+ * Returns a DOCX `Buffer` either way. Callers (e.g. `AbstractDocumentGeneratorService`)
22
+ * do not need to know which rendering path was taken.
23
+ */
24
+ export declare class DocxTemplateService {
25
+ private readonly blockNoteToDocxService;
26
+ constructor(blockNoteToDocxService: BlockNoteToDocxService);
27
+ /**
28
+ * Render `template` against `fieldContext` and return a DOCX Buffer.
29
+ *
30
+ * @param template - The template descriptor (buffer + kind).
31
+ * @param fieldContext - Key/value pairs whose keys match template placeholders.
32
+ * @returns A DOCX Buffer.
33
+ */
34
+ render(template: DocumentTemplate, fieldContext: Record<string, unknown>): Promise<Buffer>;
35
+ }
36
+ //# sourceMappingURL=docx-template.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx-template.service.d.ts","sourceRoot":"","sources":["../../../../src/core/document/services/docx-template.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAE5F;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,qBACa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAAtB,sBAAsB,EAAE,sBAAsB;IAE3E;;;;;;OAMG;IACG,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAajG"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DocxTemplateService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const docx_templates_1 = __importDefault(require("docx-templates"));
18
+ const blocknote_to_docx_service_1 = require("../../blocknote/services/blocknote-to-docx.service");
19
+ /**
20
+ * Single entry-point for rendering a document template against a field context.
21
+ *
22
+ * Routes by `template.kind`:
23
+ * - `"docx"` → `docx-templates` `createReport`
24
+ * - `"blocknote"` → `BlockNoteToDocxService.render`
25
+ *
26
+ * Returns a DOCX `Buffer` either way. Callers (e.g. `AbstractDocumentGeneratorService`)
27
+ * do not need to know which rendering path was taken.
28
+ */
29
+ let DocxTemplateService = class DocxTemplateService {
30
+ constructor(blockNoteToDocxService) {
31
+ this.blockNoteToDocxService = blockNoteToDocxService;
32
+ }
33
+ /**
34
+ * Render `template` against `fieldContext` and return a DOCX Buffer.
35
+ *
36
+ * @param template - The template descriptor (buffer + kind).
37
+ * @param fieldContext - Key/value pairs whose keys match template placeholders.
38
+ * @returns A DOCX Buffer.
39
+ */
40
+ async render(template, fieldContext) {
41
+ if (template.kind === "docx") {
42
+ const result = await (0, docx_templates_1.default)({
43
+ template: template.buffer,
44
+ data: fieldContext,
45
+ cmdDelimiter: ["[[", "]]"],
46
+ failFast: false,
47
+ });
48
+ return Buffer.from(result);
49
+ }
50
+ return this.blockNoteToDocxService.render(template.buffer, fieldContext);
51
+ }
52
+ };
53
+ exports.DocxTemplateService = DocxTemplateService;
54
+ exports.DocxTemplateService = DocxTemplateService = __decorate([
55
+ (0, common_1.Injectable)(),
56
+ __metadata("design:paramtypes", [blocknote_to_docx_service_1.BlockNoteToDocxService])
57
+ ], DocxTemplateService);
58
+ //# sourceMappingURL=docx-template.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx-template.service.js","sourceRoot":"","sources":["../../../../src/core/document/services/docx-template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oEAA0C;AAC1C,kGAA4F;AAe5F;;;;;;;;;GASG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;IAAG,CAAC;IAE/E;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,YAAqC;QAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAY,EAAC;gBAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,IAAI,EAAE,YAAY;gBAClB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC1B,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AAvBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE0C,kDAAsB;GADhE,mBAAmB,CAuB/B"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Generic "BOZZA" (draft) watermark injection for DOCX files.
3
+ *
4
+ * Ported from apps/api/src/features/finance/invoice/document/inject-draft-watermark.ts
5
+ * and adapted to accept/return a Buffer instead of a JSZip instance, so it
6
+ * can be used as a standalone utility without the caller needing to manage
7
+ * the JSZip lifecycle.
8
+ *
9
+ * The original file remains in place until T5/T6 migration work (it will be
10
+ * deleted once the invoice generator is refactored to use this library util).
11
+ */
12
+ /**
13
+ * Inject an idempotent "BOZZA" watermark into the document's default header.
14
+ *
15
+ * Accepts a DOCX as a Buffer and returns a new DOCX Buffer with the watermark
16
+ * applied. Re-running on the same document is safe — the SENTINEL marker is
17
+ * checked first so the watermark is never double-injected.
18
+ *
19
+ * @param docxBuffer - A valid DOCX file as a Buffer.
20
+ * @param text - Watermark text (defaults to "BOZZA").
21
+ * @returns A new DOCX Buffer with the watermark injected.
22
+ */
23
+ export declare function injectDraftWatermark(docxBuffer: Buffer, text?: string): Promise<Buffer>;
24
+ //# sourceMappingURL=inject-draft-watermark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-draft-watermark.d.ts","sourceRoot":"","sources":["../../../../src/core/document/utils/inject-draft-watermark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,SAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAI9F"}