placementt-core 1.400.1255 → 1.400.1257

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
- import { InstituteData } from "./typeDefinitions";
1
+ import { CohortData, EmailInteraction, ExternalEvent, InstituteData } from "./typeDefinitions";
2
2
  import { ResolvedProducts } from "./productResolver";
3
+ import { SurveyCycle } from "./surveys/types";
3
4
  /**
4
5
  * Bulk engagement emails: one admin email template, sent now to many schools.
5
6
  * The admin decides what goes out and when; this only suggests which schools
@@ -31,6 +32,35 @@ export declare const BULK_TEST_RECIPIENT = "tom@careerthread.co.uk";
31
32
  export declare const BULK_TEST_SCHOOLS = 3;
32
33
  /** A school that had this email this recently isn't suggested it again. */
33
34
  export declare const RECENTLY_SENT_DAYS = 60;
35
+ /**
36
+ * What a school has confirmed for this academic year or later. Drafts don't
37
+ * count: autoCreateCohorts starts a blank cohort for every recurring group
38
+ * each year, whether or not the school goes on to use it.
39
+ */
40
+ export type BulkYearSetup = {
41
+ cohorts: number;
42
+ surveys: number;
43
+ events: number;
44
+ };
45
+ /**
46
+ * Counts what a school has confirmed for the current academic year or later,
47
+ * for checks like the renewal emails'.
48
+ *
49
+ * Each is counted once staff have finished it, and still counts after it ends:
50
+ * - A cohort that has been activated, for this year. One made by hand before
51
+ * cohorts carried `academicYear` is placed by its placement end date.
52
+ * - A survey that isn't a draft.
53
+ * - An event past its setup stages, on or after 1 September.
54
+ *
55
+ * @param {object} docs the school's cohorts, survey cycles and events.
56
+ * @param {Date} now the current time.
57
+ * @return {BulkYearSetup} how many of each.
58
+ */
59
+ export declare const bulkYearSetup: (docs: {
60
+ cohorts: Partial<Pick<CohortData, "stage" | "academicYear" | "endPlacements">>[];
61
+ surveyCycles: Partial<Pick<SurveyCycle, "status" | "academicYear">>[];
62
+ events: Partial<Pick<ExternalEvent, "stage" | "startDate" | "endDate">>[];
63
+ }, now: Date) => BulkYearSetup;
34
64
  export type BulkEngagementSchool = {
35
65
  institute: InstituteData;
36
66
  products: ResolvedProducts;
@@ -43,6 +73,8 @@ export type BulkEngagementSchool = {
43
73
  nextOnboardingTemplate?: string;
44
74
  /** ISO date this email last went to the school, if it has. */
45
75
  lastSent?: string;
76
+ /** What it has confirmed for the year, for the checks that ask. Absent means unknown. */
77
+ yearSetup?: BulkYearSetup;
46
78
  };
47
79
  export type BulkEngagementSuggestion = {
48
80
  /** Ticked to start with in the send popup. */
@@ -51,12 +83,21 @@ export type BulkEngagementSuggestion = {
51
83
  reason?: string;
52
84
  flags: BulkEngagementFlag[];
53
85
  };
86
+ /** Whether an email suits a school, and why, for the admin. */
87
+ export type BulkTemplateCheck = (school: BulkEngagementSchool) => {
88
+ suggested: boolean;
89
+ reason?: string;
90
+ };
91
+ /** The check for each email with its own rule for who it suits. Add an email here to give it one. */
92
+ export declare const BULK_TEMPLATE_CHECKS: {
93
+ [templateKey: string]: BulkTemplateCheck;
94
+ };
54
95
  /**
55
96
  * Whether one email suits one school, and what is missing for it.
56
97
  *
57
- * Renewal emails are suggested to every paying school, and any other admin
58
- * email to schools whose next onboarding step it is. Neither is suggested to a
59
- * school that had it in the last 60 days.
98
+ * The email's check in BULK_TEMPLATE_CHECKS decides, or failing that whether
99
+ * it is the school's next onboarding step. Nothing is suggested to a school
100
+ * with no one to send to, or that had the email in the last 60 days.
60
101
  *
61
102
  * @param {string} templateKey the admin email template.
62
103
  * @param {BulkEngagementSchool} school the school.
@@ -84,3 +125,16 @@ export declare const matchesBulkFilters: (school: {
84
125
  * @return {string} "Today", "1 day ago" or "12 days ago".
85
126
  */
86
127
  export declare const bulkSentAgo: (day: string, now: Date) => string;
128
+ /** How many reminders an engagement email gets. */
129
+ export declare const ENGAGEMENT_REMINDERS = 3;
130
+ /**
131
+ * Whether an engagement email has a reminder ready for approval. Every email
132
+ * starts with `sendReminders` on, so only one sent with follow-ups counts: a
133
+ * step's, or one whose admin asked for them. One that has had its reminders,
134
+ * or had one in the last week, isn't waiting.
135
+ *
136
+ * @param {object} email the email interaction.
137
+ * @param {string} cutoffDay YYYY-MM-DD a week ago.
138
+ * @return {boolean} whether it is waiting.
139
+ */
140
+ export declare const engagementReminderWaiting: (email: Pick<EmailInteraction, "messageType" | "sendReminders" | "remindersPaused" | "sentDay" | "lastReminderDay" | "reminderNumber" | "infinite" | "additionalData">, cutoffDay: string) => boolean;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bulkSentAgo = exports.matchesBulkFilters = exports.bulkEngagementSuggestion = exports.RECENTLY_SENT_DAYS = exports.BULK_TEST_SCHOOLS = exports.BULK_TEST_RECIPIENT = exports.BULK_ENGAGEMENT_PRODUCT_LABELS = exports.BULK_ENGAGEMENT_PRODUCTS = exports.BULK_ENGAGEMENT_PACKAGE_LABELS = exports.BULK_ENGAGEMENT_BLOCKING_FLAGS = exports.BULK_ENGAGEMENT_FLAG_LABELS = void 0;
3
+ exports.engagementReminderWaiting = exports.ENGAGEMENT_REMINDERS = exports.bulkSentAgo = exports.matchesBulkFilters = exports.bulkEngagementSuggestion = exports.BULK_TEMPLATE_CHECKS = exports.bulkYearSetup = exports.RECENTLY_SENT_DAYS = exports.BULK_TEST_SCHOOLS = exports.BULK_TEST_RECIPIENT = exports.BULK_ENGAGEMENT_PRODUCT_LABELS = exports.BULK_ENGAGEMENT_PRODUCTS = exports.BULK_ENGAGEMENT_PACKAGE_LABELS = exports.BULK_ENGAGEMENT_BLOCKING_FLAGS = exports.BULK_ENGAGEMENT_FLAG_LABELS = void 0;
4
4
  const renewals_1 = require("./renewals");
5
5
  const constants_1 = require("./constants");
6
6
  const outreachRules_1 = require("./outreachRules");
7
+ const schedule_1 = require("./surveys/schedule");
7
8
  exports.BULK_ENGAGEMENT_FLAG_LABELS = {
8
9
  noContacts: "No one to send to",
9
10
  noRenewalDate: "No renewal date",
@@ -32,19 +33,84 @@ exports.BULK_TEST_RECIPIENT = "tom@careerthread.co.uk";
32
33
  exports.BULK_TEST_SCHOOLS = 3;
33
34
  /** A school that had this email this recently isn't suggested it again. */
34
35
  exports.RECENTLY_SENT_DAYS = 60;
36
+ /**
37
+ * Counts what a school has confirmed for the current academic year or later,
38
+ * for checks like the renewal emails'.
39
+ *
40
+ * Each is counted once staff have finished it, and still counts after it ends:
41
+ * - A cohort that has been activated, for this year. One made by hand before
42
+ * cohorts carried `academicYear` is placed by its placement end date.
43
+ * - A survey that isn't a draft.
44
+ * - An event past its setup stages, on or after 1 September.
45
+ *
46
+ * @param {object} docs the school's cohorts, survey cycles and events.
47
+ * @param {Date} now the current time.
48
+ * @return {BulkYearSetup} how many of each.
49
+ */
50
+ const bulkYearSetup = (docs, now) => {
51
+ const year = (0, schedule_1.academicYearOf)(now);
52
+ const yearStart = `${(0, schedule_1.currentAcademicStartYear)(now)}-09-01`;
53
+ return {
54
+ cohorts: docs.cohorts.filter((c) => ["created", "archived"].includes(c.stage || "") &&
55
+ (c.academicYear ? (0, schedule_1.normaliseAcademicYear)(c.academicYear) >= year : (c.endPlacements || "") >= yearStart)).length,
56
+ surveys: docs.surveyCycles.filter((c) => c.status !== "draft" && (c.academicYear || "") >= year).length,
57
+ events: docs.events.filter((e) => ["preEvent", "created"].includes(e.stage || "") &&
58
+ (e.endDate || e.startDate || "") >= yearStart).length,
59
+ };
60
+ };
61
+ exports.bulkYearSetup = bulkYearSetup;
62
+ /**
63
+ * Lists what a school has confirmed, for the admin.
64
+ *
65
+ * @param {BulkYearSetup} setup what it has confirmed.
66
+ * @return {string} "2 cohorts, 1 survey", or "" if nothing.
67
+ */
68
+ const describeYearSetup = ({ cohorts, surveys, events }) => [[cohorts, "cohort"], [surveys, "survey"], [events, "event"]]
69
+ .filter(([n]) => n)
70
+ .map(([n, noun]) => `${n} ${noun}${n === 1 ? "" : "s"}`)
71
+ .join(", ");
72
+ /**
73
+ * Suggests a renewal email to a paying school with nothing confirmed for this
74
+ * academic year. A school running cohorts, surveys or events is already using
75
+ * the platform, and doesn't need asking about launching it.
76
+ *
77
+ * @param {BulkEngagementSchool} school the school.
78
+ * @return {object} whether to suggest it, and why.
79
+ */
80
+ const notSetUpForYear = ({ institute, products, now, yearSetup }) => {
81
+ if (!(0, renewals_1.renewalInfo)({ institute, products, now }).applies)
82
+ return { suggested: false };
83
+ const confirmed = yearSetup ? describeYearSetup(yearSetup) : "";
84
+ const year = (0, schedule_1.academicYearOf)(now);
85
+ if (confirmed)
86
+ return { suggested: false, reason: `Set up for ${year}: ${confirmed}` };
87
+ return { suggested: true, reason: yearSetup ? `Paying customer, nothing set up for ${year}` : "Paying customer" };
88
+ };
89
+ /**
90
+ * Suggests an email to schools whose next onboarding step it is. What any
91
+ * email without its own check uses.
92
+ *
93
+ * @param {string} templateKey the email.
94
+ * @return {BulkTemplateCheck} the check.
95
+ */
96
+ const isNextOnboardingStep = (templateKey) => ({ nextOnboardingTemplate }) => nextOnboardingTemplate === templateKey ? { suggested: true, reason: "Their next onboarding step" } : { suggested: false };
97
+ /** The check for each email with its own rule for who it suits. Add an email here to give it one. */
98
+ exports.BULK_TEMPLATE_CHECKS = {
99
+ engagementRenewalCheckIn: notSetUpForYear,
100
+ };
35
101
  /**
36
102
  * Whether one email suits one school, and what is missing for it.
37
103
  *
38
- * Renewal emails are suggested to every paying school, and any other admin
39
- * email to schools whose next onboarding step it is. Neither is suggested to a
40
- * school that had it in the last 60 days.
104
+ * The email's check in BULK_TEMPLATE_CHECKS decides, or failing that whether
105
+ * it is the school's next onboarding step. Nothing is suggested to a school
106
+ * with no one to send to, or that had the email in the last 60 days.
41
107
  *
42
108
  * @param {string} templateKey the admin email template.
43
109
  * @param {BulkEngagementSchool} school the school.
44
110
  * @return {BulkEngagementSuggestion} whether to suggest it, why, and its flags.
45
111
  */
46
112
  const bulkEngagementSuggestion = (templateKey, school) => {
47
- const { institute, products, now, contactCount, hasQuote, nextOnboardingTemplate, lastSent } = school;
113
+ const { institute, products, now, contactCount, hasQuote, lastSent } = school;
48
114
  const params = constants_1.emailTemplates[templateKey]?.params || [];
49
115
  const renewal = (0, renewals_1.renewalInfo)({ institute, products, now });
50
116
  const recent = Boolean(lastSent) && now.getTime() - Date.parse(lastSent) < exports.RECENTLY_SENT_DAYS * 86400000;
@@ -59,12 +125,9 @@ const bulkEngagementSuggestion = (templateKey, school) => {
59
125
  flags.push("noFinanceContact");
60
126
  if (recent)
61
127
  flags.push("sentRecently");
62
- const none = { suggested: false, flags };
63
- if (recent || flags.some((f) => exports.BULK_ENGAGEMENT_BLOCKING_FLAGS.includes(f)))
64
- return none;
65
- if (!renewals_1.RENEWAL_EMAIL_TEMPLATES.includes(templateKey))
66
- return nextOnboardingTemplate === templateKey ? { suggested: true, reason: "Their next onboarding step", flags } : none;
67
- return renewal.applies ? { suggested: true, reason: "Paying customer", flags } : none;
128
+ const { suggested, reason } = (exports.BULK_TEMPLATE_CHECKS[templateKey] || isNextOnboardingStep(templateKey))(school);
129
+ const blocked = recent || flags.some((f) => exports.BULK_ENGAGEMENT_BLOCKING_FLAGS.includes(f));
130
+ return { suggested: suggested && !blocked, ...(reason ? { reason } : {}), flags };
68
131
  };
69
132
  exports.bulkEngagementSuggestion = bulkEngagementSuggestion;
70
133
  /**
@@ -93,4 +156,22 @@ const bulkSentAgo = (day, now) => {
93
156
  return days === 1 ? "1 day ago" : `${days} days ago`;
94
157
  };
95
158
  exports.bulkSentAgo = bulkSentAgo;
159
+ /** How many reminders an engagement email gets. */
160
+ exports.ENGAGEMENT_REMINDERS = 3;
161
+ /**
162
+ * Whether an engagement email has a reminder ready for approval. Every email
163
+ * starts with `sendReminders` on, so only one sent with follow-ups counts: a
164
+ * step's, or one whose admin asked for them. One that has had its reminders,
165
+ * or had one in the last week, isn't waiting.
166
+ *
167
+ * @param {object} email the email interaction.
168
+ * @param {string} cutoffDay YYYY-MM-DD a week ago.
169
+ * @return {boolean} whether it is waiting.
170
+ */
171
+ const engagementReminderWaiting = (email, cutoffDay) => email.messageType === "engagementEmail" &&
172
+ Boolean(email.sendReminders) && !email.remindersPaused &&
173
+ Boolean(email.additionalData?.stepKey || email.additionalData?.followUps) &&
174
+ ((email.reminderNumber || 0) < exports.ENGAGEMENT_REMINDERS || Boolean(email.infinite)) &&
175
+ (email.lastReminderDay || email.sentDay) <= cutoffDay;
176
+ exports.engagementReminderWaiting = engagementReminderWaiting;
96
177
  //# sourceMappingURL=bulkEngagement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulkEngagement.js","sourceRoot":"","sources":["../src/bulkEngagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulkEngagement.js","sourceRoot":"","sources":["../src/bulkEngagement.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,21 @@ const suggest = (templateKey, institute, date, extra = {}) => (0, bulkEngagement
22
22
  hasQuote: extra.hasQuote ?? true,
23
23
  nextOnboardingTemplate: extra.nextOnboardingTemplate,
24
24
  lastSent: extra.lastSent,
25
+ yearSetup: extra.yearSetup,
25
26
  });
26
27
  describe("bulk engagement suggestions", () => {
27
28
  it("suggests the check-in to every paying school, date or not", () => {
28
29
  expect(suggest("engagementRenewalCheckIn", school("2027-06-10"), "2026-11-04")).toMatchObject({ suggested: true, reason: "Paying customer" });
29
30
  expect(suggest("engagementRenewalCheckIn", school(), "2026-11-04").suggested).toBe(true);
30
31
  });
32
+ it("doesn't suggest the check-in to a school with something confirmed for the year", () => {
33
+ const set = suggest("engagementRenewalCheckIn", school("2027-06-10"), "2026-11-04", { yearSetup: { cohorts: 2, surveys: 1, events: 0 } });
34
+ expect(set).toEqual({ suggested: false, reason: "Set up for 2026-27: 2 cohorts, 1 survey", flags: [] });
35
+ });
36
+ it("suggests the check-in to a school with nothing confirmed for the year", () => {
37
+ expect(suggest("engagementRenewalCheckIn", school("2027-06-10"), "2026-11-04", { yearSetup: { cohorts: 0, surveys: 0, events: 0 } }))
38
+ .toMatchObject({ suggested: true, reason: "Paying customer, nothing set up for 2026-27" });
39
+ });
31
40
  it("leaves out hub schools", () => {
32
41
  expect(suggest("engagementRenewalCheckIn", school("2027-01-10", { package: "careersSchool" }), "2026-11-04").suggested).toBe(false);
33
42
  });
@@ -48,6 +57,75 @@ describe("bulk engagement suggestions", () => {
48
57
  expect(suggest("engagementPickFeatures", school(), "2026-11-04", { nextOnboardingTemplate: "engagementPlanYear" }).suggested).toBe(false);
49
58
  });
50
59
  });
60
+ describe("bulkYearSetup", () => {
61
+ const now = new Date("2026-11-04T09:00:00Z");
62
+ const count = (docs) => (0, bulkEngagement_1.bulkYearSetup)({ cohorts: [], surveyCycles: [], events: [], ...docs }, now);
63
+ it("doesn't count the blank draft cohort made each year", () => {
64
+ expect(count({ cohorts: [{ stage: "name", academicYear: "2026/27", endPlacements: "" }] }).cohorts).toBe(0);
65
+ });
66
+ it("counts an activated cohort for this year or later, even once archived", () => {
67
+ expect(count({ cohorts: [
68
+ { stage: "created", academicYear: "2026/27" },
69
+ { stage: "created", academicYear: "2027/28" },
70
+ { stage: "archived", academicYear: "2026/27" },
71
+ { stage: "created", academicYear: "2025/26" },
72
+ ] }).cohorts).toBe(3);
73
+ });
74
+ it("places a cohort with no academic year by when its placements end", () => {
75
+ expect(count({ cohorts: [
76
+ { stage: "created", endPlacements: "2027-07-01" },
77
+ { stage: "created", endPlacements: "2026-07-01" },
78
+ ] }).cohorts).toBe(1);
79
+ });
80
+ it("counts surveys that aren't drafts, this year or later", () => {
81
+ expect(count({ surveyCycles: [
82
+ { status: "scheduled", academicYear: "2026-27" },
83
+ { status: "closed", academicYear: "2026-27" },
84
+ { status: "active", academicYear: "2027-28" },
85
+ { status: "draft", academicYear: "2026-27" },
86
+ { status: "closed", academicYear: "2025-26" },
87
+ ] }).surveys).toBe(3);
88
+ });
89
+ it("counts events past setup, on or after 1 September", () => {
90
+ expect(count({ events: [
91
+ { stage: "created", startDate: "2026-12-01" },
92
+ { stage: "preEvent", startDate: "2026-09-20", endDate: "2026-09-21" },
93
+ { stage: "basicDetails", startDate: "2026-12-01" },
94
+ { stage: "created", startDate: "2026-06-01" },
95
+ ] }).events).toBe(2);
96
+ });
97
+ });
98
+ describe("engagementReminderWaiting", () => {
99
+ const email = (overrides = {}) => ({
100
+ messageType: "engagementEmail",
101
+ sendReminders: true,
102
+ sentDay: "2026-10-01",
103
+ additionalData: { oId: "a", stepKey: "students.route" },
104
+ ...overrides,
105
+ });
106
+ const waiting = (overrides = {}) => (0, bulkEngagement_1.engagementReminderWaiting)(email(overrides), "2026-10-29");
107
+ it("waits on a step's email or one sent with follow-ups", () => {
108
+ expect(waiting()).toBe(true);
109
+ expect(waiting({ additionalData: { oId: "a", followUps: true } })).toBe(true);
110
+ });
111
+ it("ignores an email sent without follow-ups", () => {
112
+ expect(waiting({ additionalData: { oId: "a", templateKey: "engagementRenewalCheckIn" } })).toBe(false);
113
+ });
114
+ it("ignores other kinds of email, and those paused or stopped", () => {
115
+ expect(waiting({ messageType: "placementStage" })).toBe(false);
116
+ expect(waiting({ remindersPaused: true })).toBe(false);
117
+ expect(waiting({ sendReminders: false })).toBe(false);
118
+ });
119
+ it("waits a week from the email, then from the last reminder", () => {
120
+ expect(waiting({ sentDay: "2026-11-02" })).toBe(false);
121
+ expect(waiting({ lastReminderDay: "2026-11-03", reminderNumber: 1 })).toBe(false);
122
+ expect(waiting({ lastReminderDay: "2026-10-29", reminderNumber: 1 })).toBe(true);
123
+ });
124
+ it("stops after the third reminder", () => {
125
+ expect(waiting({ reminderNumber: 2 })).toBe(true);
126
+ expect(waiting({ reminderNumber: 3 })).toBe(false);
127
+ });
128
+ });
51
129
  describe("matchesBulkFilters", () => {
52
130
  const trust = { package: "institutes-two", products: ["wex", "destinations"] };
53
131
  const hub = { package: "careersHub", products: ["employerEvents"] };
@@ -1 +1 @@
1
- {"version":3,"file":"bulkEngagement.test.js","sourceRoot":"","sources":["../src/bulkEngagement.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulkEngagement.test.js","sourceRoot":"","sources":["../src/bulkEngagement.test.ts"],"names":[],"mappings":"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"}
@@ -201,6 +201,122 @@ export declare const engagementCallables: {
201
201
  }>;
202
202
  }>;
203
203
  };
204
+ /** The engagement email reminders held for an admin to approve, each with the account's status and the exact email. */
205
+ "engagementReminders-getWaitingReminders": {
206
+ request: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
207
+ response: z.ZodObject<{
208
+ reminders: z.ZodArray<z.ZodObject<{
209
+ /** The original email's interaction. */
210
+ id: z.ZodString;
211
+ oId: z.ZodString;
212
+ schoolName: z.ZodString;
213
+ package: z.ZodString;
214
+ lifecycleStatus: z.ZodOptional<z.ZodString>;
215
+ recipientName: z.ZodString;
216
+ recipientEmail: z.ZodString;
217
+ /** The original email's name. */
218
+ title: z.ZodString;
219
+ /** The day the original went, YYYY-MM-DD. */
220
+ sentDay: z.ZodString;
221
+ lastReminderDay: z.ZodOptional<z.ZodString>;
222
+ /** Which reminder this would be. 1 is the first. */
223
+ number: z.ZodNumber;
224
+ /** How the recipient has engaged with the original so far. */
225
+ topInteraction: z.ZodOptional<z.ZodString>;
226
+ /** Whether the checks say it should go. Approving is refused if not. */
227
+ due: z.ZodBoolean;
228
+ /** Why, for the admin. */
229
+ note: z.ZodString;
230
+ /** The email as it would go, for the previewer. */
231
+ content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
232
+ }, "strip", z.ZodTypeAny, {
233
+ number: number;
234
+ id: string;
235
+ content: Record<string, unknown>;
236
+ title: string;
237
+ note: string;
238
+ oId: string;
239
+ package: string;
240
+ schoolName: string;
241
+ sentDay: string;
242
+ recipientName: string;
243
+ recipientEmail: string;
244
+ due: boolean;
245
+ lifecycleStatus?: string | undefined;
246
+ lastReminderDay?: string | undefined;
247
+ topInteraction?: string | undefined;
248
+ }, {
249
+ number: number;
250
+ id: string;
251
+ content: Record<string, unknown>;
252
+ title: string;
253
+ note: string;
254
+ oId: string;
255
+ package: string;
256
+ schoolName: string;
257
+ sentDay: string;
258
+ recipientName: string;
259
+ recipientEmail: string;
260
+ due: boolean;
261
+ lifecycleStatus?: string | undefined;
262
+ lastReminderDay?: string | undefined;
263
+ topInteraction?: string | undefined;
264
+ }>, "many">;
265
+ }, "strip", z.ZodTypeAny, {
266
+ reminders: {
267
+ number: number;
268
+ id: string;
269
+ content: Record<string, unknown>;
270
+ title: string;
271
+ note: string;
272
+ oId: string;
273
+ package: string;
274
+ schoolName: string;
275
+ sentDay: string;
276
+ recipientName: string;
277
+ recipientEmail: string;
278
+ due: boolean;
279
+ lifecycleStatus?: string | undefined;
280
+ lastReminderDay?: string | undefined;
281
+ topInteraction?: string | undefined;
282
+ }[];
283
+ }, {
284
+ reminders: {
285
+ number: number;
286
+ id: string;
287
+ content: Record<string, unknown>;
288
+ title: string;
289
+ note: string;
290
+ oId: string;
291
+ package: string;
292
+ schoolName: string;
293
+ sentDay: string;
294
+ recipientName: string;
295
+ recipientEmail: string;
296
+ due: boolean;
297
+ lifecycleStatus?: string | undefined;
298
+ lastReminderDay?: string | undefined;
299
+ topInteraction?: string | undefined;
300
+ }[];
301
+ }>;
302
+ };
303
+ /** Sends one waiting reminder, after checking again that it should go. */
304
+ "engagementReminders-approveReminder": {
305
+ request: z.ZodObject<{
306
+ id: z.ZodString;
307
+ }, "strip", z.ZodTypeAny, {
308
+ id: string;
309
+ }, {
310
+ id: string;
311
+ }>;
312
+ response: z.ZodObject<{
313
+ sent: z.ZodLiteral<true>;
314
+ }, "strip", z.ZodTypeAny, {
315
+ sent: true;
316
+ }, {
317
+ sent: true;
318
+ }>;
319
+ };
204
320
  /** One-off: removes the open renewal email tasks the old automatic schedule made. */
205
321
  "bulkEngagement-clearRenewalEmailTasks": {
206
322
  request: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
@@ -74,6 +74,42 @@ exports.engagementCallables = {
74
74
  results: zod_1.z.record(zod_1.z.string(), zod_1.z.object({ sent: zod_1.z.array(zod_1.z.string()), error: zod_1.z.string().optional() })),
75
75
  }),
76
76
  },
77
+ /** The engagement email reminders held for an admin to approve, each with the account's status and the exact email. */
78
+ "engagementReminders-getWaitingReminders": {
79
+ request: zod_1.z.object({}).optional(),
80
+ response: zod_1.z.object({
81
+ reminders: zod_1.z.array(zod_1.z.object({
82
+ /** The original email's interaction. */
83
+ id: zod_1.z.string(),
84
+ oId: zod_1.z.string(),
85
+ schoolName: zod_1.z.string(),
86
+ package: zod_1.z.string(),
87
+ lifecycleStatus: zod_1.z.string().optional(),
88
+ recipientName: zod_1.z.string(),
89
+ recipientEmail: zod_1.z.string(),
90
+ /** The original email's name. */
91
+ title: zod_1.z.string(),
92
+ /** The day the original went, YYYY-MM-DD. */
93
+ sentDay: zod_1.z.string(),
94
+ lastReminderDay: zod_1.z.string().optional(),
95
+ /** Which reminder this would be. 1 is the first. */
96
+ number: zod_1.z.number(),
97
+ /** How the recipient has engaged with the original so far. */
98
+ topInteraction: zod_1.z.string().optional(),
99
+ /** Whether the checks say it should go. Approving is refused if not. */
100
+ due: zod_1.z.boolean(),
101
+ /** Why, for the admin. */
102
+ note: zod_1.z.string(),
103
+ /** The email as it would go, for the previewer. */
104
+ content: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
105
+ })),
106
+ }),
107
+ },
108
+ /** Sends one waiting reminder, after checking again that it should go. */
109
+ "engagementReminders-approveReminder": {
110
+ request: zod_1.z.object({ id: zod_1.z.string().min(1) }),
111
+ response: zod_1.z.object({ sent: zod_1.z.literal(true) }),
112
+ },
77
113
  /** One-off: removes the open renewal email tasks the old automatic schedule made. */
78
114
  "bulkEngagement-clearRenewalEmailTasks": {
79
115
  request: zod_1.z.object({}).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../src/callables/engagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../src/callables/engagement.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AACtB,mCAAqD;AAErD;;;;;;;GAOG;AAEH,MAAM,IAAI,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC;AACpG,MAAM,OAAO,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;AAErD,QAAA,mBAAmB,GAAG;IAC/B,yCAAyC,EAAE;QACvC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,mEAAmE;YACnE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC,CAAC;QACF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;gBACtB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;gBACf,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;gBACnB,wDAAwD;gBACxD,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC1B,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;gBACtB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpB,wDAAwD;gBACxD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;gBACpB,8DAA8D;gBAC9D,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,iFAAiF;gBACjF,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC,QAAQ,EAAE;gBACxE,sEAAsE;gBACtE,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;aAC3C,CAAC,CAAC;SACN,CAAC;KACL;IACD,wCAAwC,EAAE;QACtC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC7E,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;YACvD,8EAA8E;YAC9E,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,4DAA4D;YAC5D,SAAS,EAAE,IAAA,qBAAa,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;YACpC,oFAAoF;YACpF,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;SACzB,CAAC;QACF,+DAA+D;QAC/D,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;SACrG,CAAC;KACL;IACD;;;;OAIG;IACH,uCAAuC,EAAE;QACrC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;YACvD,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,SAAS,EAAE,IAAA,qBAAa,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACvC,CAAC;QACF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;SACrG,CAAC;KACL;IACD,uHAAuH;IACvH,yCAAyC,EAAE;QACvC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;gBACxB,wCAAwC;gBACxC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;gBACd,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;gBACf,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;gBACtB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;gBACnB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACtC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;gBACzB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;gBAC1B,iCAAiC;gBACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;gBACjB,6CAA6C;gBAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;gBACnB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACtC,oDAAoD;gBACpD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;gBAClB,8DAA8D;gBAC9D,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACrC,wEAAwE;gBACxE,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE;gBAChB,0BAA0B;gBAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;gBAChB,mDAAmD;gBACnD,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;aAC7C,CAAC,CAAC;SACN,CAAC;KACL;IACD,0EAA0E;IAC1E,qCAAqC,EAAE;QACnC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC;QAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC;KAC9C;IACD,qFAAqF;IACrF,uCAAuC,EAAE;QACrC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAC,CAAC;KAC5C;CACoB,CAAC"}