@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
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @botler/1403-form-filler-module
2
2
 
3
- Fills Alberta **Form 1403** PDFs for canvassers. Fetches data from Neon PostgreSQL, fills AcroForm fields, overlays cursive signatures, flattens to image-PDFs, merges per-batch, and uploads to AWS S3.
3
+ Fills Alberta **Form 1403** PDFs for canvassers. Fetches data from Neon PostgreSQL, fills AcroForm fields, overlays cursive signatures, flattens to image-PDFs, merges per-batch, generates a CSV manifest of canvasser data, and uploads both to AWS S3.
4
4
 
5
5
  Usable as a **library** (`import { FormFiller }`) or as a **CLI** (`npx fill-1403 --all`).
6
6
 
@@ -30,6 +30,10 @@ console.log(result); // { success: true, userId: "user-abc-123", outputPath: "..
30
30
  // All open batches (fill → flatten → merge → S3 upload)
31
31
  const results = await filler.fillAll();
32
32
 
33
+ // Specific batch by ID (OPEN or FAILED batches only)
34
+ const batchResult = await filler.fillForBatch("clx1abc123");
35
+ console.log(batchResult); // { batchId, success, results, totalUsers, s3Key, ... }
36
+
33
37
  // Cleanup (closes DB pool if we created it)
34
38
  await filler.destroy();
35
39
  ```
@@ -100,21 +104,42 @@ class FormFiller {
100
104
  /** Process all open EA batches (fill → merge → S3) */
101
105
  fillAll(): Promise<ProcessingResult[]>;
102
106
 
107
+ /** Process a specific batch by ID (OPEN or FAILED only) */
108
+ fillForBatch(batchId: string): Promise<BatchFillResult>;
109
+
103
110
  /** Release DB pool (no-op if pool was injected) */
104
111
  destroy(): Promise<void>;
105
112
  }
106
113
  ```
107
114
 
115
+ ### `BatchFillResult`
116
+
117
+ ```ts
118
+ interface BatchFillResult {
119
+ batchId: string;
120
+ success: boolean;
121
+ results: ProcessingResult[];
122
+ totalUsers: number;
123
+ successfulCount: number;
124
+ failedCount: number;
125
+ s3Key?: string;
126
+ csvS3Key?: string;
127
+ error?: string;
128
+ }
129
+ ```
130
+
108
131
  ## CLI usage
109
132
 
110
133
  ```bash
111
134
  # Via npx (after install)
112
135
  npx fill-1403 --all
136
+ npx fill-1403 --batch-id=clx1abc123
113
137
 
114
138
  # Or during development
115
139
  npx tsx src/cli.ts --id=<userId>
116
140
  npx tsx src/cli.ts --ids=id1,id2,id3
117
141
  npx tsx src/cli.ts --all --dry-run
142
+ npx tsx src/cli.ts --batch-id=<batchId>
118
143
  ```
119
144
 
120
145
  | Flag | Description |
@@ -122,6 +147,7 @@ npx tsx src/cli.ts --all --dry-run
122
147
  | `--id <userId>` | Process a single user by ID |
123
148
  | `--ids <id1,id2,…>` | Process multiple users (comma-separated) |
124
149
  | `--all` | Process all users from open EA submission batches |
150
+ | `--batch-id <ID>` | Process a specific EA submission batch by ID |
125
151
  | `--dry-run` | Preview what would be processed without generating PDFs |
126
152
  | `--skip-existing` | Skip users whose PDF already exists (default: `true`) |
127
153
  | `--batch-size <N>` | Records per processing batch (default: `10`) |
@@ -158,10 +184,14 @@ form-filler-module/
158
184
  │ │ └── index.ts
159
185
  │ ├── shared/
160
186
  │ │ └── logger.ts # Console logger with level filtering
187
+ │ ├── csv-exporter/ # CSV manifest generator
188
+ │ │ ├── exporter.ts # CsvExporter class (csv-stringify/sync)
189
+ │ │ ├── types.ts # CsvRow, CsvExportResult
190
+ │ │ └── index.ts
161
191
  │ ├── pdf-filler/ # Vendored PDF form filler library
162
192
  │ ├── pdf-converter/ # MuPDF WASM page rasteriser
