@botler/1403-form-filler-module 1.0.3 → 1.2.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.
Files changed (45) hide show
  1. package/README.md +82 -2
  2. package/dist/canvasser-data-mapper.d.ts.map +1 -1
  3. package/dist/canvasser-data-mapper.js +0 -1
  4. package/dist/canvasser-data-mapper.js.map +1 -1
  5. package/dist/cli.js +12 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +20 -5
  9. package/dist/config.js.map +1 -1
  10. package/dist/csv-exporter/exporter.d.ts +49 -0
  11. package/dist/csv-exporter/exporter.d.ts.map +1 -0
  12. package/dist/csv-exporter/exporter.js +153 -0
  13. package/dist/csv-exporter/exporter.js.map +1 -0
  14. package/dist/csv-exporter/index.d.ts +6 -0
  15. package/dist/csv-exporter/index.d.ts.map +1 -0
  16. package/dist/csv-exporter/index.js +9 -0
  17. package/dist/csv-exporter/index.js.map +1 -0
  18. package/dist/csv-exporter/types.d.ts +57 -0
  19. package/dist/csv-exporter/types.d.ts.map +1 -0
  20. package/dist/csv-exporter/types.js +9 -0
  21. package/dist/csv-exporter/types.js.map +1 -0
  22. package/dist/db/index.d.ts +1 -1
  23. package/dist/db/index.d.ts.map +1 -1
  24. package/dist/db/index.js +2 -1
  25. package/dist/db/index.js.map +1 -1
  26. package/dist/db/queries.d.ts +9 -0
  27. package/dist/db/queries.d.ts.map +1 -1
  28. package/dist/db/queries.js +17 -0
  29. package/dist/db/queries.js.map +1 -1
  30. package/dist/form-filler.d.ts +18 -2
  31. package/dist/form-filler.d.ts.map +1 -1
  32. package/dist/form-filler.js +182 -70
  33. package/dist/form-filler.js.map +1 -1
  34. package/dist/index.d.ts +3 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +3 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/s3/uploader.d.ts +11 -0
  39. package/dist/s3/uploader.d.ts.map +1 -1
  40. package/dist/s3/uploader.js +47 -0
  41. package/dist/s3/uploader.js.map +1 -1
  42. package/dist/types/config.d.ts +31 -0
  43. package/dist/types/config.d.ts.map +1 -1
  44. package/package.json +2 -1
  45. package/templates/template.pdf +0 -0
@@ -2,5 +2,5 @@
2
2
  * db/index.ts — Barrel export for the database module
3
3
  */
4
4
  export { getPool, setPool, closePool } from "./pool";
