@camphoric/camphoric-event-import-tools 1.2.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.1.0](https://github.com/camphoric/camphoric/compare/camphoric-event-import-tools-v2.0.0...camphoric-event-import-tools-v2.1.0) (2026-11-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * **data:** import group emails, promo codes and the invoice email ([03e7ab5](https://github.com/camphoric/camphoric/commit/03e7ab51b9ca9d7283f80facddd38ee623c96645)), closes [#970](https://github.com/camphoric/camphoric/issues/970)
9
+
10
+ ## [2.0.0](https://github.com/camphoric/camphoric/compare/camphoric-event-import-tools-v1.2.1...camphoric-event-import-tools-v2.0.0) (2026-11-05)
11
+
12
+
13
+ ### ⚠ BREAKING CHANGES
14
+
15
+ * **data:** @camphoric/camphoric-event-import-tools requires Node ^22.13.0 || >=23.5.0; Node 20 and Node 22 before 22.13.0 are no longer supported.
16
+
17
+ ### Bug Fixes
18
+
19
+ * **data:** declare the Node versions the import tools run on ([e506ed3](https://github.com/camphoric/camphoric/commit/e506ed33910181d38b0a46b49e935e841d54e9b8))
20
+ * **data:** send the payment step's quote from the import tools ([a804c0a](https://github.com/camphoric/camphoric/commit/a804c0a69570eaf7c6b73d699524354e48306997)), closes [#958](https://github.com/camphoric/camphoric/issues/958)
21
+ * **deps:** bump ora from 9.4.1 to 10.0.0 in /data ([453dca8](https://github.com/camphoric/camphoric/commit/453dca8a1798bf6aeb781b00c7d435e3935c98ec))
22
+ * **deps:** bump the minor-and-patch group in /data with 11 updates ([7b08ea4](https://github.com/camphoric/camphoric/commit/7b08ea47e53b68bb0f0144539225beb0d3665551))
23
+
3
24
  ## [1.2.1](https://github.com/camphoric/camphoric/compare/camphoric-event-import-tools-v1.2.0...camphoric-event-import-tools-v1.2.1) (2026-10-20)
4
25
 
5
26
 
@@ -18,10 +18,12 @@
18
18
  * ---------
19
19
  *
20
20
  * data: an event import object (the spec's EventImport), checked first with
21
- * `validate`, the spec's validateEventImport. Every field of `data.event` is sent to the
22
- * events API as-is, including optional ones such as
23
- * `registration_error_messages` (custom validation messages for the
24
- * registration form).
21
+ * `validate`, the spec's validateEventImport, and then for names it refers to
22
+ * (a promo code's excluded registration types must be the event's). Every
23
+ * field of `data.event` is sent to the events API as-is, including optional
24
+ * ones such as `registration_error_messages` (custom validation messages for
25
+ * the registration form), except its emails' fields, which are set on the
26
+ * event's confirmation and invoice email templates.
25
27
  *
26
28
  * sampleRegGenerator: a SampleRegGenerator, called with
27
29
  * - fetch: a fetch function
@@ -66,6 +68,61 @@ export interface CamphoricEventCreatorOptions {
66
68
  // A sample registration, with the server's answer to its last step
67
69
  type PostedRegistration = SampleRegistration & { response: Record<string, unknown> };
68
70
 
71
+ // An email template's fields the import sets: undefined leaves one as it is
72
+ type EmailTemplateFields = Record<string, string | undefined>;
73
+
74
+ // One template's result from GET /api/events/<id>/templates/check
75
+ interface TemplateCheckResult {
76
+ kind: string;
77
+ label: string;
78
+ diagnostics: { severity: string, message: string, line?: number | null, field?: string | null }[];
79
+ }
80
+
81
+ // A group email's fields, as a new template has them: one the data leaves out
82
+ // is set to this, so a template matched by name ends up as the data declares it.
83
+ const GROUP_EMAIL_DEFAULTS = {
84
+ from_email: '',
85
+ reply_to: '',
86
+ recipient_source: 'registrations',
87
+ filter: {},
88
+ filter_expression: '',
89
+ address_expression: '',
90
+ name_expression: '',
91
+ recipient_list: '',
92
+ include_incomplete: false,
93
+ };
94
+
95
+ // Likewise for a promo code
96
+ const PROMO_CODE_DEFAULTS = {
97
+ scope: 'registration',
98
+ enabled: true,
99
+ expiration_date: null,
100
+ excluded_registration_types: [],
101
+ excludes_uninvited: false,
102
+ };
103
+
104
+ /**
105
+ * What the import data names that it doesn't hold: each promo code's excluded
106
+ * registration types must be among the event's. An empty list when there are
107
+ * none.
108
+ */
109
+ export function referenceProblems(data: ImportData): string[] {
110
+ const typeNames = new Set(data.registration_types.map(t => t.name));
111
+ return (data.promo_codes ?? []).flatMap(promo => (promo.excluded_registration_types ?? [])
112
+ .filter(name => !typeNames.has(name))
113
+ .map(name => `promo code '${promo.code}' excludes registration type '${name}', which the event doesn't have`));
114
+ }
115
+
116
+ /** The problems a template check found that are errors, by template. */
117
+ export function templateErrors(results: TemplateCheckResult[]): string[] {
118
+ return results.flatMap(result => result.diagnostics
119
+ .filter(d => d.severity === 'error')
120
+ .map(d => {
121
+ const where = [d.field, d.line ? `line ${d.line}` : ''].filter(Boolean).join(', ');
122
+ return `${result.label}${where ? ` (${where})` : ''}: ${d.message}`;
123
+ }));
124
+ }
125
+
69
126
  /**
70
127
  * Requests started ahead of the Promise.all that collects them, pausing
71
128
  * between batches so the server keeps up. Each is handled as it starts, so
@@ -105,6 +162,12 @@ export default class CamphoricEventCreator extends Fetcher {
105
162
  );
106
163
  }
107
164
 
165
+ const references = referenceProblems(data);
166
+
167
+ if (references.length) {
168
+ throw this.error('event data object names what it does not hold', ...references);
169
+ }
170
+
108
171
  this.setOrganizations(organizations, data.organization);
109
172
 
110
173
  if (sampleRegGenerator) {
@@ -175,10 +238,16 @@ export default class CamphoricEventCreator extends Fetcher {
175
238
  const emailAccounts: Saved[] = await this.fetch('GET', '/api/emailaccounts/');
176
239
  const email = emailAccounts.find(e => e.organization === org.id);
177
240
 
178
- // The confirmation email is the event's email template, updated below.
241
+ // The confirmation and invoice emails are the event's email templates,
242
+ // updated below.
179
243
  const {
180
- confirmation_email_subject: subject,
181
- confirmation_email_template: body,
244
+ confirmation_email_subject,
245
+ confirmation_email_template,
246
+ confirmation_email_reply_to,
247
+ invoice_email_subject,
248
+ invoice_email_template,
249
+ invoice_email_from,
250
+ invoice_email_reply_to,
182
251
  ...eventData
183
252
  } = this.data.event;
184
253
  const event: Record<string, unknown> = {
@@ -207,7 +276,17 @@ export default class CamphoricEventCreator extends Fetcher {
207
276
  event,
208
277
  );
209
278
 
210
- await this.loadEmailTemplate(eventResponse.confirmation_template, subject, body);
279
+ await this.updateEmailTemplate(eventResponse.confirmation_template, {
280
+ subject: confirmation_email_subject,
281
+ body: confirmation_email_template,
282
+ reply_to: confirmation_email_reply_to,
283
+ });
284
+ await this.updateEmailTemplate(eventResponse.invoice_template, {
285
+ subject: invoice_email_subject,
286
+ body: invoice_email_template,
287
+ from_email: invoice_email_from,
288
+ reply_to: invoice_email_reply_to,
289
+ });
211
290
 
212
291
  this.results.event = eventResponse;
213
292
  return eventResponse;
@@ -216,11 +295,15 @@ export default class CamphoricEventCreator extends Fetcher {
216
295
  // An event's confirmation and a registration type's invitation are email
217
296
  // templates, created with them (SPEC DR-45); set the text the data gives.
218
297
  async loadEmailTemplate(templateId: unknown, subject?: string, body?: string) {
219
- if (!templateId || (subject === undefined && body === undefined)) return;
220
- await this.fetch('PATCH', `/api/emailtemplates/${templateId}/`, {
221
- ...(subject !== undefined ? { subject } : {}),
222
- ...(body !== undefined ? { body } : {}),
223
- });
298
+ await this.updateEmailTemplate(templateId, { subject, body });
299
+ }
300
+
301
+ // Set the fields of an email template created with its event or
302
+ // registration type that the data gives (an undefined one is left as is).
303
+ async updateEmailTemplate(templateId: unknown, fields: EmailTemplateFields) {
304
+ const given = Object.fromEntries(Object.entries(fields).filter(([, value]) => value !== undefined));
305
+ if (!templateId || !Object.keys(given).length) return;
306
+ await this.fetch('PATCH', `/api/emailtemplates/${templateId}/`, given);
224
307
  }
225
308
 
226
309
  async loadLodgings() {
@@ -258,6 +341,7 @@ export default class CamphoricEventCreator extends Fetcher {
258
341
  reserved: lodging.reserved || 0,
259
342
  sharing_multiplier: lodging.sharing_multiplier || 1,
260
343
  notes: lodging.notes || '',
344
+ availability: lodging.availability || 'auto',
261
345
  };
262
346
  const saved: Saved = await this.fetch('POST', '/api/lodgings/', data);
263
347
  createdLodging = saved;
@@ -340,7 +424,7 @@ export default class CamphoricEventCreator extends Fetcher {
340
424
 
341
425
  const existingRegTypes = response.filter(regType => regType.event === event.id);
342
426
 
343
- await Promise.all(
427
+ this.results.registration_types = await Promise.all(
344
428
  this.data.registration_types.map(
345
429
  async (regType) => {
346
430
  const exists = existingRegTypes.find(r => r.name === regType.name);
@@ -348,6 +432,8 @@ export default class CamphoricEventCreator extends Fetcher {
348
432
  const {
349
433
  invitation_email_subject: subject,
350
434
  invitation_email_template: body,
435
+ invitation_email_from: from_email,
436
+ invitation_email_reply_to: reply_to,
351
437
  ...typeData
352
438
  } = regType;
353
439
 
@@ -360,13 +446,117 @@ export default class CamphoricEventCreator extends Fetcher {
360
446
  event: event.id,
361
447
  },
362
448
  );
363
- await this.loadEmailTemplate(saved.invitation_template, subject, body);
449
+ await this.updateEmailTemplate(saved.invitation_template, { subject, body, from_email, reply_to });
364
450
  return saved;
365
451
  }
366
452
  )
367
453
  );
368
454
  }
369
455
 
456
+ // The event's group emails (SPEC §8.9): each one the data declares is
457
+ // created, or, when the event has one by its name, updated to match.
458
+ // Others the event has are left alone.
459
+ async loadGroupEmails() {
460
+ const { email_templates } = this.data;
461
+
462
+ if (!email_templates || !email_templates.length) return;
463
+
464
+ const event = this.savedEvent();
465
+ const all: Saved[] = await this.fetch('GET', '/api/emailtemplates/');
466
+ const existing = all.filter(t => t.event === event.id && t.purpose === 'group');
467
+
468
+ this.results.email_templates = await Promise.all(email_templates.map((template) => {
469
+ const exists = existing.find(t => t.name === template.name);
470
+
471
+ return this.fetch(
472
+ exists ? 'PUT' : 'POST',
473
+ `/api/emailtemplates/${exists ? `${exists.id}/` : ''}`,
474
+ { ...GROUP_EMAIL_DEFAULTS, ...template, purpose: 'group', event: event.id },
475
+ ) as Promise<Saved>;
476
+ }));
477
+ }
478
+
479
+ // The event's promo codes (SPEC DR-67): each one the data declares is
480
+ // created, or, when the event has a live one with its code (ignoring case),
481
+ // updated to match. Its excluded registration types are given by name, so
482
+ // this runs once they're saved. Others the event has are left alone.
483
+ async loadPromoCodes() {
484
+ const { promo_codes } = this.data;
485
+
486
+ if (!promo_codes || !promo_codes.length) return;
487
+
488
+ const event = this.savedEvent();
489
+ const regTypes = this.results.registration_types ?? [];
490
+ // Every code is worked out before any is sent, so a problem sends none.
491
+ const bodies = promo_codes.map((promo) => {
492
+ const excluded = (promo.excluded_registration_types ?? []).map((name) => {
493
+ const regType = regTypes.find(t => t.name === name);
494
+ if (!regType) {
495
+ throw this.error(`promo code '${promo.code}' excludes registration type '${name}', which was not imported`);
496
+ }
497
+ return regType.id;
498
+ });
499
+
500
+ // An expiry that can't be read must not save as "never expires"
501
+ const expiration = formatDateTime(promo.expiration_date);
502
+ if (promo.expiration_date !== undefined && expiration === undefined) {
503
+ throw this.error(`promo code '${promo.code}' has an expiration_date that can't be read: '${promo.expiration_date}'`);
504
+ }
505
+
506
+ return {
507
+ ...PROMO_CODE_DEFAULTS,
508
+ ...promo,
509
+ expiration_date: expiration ?? null,
510
+ excluded_registration_types: excluded,
511
+ event: event.id,
512
+ };
513
+ });
514
+
515
+ const all: Saved[] = await this.fetch('GET', '/api/promocodes/');
516
+ const existing = all.filter(p => p.event === event.id);
517
+ const sameCode = (a: unknown, b: string) => String(a).trim().toLowerCase() === b.trim().toLowerCase();
518
+
519
+ this.results.promo_codes = await Promise.all(bodies.map((body) => {
520
+ const exists = existing.find(p => sameCode(p.code, body.code));
521
+
522
+ return this.fetch(
523
+ exists ? 'PUT' : 'POST',
524
+ `/api/promocodes/${exists ? `${exists.id}/` : ''}`,
525
+ body,
526
+ ) as Promise<Saved>;
527
+ }));
528
+ }
529
+
530
+ // Check every template of the event through the server (SPEC §9.3), as
531
+ // `manage.py check_templates` does: each is rendered against the event's
532
+ // registrations (or, with none, parsed), so one that won't render fails the
533
+ // import rather than its first send.
534
+ async checkTemplates() {
535
+ const event = this.savedEvent();
536
+ const token = await this.getAuthToken();
537
+ // (Not this.fetch, which ends every path with a slash: this one has none.)
538
+ const res = await fetch(`${this.urlBase}/api/events/${event.id}/templates/check`, {
539
+ headers: { 'Authorization': `Token ${token}` },
540
+ });
541
+ const text = await res.text();
542
+
543
+ let json;
544
+ try {
545
+ json = JSON.parse(text);
546
+ } catch {
547
+ throw this.error(`template check returned non-JSON (${res.status})`, { status: res.status, body: text });
548
+ }
549
+
550
+ if (!res.ok) {
551
+ throw this.error(`template check failed (${res.status})`, { status: res.status, response: json });
552
+ }
553
+
554
+ const errors = templateErrors(json.results ?? []);
555
+ if (errors.length) {
556
+ throw this.error(`${errors.length} template problem(s): ${errors.join('; ')}`, ...errors);
557
+ }
558
+ }
559
+
370
560
  async loadTestRegs() {
371
561
  if (!this.sampleRegGenerator) return [];
372
562
 
@@ -428,11 +618,14 @@ export default class CamphoricEventCreator extends Fetcher {
428
618
  // amount from the payment option (the event's default when none is given).
429
619
  const paymentOption = lodash.get(testData, 'paymentData.paymentOption');
430
620
 
621
+ // The registration step's quote: the server completes it only at that price.
622
+ const { quote } = testData.response;
431
623
  const body = {
432
624
  step: 'payment',
433
625
  registrationUUID: testData.response.registrationUUID,
434
626
  paymentType: 'Check',
435
627
  ...(paymentOption ? { paymentOption } : {}),
628
+ ...(typeof quote === 'string' ? { quote } : {}),
436
629
  };
437
630
 
438
631
  const res = await fetch(`${this.urlBase}/api/events/${event.id}/register`, {
@@ -514,6 +707,8 @@ export default class CamphoricEventCreator extends Fetcher {
514
707
  await imp('custom charge types', this.loadCustomChargeTypes());
515
708
  await imp('reports', this.loadReports());
516
709
  await imp('registration types', this.loadRegTypes());
710
+ await imp('group emails', this.loadGroupEmails());
711
+ await imp('promo codes', this.loadPromoCodes());
517
712
 
518
713
  await this.loadLodgings();
519
714
  await imp('lodging', Promise.resolve());
@@ -531,6 +726,9 @@ export default class CamphoricEventCreator extends Fetcher {
531
726
  await imp('test registrations', this.loadTestRegs());
532
727
  }
533
728
 
729
+ // After the sample registrations, so the templates render against them
730
+ await imp('template check', this.checkTemplates());
731
+
534
732
  this.log(`🎉 Finished Importing ${this.data.event.name}!`);
535
733
 
536
734
  return true;
package/README.md CHANGED
@@ -17,7 +17,12 @@ importer:
17
17
  the same check.
18
18
  - `@camphoric/camphoric-event-import-tools/creator`: `CamphoricEventCreator`, which imports an
19
19
  event module into a Camphoric server. Pass it the spec's `validateEventImport` as `validate`;
20
- the tools don't depend on any particular spec version.
20
+ the tools don't depend on any particular spec version. Group emails are matched to the event's
21
+ saved ones by name and promo codes by code (ignoring case), so importing again updates them
22
+ rather than adding copies; ones the event has that the data doesn't name are left alone. Once
23
+ everything (and any sample registrations) is in, the server checks the event's templates
24
+ (`GET /api/events/<id>/templates/check`, as `manage.py check_templates` does), and a template
25
+ with an error fails the import, rather than its first send.
21
26
  - `@camphoric/camphoric-event-import-tools/organizations`: `organizationLoader()` (loads each
22
27
  organization once, creating it and its email account when missing) and `Organizations`.
23
28
  - `@camphoric/camphoric-event-import-tools/e2e`: Playwright scaffolding for testing an event's
@@ -134,6 +134,8 @@ export interface BulkRegistrationOptions {
134
134
  interface StepResponse {
135
135
  registrationUUID: string;
136
136
  serverPricingResults?: { total?: unknown };
137
+ // What the payment step asks for, sent back to complete at that price
138
+ quote?: string;
137
139
  }
138
140
 
139
141
  class BulkRegistrar extends Fetcher {
@@ -228,7 +230,9 @@ export async function runBulkRegistrations({ eventName, makeRegistration }: Bulk
228
230
 
229
231
  // Choosing "pay by check" completes the registration (unpaid until the
230
232
  // check comes in, which is recorded below for some of them).
231
- await registrar.post(event, { step: 'payment', registrationUUID: reg.registrationUUID, paymentType: 'Check' });
233
+ await registrar.post(event, {
234
+ step: 'payment', registrationUUID: reg.registrationUUID, paymentType: 'Check', quote: reg.quote,
235
+ });
232
236
 
233
237
  const total = Number(reg.serverPricingResults?.total) || 0;
234
238
  const roll = gen.rand();
@@ -18,10 +18,12 @@
18
18
  * ---------
19
19
  *
20
20
  * data: an event import object (the spec's EventImport), checked first with
21
- * `validate`, the spec's validateEventImport. Every field of `data.event` is sent to the
22
- * events API as-is, including optional ones such as
23
- * `registration_error_messages` (custom validation messages for the
24
- * registration form).
21
+ * `validate`, the spec's validateEventImport, and then for names it refers to
22
+ * (a promo code's excluded registration types must be the event's). Every
23
+ * field of `data.event` is sent to the events API as-is, including optional
24
+ * ones such as `registration_error_messages` (custom validation messages for
25
+ * the registration form), except its emails' fields, which are set on the
26
+ * event's confirmation and invoice email templates.
25
27
  *
26
28
  * sampleRegGenerator: a SampleRegGenerator, called with
27
29
  * - fetch: a fetch function
@@ -43,6 +45,25 @@ export interface CamphoricEventCreatorOptions {
43
45
  organizations?: Organizations;
44
46
  url?: string;
45
47
  }
48
+ type EmailTemplateFields = Record<string, string | undefined>;
49
+ interface TemplateCheckResult {
50
+ kind: string;
51
+ label: string;
52
+ diagnostics: {
53
+ severity: string;
54
+ message: string;
55
+ line?: number | null;
56
+ field?: string | null;
57
+ }[];
58
+ }
59
+ /**
60
+ * What the import data names that it doesn't hold: each promo code's excluded
61
+ * registration types must be among the event's. An empty list when there are
62
+ * none.
63
+ */
64
+ export declare function referenceProblems(data: ImportData): string[];
65
+ /** The problems a template check found that are errors, by template. */
66
+ export declare function templateErrors(results: TemplateCheckResult[]): string[];
46
67
  /**
47
68
  * Requests started ahead of the Promise.all that collects them, pausing
48
69
  * between batches so the server keeps up. Each is handled as it starts, so
@@ -67,14 +88,19 @@ export default class CamphoricEventCreator extends Fetcher {
67
88
  deleteAll(path: string): Promise<void>;
68
89
  loadEvent(): Promise<Saved>;
69
90
  loadEmailTemplate(templateId: unknown, subject?: string, body?: string): Promise<void>;
91
+ updateEmailTemplate(templateId: unknown, fields: EmailTemplateFields): Promise<void>;
70
92
  loadLodgings(): Promise<void>;
71
93
  loadReports(): Promise<void>;
72
94
  loadCustomChargeTypes(): Promise<void>;
73
95
  loadRegTypes(): Promise<void>;
96
+ loadGroupEmails(): Promise<void>;
97
+ loadPromoCodes(): Promise<void>;
98
+ checkTemplates(): Promise<void>;
74
99
  loadTestRegs(): Promise<(SampleRegistration & {
75
100
  response: Record<string, unknown>;
76
101
  })[]>;
77
102
  create(): Promise<boolean>;
78
103
  setOrganizations: (organizations: Organizations | undefined, organization: string | number) => Promise<void>;
79
104
  }
105
+ export {};
80
106
  //# sourceMappingURL=CamphoricEventCreator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CamphoricEventCreator.d.ts","sourceRoot":"","sources":["../CamphoricEventCreator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,UAAU,CAAC;IAGjB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD;;;;;;GAMG;AACH,wBAAgB,YAAY;;UAIlB,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;EAK5C;AAED,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IAChD,IAAI,EAAE,UAAU,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;gBAErC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAc,EAAE,GAAG,EAAE,EAAE,4BAA4B;IAqCpH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAShC,UAAU,IAAI,KAAK;IASnB,YAAY,IAAI,YAAY;IAMtB,SAAS,CAAC,IAAI,EAAE,MAAM;IAUtB,SAAS;IAqDT,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQtE,YAAY;IAoEZ,WAAW;IAYX,qBAAqB;IA8BrB,YAAY;IAkCZ,YAAY;kBA/SuC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAkb1E,MAAM;IAsCZ,gBAAgB,GAAU,eAAe,aAAa,GAAG,SAAS,EAAE,cAAc,MAAM,GAAG,MAAM,mBAe/F;CACH"}
1
+ {"version":3,"file":"CamphoricEventCreator.d.ts","sourceRoot":"","sources":["../CamphoricEventCreator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,UAAU,CAAC;IAGjB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAMD,KAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAG9D,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;CACnG;AAyBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAK5D;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAOvE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY;;UAIlB,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;EAK5C;AAED,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IAChD,IAAI,EAAE,UAAU,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;gBAErC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAc,EAAE,GAAG,EAAE,EAAE,4BAA4B;IA2CpH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAShC,UAAU,IAAI,KAAK;IASnB,YAAY,IAAI,YAAY;IAMtB,SAAS,CAAC,IAAI,EAAE,MAAM;IAUtB,SAAS;IAqET,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAMtE,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB;IAMpE,YAAY;IAqEZ,WAAW;IAYX,qBAAqB;IA8BrB,YAAY;IAuCZ,eAAe;IAwBf,cAAc;IAmDd,cAAc;IA0Bd,YAAY;kBA3euC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAinB1E,MAAM;IA2CZ,gBAAgB,GAAU,eAAe,aAAa,GAAG,SAAS,EAAE,cAAc,MAAM,GAAG,MAAM,mBAe/F;CACH"}
@@ -18,10 +18,12 @@
18
18
  * ---------
19
19
  *
20
20
  * data: an event import object (the spec's EventImport), checked first with
21
- * `validate`, the spec's validateEventImport. Every field of `data.event` is sent to the
22
- * events API as-is, including optional ones such as
23
- * `registration_error_messages` (custom validation messages for the
24
- * registration form).
21
+ * `validate`, the spec's validateEventImport, and then for names it refers to
22
+ * (a promo code's excluded registration types must be the event's). Every
23
+ * field of `data.event` is sent to the events API as-is, including optional
24
+ * ones such as `registration_error_messages` (custom validation messages for
25
+ * the registration form), except its emails' fields, which are set on the
26
+ * event's confirmation and invoice email templates.
25
27
  *
26
28
  * sampleRegGenerator: a SampleRegGenerator, called with
27
29
  * - fetch: a fetch function
@@ -38,6 +40,47 @@ import lodash from 'lodash';
38
40
  import Fetcher from "./CamphoricFetcher.js";
39
41
  import { Organizations } from "./organizations.js";
40
42
  import { formatDate, formatDateTime } from "./utils.js";
43
+ // A group email's fields, as a new template has them: one the data leaves out
44
+ // is set to this, so a template matched by name ends up as the data declares it.
45
+ const GROUP_EMAIL_DEFAULTS = {
46
+ from_email: '',
47
+ reply_to: '',
48
+ recipient_source: 'registrations',
49
+ filter: {},
50
+ filter_expression: '',
51
+ address_expression: '',
52
+ name_expression: '',
53
+ recipient_list: '',
54
+ include_incomplete: false,
55
+ };
56
+ // Likewise for a promo code
57
+ const PROMO_CODE_DEFAULTS = {
58
+ scope: 'registration',
59
+ enabled: true,
60
+ expiration_date: null,
61
+ excluded_registration_types: [],
62
+ excludes_uninvited: false,
63
+ };
64
+ /**
65
+ * What the import data names that it doesn't hold: each promo code's excluded
66
+ * registration types must be among the event's. An empty list when there are
67
+ * none.
68
+ */
69
+ export function referenceProblems(data) {
70
+ const typeNames = new Set(data.registration_types.map(t => t.name));
71
+ return (data.promo_codes ?? []).flatMap(promo => (promo.excluded_registration_types ?? [])
72
+ .filter(name => !typeNames.has(name))
73
+ .map(name => `promo code '${promo.code}' excludes registration type '${name}', which the event doesn't have`));
74
+ }
75
+ /** The problems a template check found that are errors, by template. */
76
+ export function templateErrors(results) {
77
+ return results.flatMap(result => result.diagnostics
78
+ .filter(d => d.severity === 'error')
79
+ .map(d => {
80
+ const where = [d.field, d.line ? `line ${d.line}` : ''].filter(Boolean).join(', ');
81
+ return `${result.label}${where ? ` (${where})` : ''}: ${d.message}`;
82
+ }));
83
+ }
41
84
  /**
42
85
  * Requests started ahead of the Promise.all that collects them, pausing
43
86
  * between batches so the server keeps up. Each is handled as it starts, so
@@ -67,6 +110,10 @@ export default class CamphoricEventCreator extends Fetcher {
67
110
  if (errors.length) {
68
111
  throw this.error('event data object did not pass JSON schema validation', ...errors);
69
112
  }
113
+ const references = referenceProblems(data);
114
+ if (references.length) {
115
+ throw this.error('event data object names what it does not hold', ...references);
116
+ }
70
117
  this.setOrganizations(organizations, data.organization);
71
118
  if (sampleRegGenerator) {
72
119
  if (typeof sampleRegGenerator !== 'function') {
@@ -116,8 +163,9 @@ export default class CamphoricEventCreator extends Fetcher {
116
163
  const existingEvent = events.find(event => event.name === this.data.event.name);
117
164
  const emailAccounts = await this.fetch('GET', '/api/emailaccounts/');
118
165
  const email = emailAccounts.find(e => e.organization === org.id);
119
- // The confirmation email is the event's email template, updated below.
120
- const { confirmation_email_subject: subject, confirmation_email_template: body, ...eventData } = this.data.event;
166
+ // The confirmation and invoice emails are the event's email templates,
167
+ // updated below.
168
+ const { confirmation_email_subject, confirmation_email_template, confirmation_email_reply_to, invoice_email_subject, invoice_email_template, invoice_email_from, invoice_email_reply_to, ...eventData } = this.data.event;
121
169
  const event = {
122
170
  organization: org.id,
123
171
  ...eventData,
@@ -136,19 +184,32 @@ export default class CamphoricEventCreator extends Fetcher {
136
184
  event.confirmation_email_from || email.account;
137
185
  }
138
186
  const eventResponse = await this.fetch(existingEvent ? 'PUT' : 'POST', `/api/events/${existingEvent ? event.id : ''}`, event);
139
- await this.loadEmailTemplate(eventResponse.confirmation_template, subject, body);
187
+ await this.updateEmailTemplate(eventResponse.confirmation_template, {
188
+ subject: confirmation_email_subject,
189
+ body: confirmation_email_template,
190
+ reply_to: confirmation_email_reply_to,
191
+ });
192
+ await this.updateEmailTemplate(eventResponse.invoice_template, {
193
+ subject: invoice_email_subject,
194
+ body: invoice_email_template,
195
+ from_email: invoice_email_from,
196
+ reply_to: invoice_email_reply_to,
197
+ });
140
198
  this.results.event = eventResponse;
141
199
  return eventResponse;
142
200
  }
143
201
  // An event's confirmation and a registration type's invitation are email
144
202
  // templates, created with them (SPEC DR-45); set the text the data gives.
145
203
  async loadEmailTemplate(templateId, subject, body) {
146
- if (!templateId || (subject === undefined && body === undefined))
204
+ await this.updateEmailTemplate(templateId, { subject, body });
205
+ }
206
+ // Set the fields of an email template created with its event or
207
+ // registration type that the data gives (an undefined one is left as is).
208
+ async updateEmailTemplate(templateId, fields) {
209
+ const given = Object.fromEntries(Object.entries(fields).filter(([, value]) => value !== undefined));
210
+ if (!templateId || !Object.keys(given).length)
147
211
  return;
148
- await this.fetch('PATCH', `/api/emailtemplates/${templateId}/`, {
149
- ...(subject !== undefined ? { subject } : {}),
150
- ...(body !== undefined ? { body } : {}),
151
- });
212
+ await this.fetch('PATCH', `/api/emailtemplates/${templateId}/`, given);
152
213
  }
153
214
  async loadLodgings() {
154
215
  const event = this.savedEvent();
@@ -178,6 +239,7 @@ export default class CamphoricEventCreator extends Fetcher {
178
239
  reserved: lodging.reserved || 0,
179
240
  sharing_multiplier: lodging.sharing_multiplier || 1,
180
241
  notes: lodging.notes || '',
242
+ availability: lodging.availability || 'auto',
181
243
  };
182
244
  const saved = await this.fetch('POST', '/api/lodgings/', data);
183
245
  createdLodging = saved;
@@ -234,18 +296,100 @@ export default class CamphoricEventCreator extends Fetcher {
234
296
  const event = this.savedEvent();
235
297
  const response = await this.fetch('GET', '/api/registrationtypes/');
236
298
  const existingRegTypes = response.filter(regType => regType.event === event.id);
237
- await Promise.all(this.data.registration_types.map(async (regType) => {
299
+ this.results.registration_types = await Promise.all(this.data.registration_types.map(async (regType) => {
238
300
  const exists = existingRegTypes.find(r => r.name === regType.name);
239
- const { invitation_email_subject: subject, invitation_email_template: body, ...typeData } = regType;
301
+ const { invitation_email_subject: subject, invitation_email_template: body, invitation_email_from: from_email, invitation_email_reply_to: reply_to, ...typeData } = regType;
240
302
  const saved = await this.fetch(exists ? 'PUT' : 'POST', `/api/registrationtypes${exists ? `/${exists.id}` : ''}/`, {
241
303
  ...typeData,
242
304
  ...(exists ? { id: exists.id } : {}),
243
305
  event: event.id,
244
306
  });
245
- await this.loadEmailTemplate(saved.invitation_template, subject, body);
307
+ await this.updateEmailTemplate(saved.invitation_template, { subject, body, from_email, reply_to });
246
308
  return saved;
247
309
  }));
248
310
  }
311
+ // The event's group emails (SPEC §8.9): each one the data declares is
312
+ // created, or, when the event has one by its name, updated to match.
313
+ // Others the event has are left alone.
314
+ async loadGroupEmails() {
315
+ const { email_templates } = this.data;
316
+ if (!email_templates || !email_templates.length)
317
+ return;
318
+ const event = this.savedEvent();
319
+ const all = await this.fetch('GET', '/api/emailtemplates/');
320
+ const existing = all.filter(t => t.event === event.id && t.purpose === 'group');
321
+ this.results.email_templates = await Promise.all(email_templates.map((template) => {
322
+ const exists = existing.find(t => t.name === template.name);
323
+ return this.fetch(exists ? 'PUT' : 'POST', `/api/emailtemplates/${exists ? `${exists.id}/` : ''}`, { ...GROUP_EMAIL_DEFAULTS, ...template, purpose: 'group', event: event.id });
324
+ }));
325
+ }
326
+ // The event's promo codes (SPEC DR-67): each one the data declares is
327
+ // created, or, when the event has a live one with its code (ignoring case),
328
+ // updated to match. Its excluded registration types are given by name, so
329
+ // this runs once they're saved. Others the event has are left alone.
330
+ async loadPromoCodes() {
331
+ const { promo_codes } = this.data;
332
+ if (!promo_codes || !promo_codes.length)
333
+ return;
334
+ const event = this.savedEvent();
335
+ const regTypes = this.results.registration_types ?? [];
336
+ // Every code is worked out before any is sent, so a problem sends none.
337
+ const bodies = promo_codes.map((promo) => {
338
+ const excluded = (promo.excluded_registration_types ?? []).map((name) => {
339
+ const regType = regTypes.find(t => t.name === name);
340
+ if (!regType) {
341
+ throw this.error(`promo code '${promo.code}' excludes registration type '${name}', which was not imported`);
342
+ }
343
+ return regType.id;
344
+ });
345
+ // An expiry that can't be read must not save as "never expires"
346
+ const expiration = formatDateTime(promo.expiration_date);
347
+ if (promo.expiration_date !== undefined && expiration === undefined) {
348
+ throw this.error(`promo code '${promo.code}' has an expiration_date that can't be read: '${promo.expiration_date}'`);
349
+ }
350
+ return {
351
+ ...PROMO_CODE_DEFAULTS,
352
+ ...promo,
353
+ expiration_date: expiration ?? null,
354
+ excluded_registration_types: excluded,
355
+ event: event.id,
356
+ };
357
+ });
358
+ const all = await this.fetch('GET', '/api/promocodes/');
359
+ const existing = all.filter(p => p.event === event.id);
360
+ const sameCode = (a, b) => String(a).trim().toLowerCase() === b.trim().toLowerCase();
361
+ this.results.promo_codes = await Promise.all(bodies.map((body) => {
362
+ const exists = existing.find(p => sameCode(p.code, body.code));
363
+ return this.fetch(exists ? 'PUT' : 'POST', `/api/promocodes/${exists ? `${exists.id}/` : ''}`, body);
364
+ }));
365
+ }
366
+ // Check every template of the event through the server (SPEC §9.3), as
367
+ // `manage.py check_templates` does: each is rendered against the event's
368
+ // registrations (or, with none, parsed), so one that won't render fails the
369
+ // import rather than its first send.
370
+ async checkTemplates() {
371
+ const event = this.savedEvent();
372
+ const token = await this.getAuthToken();
373
+ // (Not this.fetch, which ends every path with a slash: this one has none.)
374
+ const res = await fetch(`${this.urlBase}/api/events/${event.id}/templates/check`, {
375
+ headers: { 'Authorization': `Token ${token}` },
376
+ });
377
+ const text = await res.text();
378
+ let json;
379
+ try {
380
+ json = JSON.parse(text);
381
+ }
382
+ catch {
383
+ throw this.error(`template check returned non-JSON (${res.status})`, { status: res.status, body: text });
384
+ }
385
+ if (!res.ok) {
386
+ throw this.error(`template check failed (${res.status})`, { status: res.status, response: json });
387
+ }
388
+ const errors = templateErrors(json.results ?? []);
389
+ if (errors.length) {
390
+ throw this.error(`${errors.length} template problem(s): ${errors.join('; ')}`, ...errors);
391
+ }
392
+ }
249
393
  async loadTestRegs() {
250
394
  if (!this.sampleRegGenerator)
251
395
  return [];
@@ -290,11 +434,14 @@ export default class CamphoricEventCreator extends Fetcher {
290
434
  // approve it in PayPal's window (SPEC §7.2). The server works out the
291
435
  // amount from the payment option (the event's default when none is given).
292
436
  const paymentOption = lodash.get(testData, 'paymentData.paymentOption');
437
+ // The registration step's quote: the server completes it only at that price.
438
+ const { quote } = testData.response;
293
439
  const body = {
294
440
  step: 'payment',
295
441
  registrationUUID: testData.response.registrationUUID,
296
442
  paymentType: 'Check',
297
443
  ...(paymentOption ? { paymentOption } : {}),
444
+ ...(typeof quote === 'string' ? { quote } : {}),
298
445
  };
299
446
  const res = await fetch(`${this.urlBase}/api/events/${event.id}/register`, {
300
447
  method: 'POST',
@@ -355,6 +502,8 @@ export default class CamphoricEventCreator extends Fetcher {
355
502
  await imp('custom charge types', this.loadCustomChargeTypes());
356
503
  await imp('reports', this.loadReports());
357
504
  await imp('registration types', this.loadRegTypes());
505
+ await imp('group emails', this.loadGroupEmails());
506
+ await imp('promo codes', this.loadPromoCodes());
358
507
  await this.loadLodgings();
359
508
  await imp('lodging', Promise.resolve());
360
509
  // Run the overrides in series in case order matters
@@ -367,6 +516,8 @@ export default class CamphoricEventCreator extends Fetcher {
367
516
  if (this.sampleRegGenerator && process.env.SKIP_TEST_REGS !== '1') {
368
517
  await imp('test registrations', this.loadTestRegs());
369
518
  }
519
+ // After the sample registrations, so the templates render against them
520
+ await imp('template check', this.checkTemplates());
370
521
  this.log(`🎉 Finished Importing ${this.data.event.name}!`);
371
522
  return true;
372
523
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CamphoricEventCreator.js","sourceRoot":"","sources":["../CamphoricEventCreator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CamphoricEventCreator.js","sourceRoot":"","sources":["../CamphoricEventCreator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bulkRegistrations.d.ts","sourceRoot":"","sources":["../bulkRegistrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAYH,eAAO,MAAM,UAAU,UAKtB,CAAC;AACF,eAAO,MAAM,SAAS,UAKrB,CAAC;AASF,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM;;eAMZ,MAAM,OAAO,MAAM;WACvB,CAAC,OAAO,SAAS,CAAC,EAAE,KAAG,CAAC;gBAMxB,MAAM;;;;;;;;;EAarB;AAUD,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAyBD,oFAAoF;AACpF,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG;IAEhD,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,KAAK,aAAa,CAAC;CAChE,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,oBAAoB,CAAC;CACnE;AA2DD,wBAAsB,oBAAoB,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,uBAAuB,iBA4ElG;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,uBAAuB,QAKpD"}
1
+ {"version":3,"file":"bulkRegistrations.d.ts","sourceRoot":"","sources":["../bulkRegistrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAYH,eAAO,MAAM,UAAU,UAKtB,CAAC;AACF,eAAO,MAAM,SAAS,UAKrB,CAAC;AASF,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM;;eAMZ,MAAM,OAAO,MAAM;WACvB,CAAC,OAAO,SAAS,CAAC,EAAE,KAAG,CAAC;gBAMxB,MAAM;;;;;;;;;EAarB;AAUD,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAyBD,oFAAoF;AACpF,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG;IAEhD,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,KAAK,aAAa,CAAC;CAChE,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,oBAAoB,CAAC;CACnE;AA6DD,wBAAsB,oBAAoB,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,uBAAuB,iBA8ElG;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,uBAAuB,QAKpD"}
@@ -181,7 +181,9 @@ export async function runBulkRegistrations({ eventName, makeRegistration }) {
181
181
  });
182
182
  // Choosing "pay by check" completes the registration (unpaid until the
183
183
  // check comes in, which is recorded below for some of them).
184
- await registrar.post(event, { step: 'payment', registrationUUID: reg.registrationUUID, paymentType: 'Check' });
184
+ await registrar.post(event, {
185
+ step: 'payment', registrationUUID: reg.registrationUUID, paymentType: 'Check', quote: reg.quote,
186
+ });
185
187
  const total = Number(reg.serverPricingResults?.total) || 0;
186
188
  const roll = gen.rand();
187
189
  if (total > 0 && roll < paidShare) {
@@ -1 +1 @@
1
- {"version":3,"file":"bulkRegistrations.js","sourceRoot":"","sources":["../bulkRegistrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulkRegistrations.js","sourceRoot":"","sources":["../bulkRegistrations.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface LodgingNode {
19
19
  visible?: boolean;
20
20
  name?: string;
21
21
  notes?: string;
22
+ availability?: 'auto' | 'full' | 'open';
22
23
  id?: number;
23
24
  }
24
25
  /** The lodging tree, flattened: every node by key, starting from `root`. */
@@ -36,6 +37,11 @@ export interface ImportData {
36
37
  registration_end?: string;
37
38
  confirmation_email_subject?: string;
38
39
  confirmation_email_template?: string;
40
+ confirmation_email_reply_to?: string;
41
+ invoice_email_subject?: string;
42
+ invoice_email_template?: string;
43
+ invoice_email_from?: string;
44
+ invoice_email_reply_to?: string;
39
45
  [field: string]: unknown;
40
46
  };
41
47
  lodgings?: Lodgings;
@@ -50,6 +56,18 @@ export interface ImportData {
50
56
  name: string;
51
57
  invitation_email_subject: string;
52
58
  invitation_email_template: string;
59
+ invitation_email_from?: string;
60
+ invitation_email_reply_to?: string;
61
+ [field: string]: unknown;
62
+ }[];
63
+ email_templates?: {
64
+ name: string;
65
+ [field: string]: unknown;
66
+ }[];
67
+ promo_codes?: {
68
+ code: string;
69
+ expiration_date?: string;
70
+ excluded_registration_types?: string[];
53
71
  [field: string]: unknown;
54
72
  }[];
55
73
  }
@@ -58,6 +76,9 @@ export interface ImportResults {
58
76
  event?: Saved;
59
77
  lodging?: Lodgings;
60
78
  reports?: Saved[];
79
+ registration_types?: Saved[];
80
+ email_templates?: Saved[];
81
+ promo_codes?: Saved[];
61
82
  }
62
83
  /** What has been saved by the time an event's overrides and sample registrations run. */
63
84
  export type SavedResults = ImportResults & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEhE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAEnC,4EAA4E;AAE5E,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE/C,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE3E,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACxC,mBAAmB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACnE,kBAAkB,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,wBAAwB,EAAE,MAAM,CAAC;QACjC,yBAAyB,EAAE,MAAM,CAAC;QAClC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,EAAE,CAAC;CACL;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;CACnB;AAED,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,KACL,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE1D,mFAAmF;AACnF,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEhE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAEnC,4EAA4E;AAE5E,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE/C,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE3E,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACxC,mBAAmB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACnE,kBAAkB,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,wBAAwB,EAAE,MAAM,CAAC;QACjC,yBAAyB,EAAE,MAAM,CAAC;QAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,EAAE,CAAC;IAEJ,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IAE/D,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,EAAE,CAAC;CACL;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;CACvB;AAED,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,KACL,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE1D,mFAAmF;AACnF,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camphoric/camphoric-event-import-tools",
3
- "version": "1.2.1",
3
+ "version": "2.1.0",
4
4
  "description": "Camphoric REST client, login, the event importer (creator and organization loader), e2e scaffolding for an event's registration form, and the runner that posts generated registrations to an event.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,6 +9,9 @@
9
9
  "directory": "data/packages/import-tools"
10
10
  },
11
11
  "type": "module",
12
+ "engines": {
13
+ "node": "^22.13.0 || >=23.5.0"
14
+ },
12
15
  "files": [
13
16
  "dist",
14
17
  "CamphoricFetcher.ts",
@@ -75,10 +78,10 @@
75
78
  },
76
79
  "dependencies": {
77
80
  "cli-progress": "^3.12.0",
78
- "dotenv": "^18.0.8",
79
- "inquirer": "^14.2.3",
81
+ "dotenv": "^18.0.9",
82
+ "inquirer": "^14.2.5",
80
83
  "lodash": "^4.17.21",
81
- "ora": "^9.4.1"
84
+ "ora": "^10.0.0"
82
85
  },
83
86
  "peerDependencies": {
84
87
  "@playwright/test": "^1.64.1"
@@ -92,10 +95,10 @@
92
95
  "@camphoric/camphoric-event-import-spec": "*",
93
96
  "@jest/globals": "^30.5.2",
94
97
  "@playwright/test": "^1.64.1",
95
- "@swc/core": "^1.16.18",
98
+ "@swc/core": "^1.16.21",
96
99
  "@swc/jest": "^0.2.39",
97
100
  "@types/cli-progress": "^3.11.6",
98
- "@types/lodash": "^4.17.26",
101
+ "@types/lodash": "^4.17.27",
99
102
  "@types/node": "^26.6.5",
100
103
  "jest": "^30.5.2",
101
104
  "tsx": "^4.23.15",
package/types.ts CHANGED
@@ -25,6 +25,7 @@ export interface LodgingNode {
25
25
  visible?: boolean;
26
26
  name?: string;
27
27
  notes?: string;
28
+ availability?: 'auto' | 'full' | 'open';
28
29
  id?: number;
29
30
  }
30
31
 
@@ -42,6 +43,11 @@ export interface ImportData {
42
43
  registration_end?: string;
43
44
  confirmation_email_subject?: string;
44
45
  confirmation_email_template?: string;
46
+ confirmation_email_reply_to?: string;
47
+ invoice_email_subject?: string;
48
+ invoice_email_template?: string;
49
+ invoice_email_from?: string;
50
+ invoice_email_reply_to?: string;
45
51
  [field: string]: unknown;
46
52
  };
47
53
  lodgings?: Lodgings;
@@ -51,6 +57,18 @@ export interface ImportData {
51
57
  name: string,
52
58
  invitation_email_subject: string,
53
59
  invitation_email_template: string,
60
+ invitation_email_from?: string,
61
+ invitation_email_reply_to?: string,
62
+ [field: string]: unknown,
63
+ }[];
64
+ // Group emails, matched to the saved ones by name
65
+ email_templates?: { name: string, [field: string]: unknown }[];
66
+ // Matched to the saved ones by code, ignoring case
67
+ promo_codes?: {
68
+ code: string,
69
+ expiration_date?: string,
70
+ // registration type names
71
+ excluded_registration_types?: string[],
54
72
  [field: string]: unknown,
55
73
  }[];
56
74
  }
@@ -60,6 +78,9 @@ export interface ImportResults {
60
78
  event?: Saved;
61
79
  lodging?: Lodgings;
62
80
  reports?: Saved[];
81
+ registration_types?: Saved[];
82
+ email_templates?: Saved[];
83
+ promo_codes?: Saved[];
63
84
  }
64
85
 
65
86
  /** What has been saved by the time an event's overrides and sample registrations run. */