163
193
  │ ├── pdf-merger/ # pdf-lib page concatenation
164
- │ ├── s3/ # S3 batch uploader
194
+ │ ├── s3/ # S3 batch uploader (PDF + CSV)
165
195
  │ └── db/ # Neon PostgreSQL pool & queries
166
196
  │ ├── pool.ts # getPool / setPool / closePool
167
197
  │ ├── queries.ts
@@ -175,6 +205,56 @@ form-filler-module/
175
205
  └── .env.example
176
206
  ```
177
207
 
208
+ ## CSV manifest export
209
+
210
+ When processing a batch (`fillForBatch()` or `fillAll()`), the module automatically generates a **CSV manifest** containing the canvasser data used to fill each PDF in the batch.
211
+
212
+ ### What's in the CSV?
213
+
214
+ Each row corresponds to one canvasser whose form was successfully filled:
215
+
216
+ | Column | Description |
217
+ | ------------------------ | ------------------------------------------------------ |
218
+ | Surname | Canvasser's last name |
219
+ | Given Name | Canvasser's first name |
220
+ | Middle Name | Middle name (may be empty) |
221
+ | Telephone Number | Formatted phone number |
222
+ | Email Address | Email (may be empty) |
223
+ | Physical Address | Residential street address |
224
+ | Physical Municipality | City/town of physical address |
225
+ | Physical Postal Code | Postal code of physical address |
226
+ | Mailing Address | Mailing street address (empty if same as physical) |
227
+ | Mailing Municipality | City/town of mailing address |
228
+ | Mailing Postal Code | Postal code of mailing address |
229
+ | Canvasser Signature Date | Date canvasser signed (ISO `YYYY-MM-DD`, may be empty) |
230
+ | Proponent Name | Proponent name on the form |
231
+ | Proponent Signature Date | Date proponent signed (ISO `YYYY-MM-DD`, may be empty) |
232
+
233
+ ### S3 storage
234
+
235
+ The CSV is uploaded to the **same S3 prefix** as the merged PDF, using the **same batch ID** but with a `.csv` extension:
236
+
237
+ ```
238
+ s3://coal-forms/batches/1403/{batchId}.pdf ← merged batch PDF
239
+ s3://coal-forms/batches/1403/{batchId}.csv ← canvasser data manifest
240
+ ```
241
+
242
+ The CSV S3 key is returned in `BatchFillResult.csvS3Key`.
243
+
244
+ ### Programmatic usage
245
+
246
+ The `CsvExporter` class can also be used standalone:
247
+
248
+ ```ts
249
+ import { CsvExporter } from "@botler/1403-form-filler-module";
250
+
251
+ const exporter = new CsvExporter();
252
+ exporter.addRow(canvasserData);
253
+
254
+ const csvString = exporter.toCSV(); // in-memory string
255
+ await exporter.writeToFile("/tmp/manifest.csv"); // write to disk
256
+ ```
257
+
178
258
  ## Development
179
259
 
180
260
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"canvasser-data-mapper.d.ts","sourceRoot":"","sources":["../src/canvasser-data-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IACjC,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC7B;;;;;;;;;;;OAWG;WACW,eAAe,CAC1B,OAAO,EAAE,gBAAgB,EACzB,SAAS,CAAC,EAAE,mBAAmB,GAC/B,aAAa;IAkFhB;;;;;OAKG;WACW,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAY/D;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAsBhC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA+B1B"}
1
+ {"version":3,"file":"canvasser-data-mapper.d.ts","sourceRoot":"","sources":["../src/canvasser-data-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IACjC,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC7B;;;;;;;;;;;OAWG;WACW,eAAe,CAC1B,OAAO,EAAE,gBAAgB,EACzB,SAAS,CAAC,EAAE,mBAAmB,GAC/B,aAAa;IAiFhB;;;;;OAKG;WACW,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAY/D;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAsBhC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA+B1B"}
@@ -70,7 +70,6 @@ class CanvasserDataMapper {
70
70
  // Canvasser signature — rendered from capitalized first + last name
71
71
  canvasserNameForSignature: `${firstName?.trim() || ""} ${lastName?.trim() || ""}`.trim(),
72
72
  canvasserActualSignatureDate: signedAtDate,
73
- // Proponent (Thomas Lukaszuk) signature data
74
73
  ThomasName: overrides?.proponentName ?? "Corby Lund",
75
74
  proponentNameForSignature: overrides?.proponentSignatureText ?? "Corby Lund",
76
75
  proponentSignatureDate: "",
@@ -1 +1 @@
1
- {"version":3,"file":"canvasser-data-mapper.js","sourceRoot":"","sources":["../src/canvasser-data-mapper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAKH,mCAAsC;AAYtC;;;GAGG;AACH,MAAa,mBAAmB;IAC7B;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,eAAe,CAC1B,OAAyB,EACzB,SAA+B;QAE/B,iDAAiD;QACjD,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAErC,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,OAAO,CAAC,SAAS,EACjB,mBAAW,CAAC,WAAW,CACzB,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAC1C,OAAO,CAAC,SAAS,EACjB,mBAAW,CAAC,OAAO,CACrB,CAAC;QAEF,iEAAiE;QACjE,MAAM,mBAAmB,GAAG,kBAAkB;YAC3C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;YAC3C,CAAC,CAAC,EAAE,CAAC;QACR,MAAM,kBAAkB,GAAG,cAAc;YACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,EAAE,CAAC;QAER,0CAA0C;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtD,iDAAiD;QACjD,MAAM,SAAS,GACZ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC;QAC/D,MAAM,QAAQ,GACX,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;QAC7D,MAAM,UAAU,GACb,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC;QAEjE,MAAM,UAAU,GAAkB;YAC/B,uBAAuB;YACvB,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACxC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YAEnE,uEAAuE;YACvE,eAAe,EAAE,IAAI,CAAC,iBAAiB,CACpC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC/D;YAED,mCAAmC;YACnC,YAAY,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YAExC,iCAAiC;YACjC,eAAe,EAAE,mBAAmB;YACpC,oBAAoB,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CACtC,kBAAkB,EAAE,UAAU,IAAI,EAAE,CACtC;YAED,oDAAoD;YACpD,cAAc,EAAE,kBAAkB,IAAI,SAAS;YAC/C,mBAAmB,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS;YAC9D,iBAAiB,EAAE,cAAc;gBAC9B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,SAAS;YAEd,6DAA6D;YAC7D,aAAa,EACV,SAAS,EAAE,YAAY;gBACvB,iEAAiE;YAEpE,oEAAoE;YACpE,yBAAyB,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAClD,QAAQ,EAAE,IAAI,EAAE,IAAI,EACvB,EAAE,CAAC,IAAI,EAAE;YACT,4BAA4B,EAAE,YAAY;YAE1C,6CAA6C;YAC7C,UAAU,EAAE,SAAS,EAAE,aAAa,IAAI,YAAY;YACpD,yBAAyB,EACtB,SAAS,EAAE,sBAAsB,IAAI,YAAY;YACpD,sBAAsB,EAAE,EAAE;SAC5B,CAAC;QAEF,OAAO,UAAU,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,OAAyB;QACnD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;aAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;aAChD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;IACxE,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;;;;;;OAQG;IACK,MAAM,CAAC,iBAAiB,CAC7B,SAAoB,EACpB,IAAiB;QAEjB,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACpB,CAAC;QAED,gEAAgE;QAChE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,gBAAgB,CAAC,OAAgB;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnD,uCAAuC;QACvC,IAAI,KAAK,EAAE,CAAC;YACT,OAAO,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,sBAAsB,CAAC,OAAyB;QAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACZ,mCAAmC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAC9D,IAAI,CACN,EAAE,CACL,CAAC;QACL,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,cAAc,CAC1B,IAA+B;QAE/B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI;aACP,WAAW,EAAE;aACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,aAAa,CAAC,KAAqB;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,IAAI,CAAC;YACF,oDAAoD;YACpD,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACN,wEAAwE;YACxE,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,iBAAiB,CAAC,WAAmB;QACjD,iCAAiC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE9C,0CAA0C;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CACjE,CAAC,CACH,EAAE,CAAC;QACP,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CACjE,CAAC,CACH,EAAE,CAAC;QACP,CAAC;QAED,yCAAyC;QACzC,OAAO,WAAW,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,gBAAgB,CAAC,UAAkB;QAC/C,yCAAyC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5D,4DAA4D;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,UAAU,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,SAAS,CAAC,KAAc;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,0BAA0B;QAC1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,CAAC;QAED,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC;YACF,IACG,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,aAAa,IAAI,KAAK;gBACtB,OAAQ,KAAa,CAAC,WAAW,KAAK,UAAU,EACjD,CAAC;gBACA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAE,KAAa,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACN,wBAAwB;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IACpB,CAAC;CACH;AAzTD,kDAyTC"}
1
+ {"version":3,"file":"canvasser-data-mapper.js","sourceRoot":"","sources":["../src/canvasser-data-mapper.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -61,6 +61,18 @@ async function main() {
61
61
  for (const r of results)
62
62
  logResult(r);
63
63
  }
64
+ else if (config.batchId) {
65
+ logger_1.logger.info(`🚀 Processing batch ID: ${config.batchId}`);
66
+ const batchResult = await formFiller.fillForBatch(config.batchId);
67
+ results = batchResult.results;
68
+ logger_1.logger.info(`📦 Batch ${batchResult.batchId}: ${batchResult.success ? "✅ SUCCESS" : "❌ FAILED"}`);
69
+ if (batchResult.s3Key) {
70
+ logger_1.logger.info(`📦 S3 key: ${batchResult.s3Key}`);
71
+ }
72
+ if (batchResult.error) {
73
+ logger_1.logger.error(`📦 Error: ${batchResult.error}`);
74
+ }
75
+ }
64
76
  else if (config.processAll) {
65
77
  results = await formFiller.fillAll();
66
78
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,SAAS,CAAC;AAErD;;GAEG;AACH,qBAAa,MAAM;IAChB,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAYpC;IAEF;;;;;;OAMG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAyErD;;;;;OAKG;WACiB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CvE;;;;;;OAMG;WACW,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAIzE;;;;;;OAMG;WACW,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKzE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAkD3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAmDzB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,SAAS,CAAC;AAErD;;GAEG;AACH,qBAAa,MAAM;IAChB,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAYpC;IAEF;;;;;;OAMG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAkFrD;;;;;OAKG;WACiB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CvE;;;;;;OAMG;WACW,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAIzE;;;;;;OAMG;WACW,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKzE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAkD3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAwDzB"}
package/dist/config.js CHANGED
@@ -104,18 +104,28 @@ class Config {
104
104
  // Batch mode — process all users from open EA submission batches
105
105
  config.processAll = true;
106
106
  }
107
+ else if (parsedArgs.batchId || parsedArgs["batch-id"]) {
108
+ // Single batch mode — process a specific batch by ID
109
+ const batchId = (parsedArgs.batchId || parsedArgs["batch-id"]).trim();
110
+ if (!batchId || batchId.length === 0) {
111
+ throw new Error("Invalid batch ID. Must be a non-empty string.");
112
+ }
113
+ config.batchId = batchId;
114
+ }
107
115
  else {
108
116
  // No mode specified — show helpful error
109
117
  const providedArgs = Object.keys(parsedArgs);
110
- let errorMessage = "Must specify either --id, --ids, or --all. Use --help for usage information.";
118
+ let errorMessage = "Must specify either --id, --ids, --all, or --batch-id. Use --help for usage information.";
111
119
  if (providedArgs.length === 0) {
112
120
  errorMessage += "\n\nNo arguments provided. Available options:\n";
113
- errorMessage += " --id=<ID> Process single user\n";
121
+ errorMessage += " --id=<ID> Process single user\n";
114
122
  errorMessage +=
115
- " --ids=<IDs> Process multiple users (comma-separated)\n";
123
+ " --ids=<IDs> Process multiple users (comma-separated)\n";
116
124
  errorMessage +=
117
- " --all Process all users from open EA batches\n";
118
- errorMessage += " --help Show help information";
125
+ " --all Process all users from open EA batches\n";
126
+ errorMessage +=
127
+ " --batch-id=<ID> Process a specific batch by ID\n";
128
+ errorMessage += " --help Show help information";
119
129
  }
120
130
  else {
121
131
  errorMessage += `\n\nReceived arguments: ${providedArgs.join(", ")}`;
@@ -254,6 +264,8 @@ OPTIONS:
254
264
  --ids <id1,id2,id3> Process multiple users by comma-separated IDs
255
265
  --ids=<id1,id2,id3> Alternative format
256
266
  --all Process all users from open EA submission batches
267
+ --batch-id <batchId> Process a specific EA submission batch by ID
268
+ --batch-id=<batchId> Alternative format
257
269
  --dry-run Show what would be processed without generating PDFs
258
270
  --skip-existing Skip users with existing PDF files (default: true)
259
271
  --batch-size <N> Number of records to process in each batch (default: 10)
@@ -273,6 +285,9 @@ EXAMPLES:
273
285
  # Dry-run all open EA submission batches
274
286
  npx tsx src/index.ts --all --dry-run
275
287
 
288
+ # Process a specific batch
289
+ npx tsx src/index.ts --batch-id=clx1abc123
290
+
276
291
  # Process all with custom batch size
277
292
  npx tsx src/index.ts --all --batch-size=20
278
293
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * csv-exporter/exporter.ts — CSV manifest generator for batch canvasser data
3
+ *
4
+ * Accumulates CanvasserData records during batch processing, then
5
+ * serialises them to a CSV string using csv-stringify/sync.
6
+ *
7
+ * Usage:
8
+ * ```ts
9
+ * const exporter = new CsvExporter();
10
+ * exporter.addRow(canvasserData);
11
+ * const csvString = exporter.toCSV();
12
+ * ```
13
+ */
14
+ import type { CanvasserData } from "../pdf-filler";
15
+ import type { CsvExportResult } from "./types";
16
+ /**
17
+ * Accumulates canvasser data rows and serialises them to CSV.
18
+ *
19
+ * One instance should be created per batch. After all rows are added,
20
+ * call `toCSV()` to get the CSV string or `writeToFile()` to write
21
+ * it to disk directly.
22
+ */
23
+ export declare class CsvExporter {
24
+ private rows;
25
+ /**
26
+ * Map a CanvasserData record to a CSV row and add it to the buffer.
27
+ *
28
+ * @param data - The mapped canvasser data from the PDF filling step
29
+ */
30
+ addRow(data: CanvasserData): void;
31
+ /**
32
+ * Serialise all accumulated rows to a CSV string (with header row).
33
+ *
34
+ * @returns The full CSV content including headers
35
+ */
36
+ toCSV(): string;
37
+ /**
38
+ * Write the CSV content to a local file.
39
+ *
40
+ * @param outputPath - Absolute path to the output CSV file
41
+ * @returns CsvExportResult with file metadata
42
+ */
43
+ writeToFile(outputPath: string): Promise<CsvExportResult>;
44
+ /** Number of accumulated rows. */
45
+ get length(): number;
46
+ /** Clear all accumulated rows. */
47
+ reset(): void;
48
+ }
49
+ //# sourceMappingURL=exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../src/csv-exporter/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,SAAS,CAAC;AAiDvD;;;;;;GAMG;AACH,qBAAa,WAAW;IACrB,OAAO,CAAC,IAAI,CAAgB;IAE5B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAyBjC;;;;OAIG;IACH,KAAK,IAAI,MAAM;IAOf;;;;;OAKG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiC/D,kCAAkC;IAClC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kCAAkC;IAClC,KAAK,IAAI,IAAI;CAGf"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * csv-exporter/exporter.ts — CSV manifest generator for batch canvasser data
4
+ *
5
+ * Accumulates CanvasserData records during batch processing, then
6
+ * serialises them to a CSV string using csv-stringify/sync.
7
+ *
8
+ * Usage:
9
+ * ```ts
10
+ * const exporter = new CsvExporter();
11
+ * exporter.addRow(canvasserData);
12
+ * const csvString = exporter.toCSV();
13
+ * ```
14
+ */
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.CsvExporter = void 0;
20
+ const sync_1 = require("csv-stringify/sync");
21
+ const fs_1 = __importDefault(require("fs"));
22
+ const logger_1 = require("../shared/logger");
23
+ // ============================================================================
24
+ // Helpers
25
+ // ============================================================================
26
+ /**
27
+ * Convert a MMDDYY signature date string to ISO YYYY-MM-DD format.
28
+ *
29
+ * @param mmddyy - Date in MMDDYY format (e.g. "020926")
30
+ * @returns ISO date string (e.g. "2026-02-09"), or the original string if unparseable
31
+ */
32
+ function formatSignatureDate(mmddyy) {
33
+ if (mmddyy.length !== 6)
34
+ return mmddyy;
35
+ const mm = mmddyy.slice(0, 2);
36
+ const dd = mmddyy.slice(2, 4);
37
+ const yy = mmddyy.slice(4, 6);
38
+ const century = parseInt(yy, 10) >= 50 ? "19" : "20";
39
+ return `${century}${yy}-${mm}-${dd}`;
40
+ }
41
+ // ============================================================================
42
+ // Column definition — order matters for CSV output
43
+ // ============================================================================
44
+ /** Ordered CSV column headers. */
45
+ const CSV_COLUMNS = [
46
+ "Surname",
47
+ "Given Name",
48
+ "Middle Name",
49
+ "Telephone Number",
50
+ "Email Address",
51
+ "Physical Address",
52
+ "Physical Municipality",
53
+ "Physical Postal Code",
54
+ "Mailing Address",
55
+ "Mailing Municipality",
56
+ "Mailing Postal Code",
57
+ "Canvasser Signature Date",
58
+ "Proponent Name",
59
+ "Proponent Signature Date",
60
+ ];
61
+ // ============================================================================
62
+ // CsvExporter
63
+ // ============================================================================
64
+ /**
65
+ * Accumulates canvasser data rows and serialises them to CSV.
66
+ *
67
+ * One instance should be created per batch. After all rows are added,
68
+ * call `toCSV()` to get the CSV string or `writeToFile()` to write
69
+ * it to disk directly.
70
+ */
71
+ class CsvExporter {
72
+ rows = [];
73
+ /**
74
+ * Map a CanvasserData record to a CSV row and add it to the buffer.
75
+ *
76
+ * @param data - The mapped canvasser data from the PDF filling step
77
+ */
78
+ addRow(data) {
79
+ const row = {
80
+ Surname: data.surname,
81
+ "Given Name": data.givenName,
82
+ "Middle Name": data.middleName ?? "",
83
+ "Telephone Number": data.telephoneNumber,
84
+ "Email Address": data.emailAddress ?? "",
85
+ "Physical Address": data.physicalAddress,
86
+ "Physical Municipality": data.physicalMunicipality,
87
+ "Physical Postal Code": data.physicalPostalCode,
88
+ "Mailing Address": data.mailingAddress ?? "",
89
+ "Mailing Municipality": data.mailingMunicipality ?? "",
90
+ "Mailing Postal Code": data.mailingPostalCode ?? "",
91
+ "Canvasser Signature Date": data.canvasserActualSignatureDate
92
+ ? data.canvasserActualSignatureDate.toISOString().split("T")[0]
93
+ : "",
94
+ "Proponent Name": data.proponentName,
95
+ "Proponent Signature Date": data.proponentSignatureDate
96
+ ? formatSignatureDate(data.proponentSignatureDate)
97
+ : "",
98
+ };
99
+ this.rows.push(row);
100
+ }
101
+ /**
102
+ * Serialise all accumulated rows to a CSV string (with header row).
103
+ *
104
+ * @returns The full CSV content including headers
105
+ */
106
+ toCSV() {
107
+ return (0, sync_1.stringify)(this.rows, {
108
+ header: true,
109
+ columns: CSV_COLUMNS,
110
+ });
111
+ }
112
+ /**
113
+ * Write the CSV content to a local file.
114
+ *
115
+ * @param outputPath - Absolute path to the output CSV file
116
+ * @returns CsvExportResult with file metadata
117
+ */
118
+ async writeToFile(outputPath) {
119
+ try {
120
+ const csvContent = this.toCSV();
121
+ await fs_1.default.promises.writeFile(outputPath, csvContent, "utf-8");
122
+ const stats = await fs_1.default.promises.stat(outputPath);
123
+ logger_1.logger.info(`📄 CSV manifest written: ${this.rows.length} row(s), ${(stats.size / 1024).toFixed(1)} KB → ${outputPath}`);
124
+ return {
125
+ success: true,
126
+ outputPath,
127
+ rowCount: this.rows.length,
128
+ sizeBytes: stats.size,
129
+ };
130
+ }
131
+ catch (error) {
132
+ const message = error instanceof Error ? error.message : String(error);
133
+ logger_1.logger.error(`❌ CSV export failed: ${message}`);
134
+ return {
135
+ success: false,
136
+ outputPath,
137
+ rowCount: this.rows.length,
138
+ sizeBytes: 0,
139
+ error: message,
140
+ };
141
+ }
142
+ }
143
+ /** Number of accumulated rows. */
144
+ get length() {
145
+ return this.rows.length;
146
+ }
147
+ /** Clear all accumulated rows. */
148
+ reset() {
149
+ this.rows = [];
150
+ }
151
+ }
152
+ exports.CsvExporter = CsvExporter;
153
+ //# sourceMappingURL=exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/csv-exporter/exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * csv-exporter/index.ts — Barrel export for the CSV exporter module
3
+ */
4
+ export { CsvExporter } from "./exporter";
5
+ export type { CsvRow, CsvExportResult } from "./types";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/csv-exporter/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CsvExporter = void 0;
4
+ /**
5
+ * csv-exporter/index.ts — Barrel export for the CSV exporter module
6
+ */
7
+ var exporter_1 = require("./exporter");
8
+ Object.defineProperty(exports, "CsvExporter", { enumerable: true, get: function () { return exporter_1.CsvExporter; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/csv-exporter/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,uCAAyC;AAAhC,uGAAA,WAAW,OAAA"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * csv-exporter/types.ts — Type definitions for the CSV exporter module
3
+ *
4
+ * Defines the CSV column mapping and export result types used
5
+ * when generating a CSV manifest of canvasser data per batch.
6
+ */
7
+ /**
8
+ * Human-readable CSV column headers mapped from CanvasserData fields.
9
+ * Only domain-relevant fields are included — internal signature paths
10
+ * and rendering metadata are excluded.
11
+ */
12
+ export interface CsvRow {
13
+ /** Canvasser's last name */
14
+ Surname: string;
15
+ /** Canvasser's first name */
16
+ "Given Name": string;
17
+ /** Canvasser's middle name (may be empty) */
18
+ "Middle Name": string;
19
+ /** Formatted telephone number */
20
+ "Telephone Number": string;
21
+ /** Email address (may be empty) */
22
+ "Email Address": string;
23
+ /** Physical/residential street address */
24
+ "Physical Address": string;
25
+ /** Physical address municipality (city/town) */
26
+ "Physical Municipality": string;
27
+ /** Physical address postal code */
28
+ "Physical Postal Code": string;
29
+ /** Mailing street address (may be empty if same as physical) */
30
+ "Mailing Address": string;
31
+ /** Mailing address municipality (may be empty) */
32
+ "Mailing Municipality": string;
33
+ /** Mailing address postal code (may be empty) */
34
+ "Mailing Postal Code": string;
35
+ /** Date the canvasser signed (ISO format, may be empty) */
36
+ "Canvasser Signature Date": string;
37
+ /** Proponent name on the form */
38
+ "Proponent Name": string;
39
+ /** Date the proponent signed (ISO format, may be empty) */
40
+ "Proponent Signature Date": string;
41
+ }
42
+ /**
43
+ * Result of generating a CSV export for a batch.
44
+ */
45
+ export interface CsvExportResult {
46
+ /** Whether the CSV was generated successfully */
47
+ success: boolean;
48
+ /** Local file path where the CSV was written */
49
+ outputPath: string;
50
+ /** Number of data rows (excluding header) */
51
+ rowCount: number;
52
+ /** Size of the generated CSV in bytes */
53
+ sizeBytes: number;
54
+ /** Error message if generation failed */
55
+ error?: string;
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/csv-exporter/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACpB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,uBAAuB,EAAE,MAAM,CAAC;IAChC,mCAAmC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,0BAA0B,EAAE,MAAM,CAAC;IACnC,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,0BAA0B,EAAE,MAAM,CAAC;CACrC;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC7B,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * csv-exporter/types.ts — Type definitions for the CSV exporter module
4
+ *
5
+ * Defines the CSV column mapping and export result types used
6
+ * when generating a CSV manifest of canvasser data per batch.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/csv-exporter/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}