5
- export { getOpenBatches, getSubmissionsWithUserIds, getCanvasserProfile, updateBatchStatus, updateBatchS3Key, } from "./queries";
5
+ export { getOpenBatches, getBatchById, getSubmissionsWithUserIds, getCanvasserProfile, updateBatchStatus, updateBatchS3Key, } from "./queries";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EACJ,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GAClB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EACJ,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GAClB,MAAM,WAAW,CAAC"}
package/dist/db/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateBatchS3Key = exports.updateBatchStatus = exports.getCanvasserProfile = exports.getSubmissionsWithUserIds = exports.getOpenBatches = exports.closePool = exports.setPool = exports.getPool = void 0;
3
+ exports.updateBatchS3Key = exports.updateBatchStatus = exports.getCanvasserProfile = exports.getSubmissionsWithUserIds = exports.getBatchById = exports.getOpenBatches = exports.closePool = exports.setPool = exports.getPool = void 0;
4
4
  /**
5
5
  * db/index.ts — Barrel export for the database module
6
6
  */
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "setPool", { enumerable: true, get: function () {
10
10
  Object.defineProperty(exports, "closePool", { enumerable: true, get: function () { return pool_1.closePool; } });
11
11
  var queries_1 = require("./queries");
12
12
  Object.defineProperty(exports, "getOpenBatches", { enumerable: true, get: function () { return queries_1.getOpenBatches; } });
13
+ Object.defineProperty(exports, "getBatchById", { enumerable: true, get: function () { return queries_1.getBatchById; } });
13
14
  Object.defineProperty(exports, "getSubmissionsWithUserIds", { enumerable: true, get: function () { return queries_1.getSubmissionsWithUserIds; } });
14
15
  Object.defineProperty(exports, "getCanvasserProfile", { enumerable: true, get: function () { return queries_1.getCanvasserProfile; } });
15
16
  Object.defineProperty(exports, "updateBatchStatus", { enumerable: true, get: function () { return queries_1.updateBatchStatus; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,+BAAqD;AAA5C,+FAAA,OAAO,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,iGAAA,SAAS,OAAA;AACpC,qCAMmB;AALhB,yGAAA,cAAc,OAAA;AACd,oHAAA,yBAAyB,OAAA;AACzB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,+BAAqD;AAA5C,+FAAA,OAAO,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,iGAAA,SAAS,OAAA;AACpC,qCAOmB;AANhB,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,oHAAA,yBAAyB,OAAA;AACzB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA"}
@@ -16,6 +16,15 @@ import { EaBatchStatus } from "../types";
16
16
  * @returns Array of open EA submission batch records
17
17
  */
18
18
  export declare function getOpenBatches(pool: Pool): Promise<EaSubmissionBatch[]>;
19
+ /**
20
+ * Fetch a single EA submission batch by its ID.
21
+ * Only returns the batch if its status is OPEN or FAILED (eligible for processing).
22
+ *
23
+ * @param pool - PostgreSQL connection pool
24
+ * @param batchId - The batch ID to look up
25
+ * @returns The batch record, or null if not found / ineligible status
26
+ */
27
+ export declare function getBatchById(pool: Pool, batchId: string): Promise<EaSubmissionBatch | null>;
19
28
  /**
20
29
  * Fetch all EA submissions for a given batch, joined with profile_reviews
21
30
  * to extract the userId for each submission.
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EACT,iBAAiB,EACjB,oBAAoB,EAItB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAW7E;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC5C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgBjC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACtC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgClC;AAMD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EACT,iBAAiB,EACjB,oBAAoB,EAItB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAW7E;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAC/B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAWnC;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC5C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgBjC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACtC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgClC;AAMD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.getOpenBatches = getOpenBatches;
11
+ exports.getBatchById = getBatchById;
11
12
  exports.getSubmissionsWithUserIds = getSubmissionsWithUserIds;
12
13
  exports.getCanvasserProfile = getCanvasserProfile;
13
14
  exports.updateBatchStatus = updateBatchStatus;
@@ -30,6 +31,22 @@ async function getOpenBatches(pool) {
30
31
  ORDER BY "createdAt" ASC`, [types_1.EaBatchStatus.OPEN]);
31
32
  return result.rows;
32
33
  }
34
+ /**
35
+ * Fetch a single EA submission batch by its ID.
36
+ * Only returns the batch if its status is OPEN or FAILED (eligible for processing).
37
+ *
38
+ * @param pool - PostgreSQL connection pool
39
+ * @param batchId - The batch ID to look up
40
+ * @returns The batch record, or null if not found / ineligible status
41
+ */
42
+ async function getBatchById(pool, batchId) {
43
+ const result = await pool.query(`SELECT "id", "status", "maxApplications", "applicationCount",
44
+ "submittedAt", "submittedBy", "s3Key", "createdAt", "updatedAt"
45
+ FROM ea_submission_batches
46
+ WHERE "id" = $1
47
+ AND status IN ($2, $3)`, [batchId, types_1.EaBatchStatus.OPEN, types_1.EaBatchStatus.FAILED]);
48
+ return result.rows[0] ?? null;
49
+ }
33
50
  /**
34
51
  * Fetch all EA submissions for a given batch, joined with profile_reviews
35
52
  * to extract the userId for each submission.
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAuBH,wCAWC;AAUD,8DAmBC;AAUD,kDAmCC;AAeD,8CAiBC;AAUD,4CAeC;AA1JD,oCAAyC;AAEzC,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;;;gCAI0B,EAC1B,CAAC,qBAAa,CAAC,IAAI,CAAC,CACtB,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,yBAAyB,CAC5C,IAAU,EACV,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;;;;;;;;mCAS6B,EAC7B,CAAC,OAAO,CAAC,CACX,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACtC,IAAU,EACV,MAAc;IAEd,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,OAAO;QACJ,MAAM;QACN,aAAa,EAAE,WAAW,CAAC,EAAE;QAC7B,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,SAAS;QAC/C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,SAAS;QACnD,gBAAgB,EACb,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACpE,CAAC,CAAC,WAAW,CAAC,gBAAgB;YAC9B,CAAC,CAAC,SAAS;QACjB,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,KAAK;QAClC,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,SAAS;QAC1C,SAAS;KACX,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CACpC,IAAU,EACV,OAAe,EACf,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;uBAEiB,EACjB,CAAC,OAAO,EAAE,MAAM,CAAC,CACnB,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACZ,SAAS,OAAO,wCAAwC,MAAM,EAAE,CAClE,CAAC;IACL,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CACnC,IAAU,EACV,OAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;uBAEiB,EACjB,CAAC,OAAO,EAAE,KAAK,EAAE,qBAAa,CAAC,SAAS,CAAC,CAC3C,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,+BAA+B,CAAC,CAAC;IACpE,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACxB,IAAU,EACV,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B,mDAAmD,EACnD,CAAC,MAAM,CAAC,CACV,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC1B,IAAU,EACV,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;;;;eAKS,EACT,CAAC,MAAM,CAAC,CACV,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CACxB,IAAU,EACV,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAG5B;;;;eAIS,EACT,CAAC,MAAM,CAAC,CACV,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CACxB,IAAU,EACV,aAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B;;;;;;;yCAOmC,EACnC,CAAC,aAAa,CAAC,CACjB,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * - Throws errors instead of logging fatal messages
16
16
  * - Accepts a `FormFillerConfig` for full DI (pool, template, domain, S3…)
17
17
  */
18
- import type { FormFillerConfig, ProcessingResult } from "./types";
18
+ import type { FormFillerConfig, ProcessingResult, BatchFillResult } from "./types";
19
19
  /**
20
20
  * High-level orchestrator for filling Alberta Form 1403 PDFs.
21
21
  *
@@ -52,12 +52,28 @@ export declare class FormFiller {
52
52
  * @returns Array of processing results for all users across all batches
53
53
  */
54
54
  fillAll(): Promise<ProcessingResult[]>;
55
+ /**
56
+ * Process a specific EA submission batch by ID.
57
+ * Only batches with status OPEN or FAILED are eligible.
58
+ *
59
+ * @param batchId - The batch ID to process
60
+ * @returns Structured result with per-user details and S3 key
61
+ * @throws Error if the batch is not found or has an ineligible status
62
+ */
63
+ fillForBatch(batchId: string): Promise<BatchFillResult>;
55
64
  /**
56
65
  * Gracefully release the database connection pool.
57
66
  * Only closes if the pool was NOT injected externally.
58
67
  */
59
68
  destroy(): Promise<void>;
60
- private processAllFromOpenBatches;
69
+ /**
70
+ * Process a single EA submission batch:
71
+ * set status → GENERATING, fill/flatten users, merge, upload, update status.
72
+ *
73
+ * @param batch - The batch record to process
74
+ * @returns Structured result for this batch
75
+ */
76
+ private processSingleBatch;
61
77
  private processUserRecord;
62
78
  private cleanupTempFiles;
63
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-filler.d.ts","sourceRoot":"","sources":["../src/form-filler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAuBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2ClE;;;;;GAKG;AACH,qBAAa,UAAU;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,MAAM,GAAE,gBAAqB;IA4DzC;;;;;OAKG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE;;;;;OAKG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IASzE;;;;;OAKG;IACU,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAInD;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUvB,yBAAyB;YAmHzB,iBAAiB;YA+FjB,gBAAgB;CAqBhC"}
1
+ {"version":3,"file":"form-filler.d.ts","sourceRoot":"","sources":["../src/form-filler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyBH,OAAO,KAAK,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACjB,MAAM,SAAS,CAAC;AA2CjB;;;;;GAKG;AACH,qBAAa,UAAU;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,MAAM,GAAE,gBAAqB;IA4DzC;;;;;OAKG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE;;;;;OAKG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IASzE;;;;;OAKG;IACU,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsBnD;;;;;;;OAOG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBpE;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;OAMG;YACW,kBAAkB;YAgMlB,iBAAiB;YA+FjB,gBAAgB;CA8BhC"}
@@ -30,6 +30,7 @@ const canvasser_data_mapper_1 = require("./canvasser-data-mapper");
30
30
  const pdf_converter_1 = require("./pdf-converter");
31
31
  const pdf_merger_1 = require("./pdf-merger");
32
32
  const s3_1 = require("./s3");
33
+ const csv_exporter_1 = require("./csv-exporter");
33
34
  const types_1 = require("./types");
34
35
  // ============================================================================
35
36
  // Defaults
@@ -142,7 +143,38 @@ class FormFiller {
142
143
  * @returns Array of processing results for all users across all batches
143
144
  */
144
145
  async fillAll() {
145
- return this.processAllFromOpenBatches();
146
+ const pool = (0, db_1.getPool)();
147
+ logger_1.logger.info("📋 Fetching open EA submission batches...");
148
+ const openBatches = await (0, db_1.getOpenBatches)(pool);
149
+ if (openBatches.length === 0) {
150
+ logger_1.logger.info("📋 No open EA submission batches found");
151
+ return [];
152
+ }
153
+ logger_1.logger.info(`📋 Found ${openBatches.length} open batch(es)`);
154
+ const allResults = [];
155
+ for (const batch of openBatches) {
156
+ const batchResult = await this.processSingleBatch(batch);
157
+ allResults.push(...batchResult.results);
158
+ }
159
+ return allResults;
160
+ }
161
+ /**
162
+ * Process a specific EA submission batch by ID.
163
+ * Only batches with status OPEN or FAILED are eligible.
164
+ *
165
+ * @param batchId - The batch ID to process
166
+ * @returns Structured result with per-user details and S3 key
167
+ * @throws Error if the batch is not found or has an ineligible status
168
+ */
169
+ async fillForBatch(batchId) {
170
+ const pool = (0, db_1.getPool)();
171
+ logger_1.logger.info(`📦 Looking up batch ${batchId}...`);
172
+ const batch = await (0, db_1.getBatchById)(pool, batchId);
173
+ if (!batch) {
174
+ throw new Error(`Batch ${batchId} not found or has an ineligible status. ` +
175
+ `Only OPEN and FAILED batches can be processed.`);
176
+ }
177
+ return this.processSingleBatch(batch);
146
178
  }
147
179
  /**
148
180
  * Gracefully release the database connection pool.
@@ -156,81 +188,152 @@ class FormFiller {
156
188
  // =========================================================================
157
189
  // Internal — batch processing
158
190
  // =========================================================================
159
- async processAllFromOpenBatches() {
191
+ /**
192
+ * Process a single EA submission batch:
193
+ * set status → GENERATING, fill/flatten users, merge, upload, update status.
194
+ *
195
+ * @param batch - The batch record to process
196
+ * @returns Structured result for this batch
197
+ */
198
+ async processSingleBatch(batch) {
160
199
  const pool = (0, db_1.getPool)();
161
- logger_1.logger.info("📋 Fetching open EA submission batches...");
162
- const openBatches = await (0, db_1.getOpenBatches)(pool);
163
- if (openBatches.length === 0) {
164
- logger_1.logger.info("📋 No open EA submission batches found");
165
- return [];
166
- }
167
- logger_1.logger.info(`📋 Found ${openBatches.length} open batch(es)`);
168
- const allResults = [];
169
- for (const batch of openBatches) {
170
- logger_1.logger.info(`\n${"=".repeat(60)}`);
171
- logger_1.logger.info(`📦 Processing batch ${batch.id} (${batch.applicationCount} application(s))`);
172
- logger_1.logger.info(`${"=".repeat(60)}`);
173
- try {
174
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.GENERATING);
175
- logger_1.logger.info(`📦 Batch ${batch.id} → GENERATING`);
176
- const submissions = await (0, db_1.getSubmissionsWithUserIds)(pool, batch.id);
177
- if (submissions.length === 0) {
178
- logger_1.logger.info(`📦 Batch ${batch.id}: no submissions, skipping`);
179
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.GENERATED);
180
- continue;
181
- }
182
- // Deduplicate
183
- const uniqueUserIds = [
184
- ...new Set(submissions.map((s) => s.userId)),
185
- ];
186
- logger_1.logger.info(`📦 Batch ${batch.id}: ${submissions.length} submission(s), ${uniqueUserIds.length} unique user(s)`);
187
- const successfulPaths = [];
188
- for (const userId of uniqueUserIds) {
189
- const result = await this.processUserRecord(userId);
190
- allResults.push(result);
191
- if (result.success && !result.skipped && result.outputPath) {
192
- successfulPaths.push(result.outputPath);
193
- }
194
- }
195
- if (successfulPaths.length === 0) {
196
- logger_1.logger.warn(`📦 Batch ${batch.id}: no PDFs generated, marking FAILED`);
197
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
198
- continue;
199
- }
200
- // Merge
201
- const mergedPath = path_1.default.join(this.resolved.outputDirectory, `batch-${batch.id}.pdf`);
202
- const mergeResult = await this.merger.merge(successfulPaths, mergedPath);
203
- if (!mergeResult.success) {
204
- logger_1.logger.error(`📦 Batch ${batch.id}: merge failed — ${mergeResult.error}`);
205
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
206
- continue;
207
- }
208
- // Upload
209
- const uploadResult = await this.uploader.upload(mergedPath, batch.id);
210
- if (!uploadResult.success) {
211
- logger_1.logger.error(`📦 Batch ${batch.id}: S3 upload failed — ${uploadResult.error}`);
212
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
213
- continue;
200
+ logger_1.logger.info(`\n${"=".repeat(60)}`);
201
+ logger_1.logger.info(`📦 Processing batch ${batch.id} (${batch.applicationCount} application(s))`);
202
+ logger_1.logger.info(`${"=".repeat(60)}`);
203
+ try {
204
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.GENERATING);
205
+ logger_1.logger.info(`📦 Batch ${batch.id} → GENERATING`);
206
+ const submissions = await (0, db_1.getSubmissionsWithUserIds)(pool, batch.id);
207
+ if (submissions.length === 0) {
208
+ logger_1.logger.info(`📦 Batch ${batch.id}: no submissions, skipping`);
209
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.GENERATED);
210
+ return {
211
+ batchId: batch.id,
212
+ success: true,
213
+ results: [],
214
+ totalUsers: 0,
215
+ successfulCount: 0,
216
+ failedCount: 0,
217
+ };
218
+ }
219
+ // Deduplicate
220
+ const uniqueUserIds = [...new Set(submissions.map((s) => s.userId))];
221
+ logger_1.logger.info(`📦 Batch ${batch.id}: ${submissions.length} submission(s), ${uniqueUserIds.length} unique user(s)`);
222
+ const results = [];
223
+ const successfulPaths = [];
224
+ // CSV manifest exporter — accumulates canvasser data per batch
225
+ const csvExporter = new csv_exporter_1.CsvExporter();
226
+ for (const userId of uniqueUserIds) {
227
+ const result = await this.processUserRecord(userId);
228
+ results.push(result);
229
+ if (result.success && !result.skipped && result.outputPath) {
230
+ successfulPaths.push(result.outputPath);
214
231
  }
215
- await (0, db_1.updateBatchS3Key)(pool, batch.id, uploadResult.key);
216
- logger_1.logger.info(`📦 Batch ${batch.id} GENERATED (s3Key: ${uploadResult.key})`);
217
- // Cleanup
218
- if (!this.resolved.keepTemp) {
219
- await this.cleanupTempFiles(successfulPaths, mergedPath);
232
+ // Accumulate canvasser data for CSV export
233
+ if (result.success && !result.skipped && result.canvasserData) {
234
+ csvExporter.addRow(result.canvasserData);
220
235
  }
221
236
  }
222
- catch (error) {
223
- const msg = error instanceof Error ? error.message : String(error);
224
- logger_1.logger.error(`📦 Batch ${batch.id} failed: ${msg}`);
225
- try {
226
- await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
237
+ if (successfulPaths.length === 0) {
238
+ logger_1.logger.warn(`📦 Batch ${batch.id}: no PDFs generated, marking FAILED`);
239
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
240
+ return {
241
+ batchId: batch.id,
242
+ success: false,
243
+ results,
244
+ totalUsers: uniqueUserIds.length,
245
+ successfulCount: 0,
246
+ failedCount: results.filter((r) => !r.success).length,
247
+ error: "No PDFs were generated for any user in this batch",
248
+ };
249
+ }
250
+ // Merge
251
+ const mergedPath = path_1.default.join(this.resolved.outputDirectory, `batch-${batch.id}.pdf`);
252
+ const mergeResult = await this.merger.merge(successfulPaths, mergedPath);
253
+ if (!mergeResult.success) {
254
+ logger_1.logger.error(`📦 Batch ${batch.id}: merge failed — ${mergeResult.error}`);
255
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
256
+ return {
257
+ batchId: batch.id,
258
+ success: false,
259
+ results,
260
+ totalUsers: uniqueUserIds.length,
261
+ successfulCount: successfulPaths.length,
262
+ failedCount: results.filter((r) => !r.success).length,
263
+ error: `Merge failed: ${mergeResult.error}`,
264
+ };
265
+ }
266
+ // Upload
267
+ const uploadResult = await this.uploader.upload(mergedPath, batch.id);
268
+ if (!uploadResult.success) {
269
+ logger_1.logger.error(`📦 Batch ${batch.id}: S3 upload failed — ${uploadResult.error}`);
270
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
271
+ return {
272
+ batchId: batch.id,
273
+ success: false,
274
+ results,
275
+ totalUsers: uniqueUserIds.length,
276
+ successfulCount: successfulPaths.length,
277
+ failedCount: results.filter((r) => !r.success).length,
278
+ error: `S3 upload failed: ${uploadResult.error}`,
279
+ };
280
+ }
281
+ await (0, db_1.updateBatchS3Key)(pool, batch.id, uploadResult.key);
282
+ logger_1.logger.info(`📦 Batch ${batch.id} → GENERATED (s3Key: ${uploadResult.key})`);
283
+ // ── CSV manifest: generate + upload ────────────────────────────
284
+ let csvS3Key;
285
+ let csvPath;
286
+ if (csvExporter.length > 0) {
287
+ csvPath = path_1.default.join(this.resolved.outputDirectory, `batch-${batch.id}.csv`);
288
+ const csvResult = await csvExporter.writeToFile(csvPath);
289
+ if (csvResult.success) {
290
+ const csvUploadResult = await this.uploader.uploadCsv(csvPath, batch.id);
291
+ if (csvUploadResult.success) {
292
+ csvS3Key = csvUploadResult.key;
293
+ logger_1.logger.info(`📄 Batch ${batch.id} CSV manifest uploaded: ${csvUploadResult.key}`);
294
+ }
295
+ else {
296
+ logger_1.logger.warn(`⚠️ Batch ${batch.id}: CSV S3 upload failed — ${csvUploadResult.error}`);
297
+ }
227
298
  }
228
- catch {
229
- // swallowbest effort
299
+ else {
300
+ logger_1.logger.warn(`⚠️ Batch ${batch.id}: CSV generation failed ${csvResult.error}`);
230
301
  }
231
302
  }
303
+ // Cleanup
304
+ if (!this.resolved.keepTemp) {
305
+ await this.cleanupTempFiles(successfulPaths, mergedPath, csvPath);
306
+ }
307
+ return {
308
+ batchId: batch.id,
309
+ success: true,
310
+ results,
311
+ totalUsers: uniqueUserIds.length,
312
+ successfulCount: successfulPaths.length,
313
+ failedCount: results.filter((r) => !r.success).length,
314
+ s3Key: uploadResult.key,
315
+ csvS3Key,
316
+ };
317
+ }
318
+ catch (error) {
319
+ const msg = error instanceof Error ? error.message : String(error);
320
+ logger_1.logger.error(`📦 Batch ${batch.id} failed: ${msg}`);
321
+ try {
322
+ await (0, db_1.updateBatchStatus)(pool, batch.id, types_1.EaBatchStatus.FAILED);
323
+ }
324
+ catch {
325
+ // swallow — best effort
326
+ }
327
+ return {
328
+ batchId: batch.id,
329
+ success: false,
330
+ results: [],
331
+ totalUsers: 0,
332
+ successfulCount: 0,
333
+ failedCount: 0,
334
+ error: msg,
335
+ };
232
336
  }
233
- return allResults;
234
337
  }
235
338
  // =========================================================================
236
339
  // Internal — single record processing
@@ -290,7 +393,7 @@ class FormFiller {
290
393
  };
291
394
  }
292
395
  logger_1.logger.info(`🖼️ Flattened ${convResult.totalPages} page(s), ${(convResult.outputSizeBytes / 1024).toFixed(0)} KB`);
293
- return { success: true, userId, outputPath: savedPath };
396
+ return { success: true, userId, outputPath: savedPath, canvasserData };
294
397
  }
295
398
  catch (error) {
296
399
  return {
@@ -303,7 +406,7 @@ class FormFiller {
303
406
  // =========================================================================
304
407
  // Helpers
305
408
  // =========================================================================
306
- async cleanupTempFiles(userPaths, mergedPath) {
409
+ async cleanupTempFiles(userPaths, mergedPath, csvPath) {
307
410
  let deleted = 0;
308
411
  for (const filePath of userPaths) {
309
412
  try {
@@ -321,6 +424,15 @@ class FormFiller {
321
424
  catch {
322
425
  logger_1.logger.warn(`⚠️ Could not delete merged file: ${mergedPath}`);
323
426
  }
427
+ if (csvPath) {
428
+ try {
429
+ await fs_1.default.promises.unlink(csvPath);
430
+ deleted++;
431
+ }
432
+ catch {
433
+ logger_1.logger.warn(`⚠️ Could not delete CSV file: ${csvPath}`);
434
+ }
435
+ }
324
436
  logger_1.logger.info(`🗑️ Cleaned up ${deleted} temp file(s)`);
325
437
  }
326
438
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-filler.js","sourceRoot":"","sources":["../src/form-filler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-filler.js","sourceRoot":"","sources":["../src/form-filler.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * CLI entry point lives in cli.ts.
6
6
  */
7
7
  export { FormFiller } from "./form-filler";
8
- export type { FormFillerConfig, ProcessingResult } from "./types";
8
+ export type { FormFillerConfig, ProcessingResult, BatchFillResult, } from "./types";
9
9
  export type { DataMapperOverrides } from "./canvasser-data-mapper";
10
10
  export { getPool, setPool, closePool } from "./db";
11
11
  export { CanvasserDataMapper } from "./canvasser-data-mapper";
@@ -14,6 +14,8 @@ export type { CanvasserData, SignatureConfig } from "./pdf-filler";
14
14
  export { PdfToImagePdfConverter } from "./pdf-converter";
15
15
  export { PdfBatchMerger } from "./pdf-merger";
16
16
  export { BatchS3Uploader } from "./s3";
17
+ export { CsvExporter } from "./csv-exporter";
18
+ export type { CsvRow, CsvExportResult } from "./csv-exporter";
17
19
  export { logger, LogLevel } from "./shared/logger";
18
20
  export type { CanvasserProfile } from "./types";
19
21
  export { EaBatchStatus, EaSubmissionStatus } from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,YAAY,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * CLI entry point lives in cli.ts.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.EaSubmissionStatus = exports.EaBatchStatus = exports.LogLevel = exports.logger = exports.BatchS3Uploader = exports.PdfBatchMerger = exports.PdfToImagePdfConverter = exports.Filler = exports.CanvasserDataMapper = exports.closePool = exports.setPool = exports.getPool = exports.FormFiller = void 0;
9
+ exports.EaSubmissionStatus = exports.EaBatchStatus = exports.LogLevel = exports.logger = exports.CsvExporter = exports.BatchS3Uploader = exports.PdfBatchMerger = exports.PdfToImagePdfConverter = exports.Filler = exports.CanvasserDataMapper = exports.closePool = exports.setPool = exports.getPool = exports.FormFiller = void 0;
10
10
  // ── Primary class ───────────────────────────────────────────────────────────
11
11
  var form_filler_1 = require("./form-filler");
12
12
  Object.defineProperty(exports, "FormFiller", { enumerable: true, get: function () { return form_filler_1.FormFiller; } });
@@ -26,6 +26,8 @@ var pdf_merger_1 = require("./pdf-merger");
26
26
  Object.defineProperty(exports, "PdfBatchMerger", { enumerable: true, get: function () { return pdf_merger_1.PdfBatchMerger; } });
27
27
  var s3_1 = require("./s3");
28
28
  Object.defineProperty(exports, "BatchS3Uploader", { enumerable: true, get: function () { return s3_1.BatchS3Uploader; } });
29
+ var csv_exporter_1 = require("./csv-exporter");
30
+ Object.defineProperty(exports, "CsvExporter", { enumerable: true, get: function () { return csv_exporter_1.CsvExporter; } });
29
31
  // ── Logging ─────────────────────────────────────────────────────────────────
30
32
  var logger_1 = require("./shared/logger");
31
33
  Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+EAA+E;AAC/E,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAMnB,+EAA+E;AAC/E,2BAAmD;AAA1C,6FAAA,OAAO,OAAA;AAAE,6FAAA,OAAO,OAAA;AAAE,+FAAA,SAAS,OAAA;AAEpC,+EAA+E;AAC/E,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,2CAAsC;AAA7B,oGAAA,MAAM,OAAA;AAEf,iDAAyD;AAAhD,uHAAA,sBAAsB,OAAA;AAC/B,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,2BAAuC;AAA9B,qGAAA,eAAe,OAAA;AAExB,+EAA+E;AAC/E,0CAAmD;AAA1C,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAIzB,iCAA4D;AAAnD,sGAAA,aAAa,OAAA;AAAE,2GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+EAA+E;AAC/E,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAUnB,+EAA+E;AAC/E,2BAAmD;AAA1C,6FAAA,OAAO,OAAA;AAAE,6FAAA,OAAO,OAAA;AAAE,+FAAA,SAAS,OAAA;AAEpC,+EAA+E;AAC/E,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,2CAAsC;AAA7B,oGAAA,MAAM,OAAA;AAEf,iDAAyD;AAAhD,uHAAA,sBAAsB,OAAA;AAC/B,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,2BAAuC;AAA9B,qGAAA,eAAe,OAAA;AACxB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAGpB,+EAA+E;AAC/E,0CAAmD;AAA1C,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAIzB,iCAA4D;AAAnD,sGAAA,aAAa,OAAA;AAAE,2GAAA,kBAAkB,OAAA"}
@@ -36,6 +36,17 @@ export declare class BatchS3Uploader {
36
36
  * @returns S3UploadResult with the key, URI, and size
37
37
  */
38
38
  upload(localPath: string, batchId: string): Promise<S3UploadResult>;
39
+ /**
40
+ * Upload a local CSV file to S3 for the given batch.
41
+ *
42
+ * Uses the same key convention as PDF uploads but with a `.csv` extension
43
+ * and `text/csv` content type.
44
+ *
45
+ * @param localPath - Absolute path to the CSV file on disk
46
+ * @param batchId - The batch ID, used to derive the S3 key
47
+ * @returns S3UploadResult with the key, URI, and size
48
+ */
49
+ uploadCsv(localPath: string, batchId: string): Promise<S3UploadResult>;
39
50
  /**
40
51
  * Build the S3 key for a given batch ID without uploading.
41
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/s3/uploader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQhE;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;gBACS,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAqB9C;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkDzE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGjC"}
1
+ {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/s3/uploader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQhE;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;gBACS,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAqB9C;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkDzE;;;;;;;;;OASG;IACG,SAAS,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAkD1B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGjC"}