placementt-core 1.400.1265 → 1.400.1267
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/lib/callables/engagement.d.ts +38 -14
- package/lib/callables/engagement.js +4 -5
- package/lib/callables/engagement.js.map +1 -1
- package/lib/callables/registry.d.ts +72 -26
- package/lib/typeDefinitions.d.ts +7 -0
- package/lib/typeDefinitions.js.map +1 -1
- package/package.json +1 -1
- package/src/callables/engagement.ts +4 -5
- package/src/typeDefinitions.ts +5 -0
|
@@ -23,6 +23,20 @@ export declare const engagementCallables: {
|
|
|
23
23
|
contacts: z.ZodNumber;
|
|
24
24
|
/** How many of them have opted in to marketing emails. */
|
|
25
25
|
marketingContacts: z.ZodNumber;
|
|
26
|
+
/** Who it would go to, so the admin can untick any of them. */
|
|
27
|
+
people: z.ZodArray<z.ZodObject<{
|
|
28
|
+
email: z.ZodString;
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
optedIn: z.ZodBoolean;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
name: string;
|
|
33
|
+
email: string;
|
|
34
|
+
optedIn: boolean;
|
|
35
|
+
}, {
|
|
36
|
+
name: string;
|
|
37
|
+
email: string;
|
|
38
|
+
optedIn: boolean;
|
|
39
|
+
}>, "many">;
|
|
26
40
|
/** ISO date this email last went to the school, if it has. */
|
|
27
41
|
lastSent: z.ZodOptional<z.ZodString>;
|
|
28
42
|
/** The last engagement email of any kind that went to the school, if one has. */
|
|
@@ -43,6 +57,11 @@ export declare const engagementCallables: {
|
|
|
43
57
|
oId: string;
|
|
44
58
|
package: string;
|
|
45
59
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
60
|
+
people: {
|
|
61
|
+
name: string;
|
|
62
|
+
email: string;
|
|
63
|
+
optedIn: boolean;
|
|
64
|
+
}[];
|
|
46
65
|
contacts: number;
|
|
47
66
|
params: Record<string, string>;
|
|
48
67
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -59,6 +78,11 @@ export declare const engagementCallables: {
|
|
|
59
78
|
oId: string;
|
|
60
79
|
package: string;
|
|
61
80
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
81
|
+
people: {
|
|
82
|
+
name: string;
|
|
83
|
+
email: string;
|
|
84
|
+
optedIn: boolean;
|
|
85
|
+
}[];
|
|
62
86
|
contacts: number;
|
|
63
87
|
params: Record<string, string>;
|
|
64
88
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -77,6 +101,11 @@ export declare const engagementCallables: {
|
|
|
77
101
|
oId: string;
|
|
78
102
|
package: string;
|
|
79
103
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
104
|
+
people: {
|
|
105
|
+
name: string;
|
|
106
|
+
email: string;
|
|
107
|
+
optedIn: boolean;
|
|
108
|
+
}[];
|
|
80
109
|
contacts: number;
|
|
81
110
|
params: Record<string, string>;
|
|
82
111
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -95,6 +124,11 @@ export declare const engagementCallables: {
|
|
|
95
124
|
oId: string;
|
|
96
125
|
package: string;
|
|
97
126
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
127
|
+
people: {
|
|
128
|
+
name: string;
|
|
129
|
+
email: string;
|
|
130
|
+
optedIn: boolean;
|
|
131
|
+
}[];
|
|
98
132
|
contacts: number;
|
|
99
133
|
params: Record<string, string>;
|
|
100
134
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -122,6 +156,8 @@ export declare const engagementCallables: {
|
|
|
122
156
|
followUps: z.ZodBoolean;
|
|
123
157
|
/** Send only to the admin and key contacts who have opted in to marketing emails. */
|
|
124
158
|
marketingOnly: z.ZodOptional<z.ZodBoolean>;
|
|
159
|
+
/** The contacts the admin unticked, by school. */
|
|
160
|
+
excluded: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
|
|
125
161
|
}, "strip", z.ZodTypeAny, {
|
|
126
162
|
body: unknown[];
|
|
127
163
|
subject: string;
|
|
@@ -130,6 +166,7 @@ export declare const engagementCallables: {
|
|
|
130
166
|
followUps: boolean;
|
|
131
167
|
heroImage?: string | undefined;
|
|
132
168
|
marketingOnly?: boolean | undefined;
|
|
169
|
+
excluded?: Record<string, string[]> | undefined;
|
|
133
170
|
}, {
|
|
134
171
|
body: unknown[];
|
|
135
172
|
subject: string;
|
|
@@ -138,6 +175,7 @@ export declare const engagementCallables: {
|
|
|
138
175
|
followUps: boolean;
|
|
139
176
|
heroImage?: string | null | undefined;
|
|
140
177
|
marketingOnly?: boolean | undefined;
|
|
178
|
+
excluded?: Record<string, string[]> | undefined;
|
|
141
179
|
}>;
|
|
142
180
|
/** Each school's outcome: who it went to, or why it didn't. */
|
|
143
181
|
response: z.ZodObject<{
|
|
@@ -355,18 +393,4 @@ export declare const engagementCallables: {
|
|
|
355
393
|
cleared: number;
|
|
356
394
|
}>;
|
|
357
395
|
};
|
|
358
|
-
/** One-off: opts in existing schools' admins and key contacts who were never asked. Delete once run. */
|
|
359
|
-
"bulkEngagement-backfillMarketingConsent": {
|
|
360
|
-
request: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
361
|
-
response: z.ZodObject<{
|
|
362
|
-
schools: z.ZodNumber;
|
|
363
|
-
contacts: z.ZodNumber;
|
|
364
|
-
}, "strip", z.ZodTypeAny, {
|
|
365
|
-
schools: number;
|
|
366
|
-
contacts: number;
|
|
367
|
-
}, {
|
|
368
|
-
schools: number;
|
|
369
|
-
contacts: number;
|
|
370
|
-
}>;
|
|
371
|
-
};
|
|
372
396
|
};
|
|
@@ -33,6 +33,8 @@ exports.engagementCallables = {
|
|
|
33
33
|
contacts: zod_1.z.number(),
|
|
34
34
|
/** How many of them have opted in to marketing emails. */
|
|
35
35
|
marketingContacts: zod_1.z.number(),
|
|
36
|
+
/** Who it would go to, so the admin can untick any of them. */
|
|
37
|
+
people: zod_1.z.array(zod_1.z.object({ email: zod_1.z.string(), name: zod_1.z.string(), optedIn: zod_1.z.boolean() })),
|
|
36
38
|
/** ISO date this email last went to the school, if it has. */
|
|
37
39
|
lastSent: zod_1.z.string().optional(),
|
|
38
40
|
/** The last engagement email of any kind that went to the school, if one has. */
|
|
@@ -55,6 +57,8 @@ exports.engagementCallables = {
|
|
|
55
57
|
followUps: zod_1.z.boolean(),
|
|
56
58
|
/** Send only to the admin and key contacts who have opted in to marketing emails. */
|
|
57
59
|
marketingOnly: zod_1.z.boolean().optional(),
|
|
60
|
+
/** The contacts the admin unticked, by school. */
|
|
61
|
+
excluded: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())).optional(),
|
|
58
62
|
}),
|
|
59
63
|
/** Each school's outcome: who it went to, or why it didn't. */
|
|
60
64
|
response: zod_1.z.object({
|
|
@@ -124,10 +128,5 @@ exports.engagementCallables = {
|
|
|
124
128
|
request: zod_1.z.object({}).optional(),
|
|
125
129
|
response: zod_1.z.object({ cleared: zod_1.z.number() }),
|
|
126
130
|
},
|
|
127
|
-
/** One-off: opts in existing schools' admins and key contacts who were never asked. Delete once run. */
|
|
128
|
-
"bulkEngagement-backfillMarketingConsent": {
|
|
129
|
-
request: zod_1.z.object({}).optional(),
|
|
130
|
-
response: zod_1.z.object({ schools: zod_1.z.number(), contacts: zod_1.z.number() }),
|
|
131
|
-
},
|
|
132
131
|
};
|
|
133
132
|
//# sourceMappingURL=engagement.js.map
|
|
@@ -1 +1 @@
|
|
|
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,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvH,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,0DAA0D;gBAC1D,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE;gBAC7B,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;YACtB,qFAAqF;YACrF,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../src/callables/engagement.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,19 @@ export declare const allCallables: {
|
|
|
30
30
|
flags: z.ZodArray<z.ZodEnum<["noContacts", "noRenewalDate", "noQuote", "noFinanceContact", "sentRecently"]>, "many">;
|
|
31
31
|
contacts: z.ZodNumber;
|
|
32
32
|
marketingContacts: z.ZodNumber;
|
|
33
|
+
people: z.ZodArray<z.ZodObject<{
|
|
34
|
+
email: z.ZodString;
|
|
35
|
+
name: z.ZodString;
|
|
36
|
+
optedIn: z.ZodBoolean;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
name: string;
|
|
39
|
+
email: string;
|
|
40
|
+
optedIn: boolean;
|
|
41
|
+
}, {
|
|
42
|
+
name: string;
|
|
43
|
+
email: string;
|
|
44
|
+
optedIn: boolean;
|
|
45
|
+
}>, "many">;
|
|
33
46
|
lastSent: z.ZodOptional<z.ZodString>;
|
|
34
47
|
lastEmail: z.ZodOptional<z.ZodObject<{
|
|
35
48
|
title: z.ZodString;
|
|
@@ -47,6 +60,11 @@ export declare const allCallables: {
|
|
|
47
60
|
oId: string;
|
|
48
61
|
package: string;
|
|
49
62
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
63
|
+
people: {
|
|
64
|
+
name: string;
|
|
65
|
+
email: string;
|
|
66
|
+
optedIn: boolean;
|
|
67
|
+
}[];
|
|
50
68
|
contacts: number;
|
|
51
69
|
params: Record<string, string>;
|
|
52
70
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -63,6 +81,11 @@ export declare const allCallables: {
|
|
|
63
81
|
oId: string;
|
|
64
82
|
package: string;
|
|
65
83
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
84
|
+
people: {
|
|
85
|
+
name: string;
|
|
86
|
+
email: string;
|
|
87
|
+
optedIn: boolean;
|
|
88
|
+
}[];
|
|
66
89
|
contacts: number;
|
|
67
90
|
params: Record<string, string>;
|
|
68
91
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -81,6 +104,11 @@ export declare const allCallables: {
|
|
|
81
104
|
oId: string;
|
|
82
105
|
package: string;
|
|
83
106
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
107
|
+
people: {
|
|
108
|
+
name: string;
|
|
109
|
+
email: string;
|
|
110
|
+
optedIn: boolean;
|
|
111
|
+
}[];
|
|
84
112
|
contacts: number;
|
|
85
113
|
params: Record<string, string>;
|
|
86
114
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -99,6 +127,11 @@ export declare const allCallables: {
|
|
|
99
127
|
oId: string;
|
|
100
128
|
package: string;
|
|
101
129
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
130
|
+
people: {
|
|
131
|
+
name: string;
|
|
132
|
+
email: string;
|
|
133
|
+
optedIn: boolean;
|
|
134
|
+
}[];
|
|
102
135
|
contacts: number;
|
|
103
136
|
params: Record<string, string>;
|
|
104
137
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -122,6 +155,7 @@ export declare const allCallables: {
|
|
|
122
155
|
heroImage: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
|
|
123
156
|
followUps: z.ZodBoolean;
|
|
124
157
|
marketingOnly: z.ZodOptional<z.ZodBoolean>;
|
|
158
|
+
excluded: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
|
|
125
159
|
}, "strip", z.ZodTypeAny, {
|
|
126
160
|
body: unknown[];
|
|
127
161
|
subject: string;
|
|
@@ -130,6 +164,7 @@ export declare const allCallables: {
|
|
|
130
164
|
followUps: boolean;
|
|
131
165
|
heroImage?: string | undefined;
|
|
132
166
|
marketingOnly?: boolean | undefined;
|
|
167
|
+
excluded?: Record<string, string[]> | undefined;
|
|
133
168
|
}, {
|
|
134
169
|
body: unknown[];
|
|
135
170
|
subject: string;
|
|
@@ -138,6 +173,7 @@ export declare const allCallables: {
|
|
|
138
173
|
followUps: boolean;
|
|
139
174
|
heroImage?: string | null | undefined;
|
|
140
175
|
marketingOnly?: boolean | undefined;
|
|
176
|
+
excluded?: Record<string, string[]> | undefined;
|
|
141
177
|
}>;
|
|
142
178
|
response: z.ZodObject<{
|
|
143
179
|
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -337,19 +373,6 @@ export declare const allCallables: {
|
|
|
337
373
|
cleared: number;
|
|
338
374
|
}>;
|
|
339
375
|
};
|
|
340
|
-
"bulkEngagement-backfillMarketingConsent": {
|
|
341
|
-
request: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
342
|
-
response: z.ZodObject<{
|
|
343
|
-
schools: z.ZodNumber;
|
|
344
|
-
contacts: z.ZodNumber;
|
|
345
|
-
}, "strip", z.ZodTypeAny, {
|
|
346
|
-
schools: number;
|
|
347
|
-
contacts: number;
|
|
348
|
-
}, {
|
|
349
|
-
schools: number;
|
|
350
|
-
contacts: number;
|
|
351
|
-
}>;
|
|
352
|
-
};
|
|
353
376
|
"activities-bulkAdd": {
|
|
354
377
|
request: z.ZodObject<{
|
|
355
378
|
oId: z.ZodString;
|
|
@@ -7786,6 +7809,19 @@ export declare const callableGroups: {
|
|
|
7786
7809
|
flags: z.ZodArray<z.ZodEnum<["noContacts", "noRenewalDate", "noQuote", "noFinanceContact", "sentRecently"]>, "many">;
|
|
7787
7810
|
contacts: z.ZodNumber;
|
|
7788
7811
|
marketingContacts: z.ZodNumber;
|
|
7812
|
+
people: z.ZodArray<z.ZodObject<{
|
|
7813
|
+
email: z.ZodString;
|
|
7814
|
+
name: z.ZodString;
|
|
7815
|
+
optedIn: z.ZodBoolean;
|
|
7816
|
+
}, "strip", z.ZodTypeAny, {
|
|
7817
|
+
name: string;
|
|
7818
|
+
email: string;
|
|
7819
|
+
optedIn: boolean;
|
|
7820
|
+
}, {
|
|
7821
|
+
name: string;
|
|
7822
|
+
email: string;
|
|
7823
|
+
optedIn: boolean;
|
|
7824
|
+
}>, "many">;
|
|
7789
7825
|
lastSent: z.ZodOptional<z.ZodString>;
|
|
7790
7826
|
lastEmail: z.ZodOptional<z.ZodObject<{
|
|
7791
7827
|
title: z.ZodString;
|
|
@@ -7803,6 +7839,11 @@ export declare const callableGroups: {
|
|
|
7803
7839
|
oId: string;
|
|
7804
7840
|
package: string;
|
|
7805
7841
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
7842
|
+
people: {
|
|
7843
|
+
name: string;
|
|
7844
|
+
email: string;
|
|
7845
|
+
optedIn: boolean;
|
|
7846
|
+
}[];
|
|
7806
7847
|
contacts: number;
|
|
7807
7848
|
params: Record<string, string>;
|
|
7808
7849
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -7819,6 +7860,11 @@ export declare const callableGroups: {
|
|
|
7819
7860
|
oId: string;
|
|
7820
7861
|
package: string;
|
|
7821
7862
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
7863
|
+
people: {
|
|
7864
|
+
name: string;
|
|
7865
|
+
email: string;
|
|
7866
|
+
optedIn: boolean;
|
|
7867
|
+
}[];
|
|
7822
7868
|
contacts: number;
|
|
7823
7869
|
params: Record<string, string>;
|
|
7824
7870
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -7837,6 +7883,11 @@ export declare const callableGroups: {
|
|
|
7837
7883
|
oId: string;
|
|
7838
7884
|
package: string;
|
|
7839
7885
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
7886
|
+
people: {
|
|
7887
|
+
name: string;
|
|
7888
|
+
email: string;
|
|
7889
|
+
optedIn: boolean;
|
|
7890
|
+
}[];
|
|
7840
7891
|
contacts: number;
|
|
7841
7892
|
params: Record<string, string>;
|
|
7842
7893
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -7855,6 +7906,11 @@ export declare const callableGroups: {
|
|
|
7855
7906
|
oId: string;
|
|
7856
7907
|
package: string;
|
|
7857
7908
|
flags: ("noContacts" | "noRenewalDate" | "noQuote" | "noFinanceContact" | "sentRecently")[];
|
|
7909
|
+
people: {
|
|
7910
|
+
name: string;
|
|
7911
|
+
email: string;
|
|
7912
|
+
optedIn: boolean;
|
|
7913
|
+
}[];
|
|
7858
7914
|
contacts: number;
|
|
7859
7915
|
params: Record<string, string>;
|
|
7860
7916
|
products: ("network" | "events" | "employerEvents" | "wex" | "parents" | "skills" | "activities" | "destinations" | "alumni")[];
|
|
@@ -7878,6 +7934,7 @@ export declare const callableGroups: {
|
|
|
7878
7934
|
heroImage: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
|
|
7879
7935
|
followUps: z.ZodBoolean;
|
|
7880
7936
|
marketingOnly: z.ZodOptional<z.ZodBoolean>;
|
|
7937
|
+
excluded: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
|
|
7881
7938
|
}, "strip", z.ZodTypeAny, {
|
|
7882
7939
|
body: unknown[];
|
|
7883
7940
|
subject: string;
|
|
@@ -7886,6 +7943,7 @@ export declare const callableGroups: {
|
|
|
7886
7943
|
followUps: boolean;
|
|
7887
7944
|
heroImage?: string | undefined;
|
|
7888
7945
|
marketingOnly?: boolean | undefined;
|
|
7946
|
+
excluded?: Record<string, string[]> | undefined;
|
|
7889
7947
|
}, {
|
|
7890
7948
|
body: unknown[];
|
|
7891
7949
|
subject: string;
|
|
@@ -7894,6 +7952,7 @@ export declare const callableGroups: {
|
|
|
7894
7952
|
followUps: boolean;
|
|
7895
7953
|
heroImage?: string | null | undefined;
|
|
7896
7954
|
marketingOnly?: boolean | undefined;
|
|
7955
|
+
excluded?: Record<string, string[]> | undefined;
|
|
7897
7956
|
}>;
|
|
7898
7957
|
response: z.ZodObject<{
|
|
7899
7958
|
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -8093,18 +8152,5 @@ export declare const callableGroups: {
|
|
|
8093
8152
|
cleared: number;
|
|
8094
8153
|
}>;
|
|
8095
8154
|
};
|
|
8096
|
-
"bulkEngagement-backfillMarketingConsent": {
|
|
8097
|
-
request: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
8098
|
-
response: z.ZodObject<{
|
|
8099
|
-
schools: z.ZodNumber;
|
|
8100
|
-
contacts: z.ZodNumber;
|
|
8101
|
-
}, "strip", z.ZodTypeAny, {
|
|
8102
|
-
schools: number;
|
|
8103
|
-
contacts: number;
|
|
8104
|
-
}, {
|
|
8105
|
-
schools: number;
|
|
8106
|
-
contacts: number;
|
|
8107
|
-
}>;
|
|
8108
|
-
};
|
|
8109
8155
|
};
|
|
8110
8156
|
};
|
package/lib/typeDefinitions.d.ts
CHANGED
|
@@ -592,6 +592,11 @@ export type UserData = {
|
|
|
592
592
|
staffRoles: string[];
|
|
593
593
|
flags?: FlagCodes[];
|
|
594
594
|
keyContact?: boolean;
|
|
595
|
+
/** Set while the user's institute is deactivated. Stops all email to them, and
|
|
596
|
+
* restoreLogin says whether reactivating turns their login back on. */
|
|
597
|
+
instituteDeactivated?: {
|
|
598
|
+
restoreLogin: boolean;
|
|
599
|
+
};
|
|
595
600
|
giftHistory?: GiftHistory;
|
|
596
601
|
cohortRequests: {
|
|
597
602
|
[oId: string]: string[];
|
|
@@ -1367,7 +1372,9 @@ export type InstituteData = {
|
|
|
1367
1372
|
/** Every feature ticked on that screen, including those with no flag of their own yet
|
|
1368
1373
|
* (aspirations, leavers, careersLibrary), so the platform knows what to show. */
|
|
1369
1374
|
selectedFeatures?: string[];
|
|
1375
|
+
/** Paused by us: no logins, emails or tasks. All data is kept, and it can be reactivated. */
|
|
1370
1376
|
deactivated?: boolean;
|
|
1377
|
+
deactivatedAt?: string;
|
|
1371
1378
|
isTest?: boolean;
|
|
1372
1379
|
/** The school's DfE URN (dfeSchoolContacts/{urn}). Drives its outreach status. */
|
|
1373
1380
|
urn?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAq1IA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA1uED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AAspEzC;yEACyE;AAC5D,QAAA,0BAA0B,GAA2C;IAC9E,gBAAgB,EAAE,2BAA2B;IAC7C,mBAAmB,EAAE,sBAAsB;IAC3C,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,UAAU,EAAE,oCAAoC;IAChD,aAAa,EAAE,yBAAyB;IACxC,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,OAAO;CACjB,CAAC;AAEW,QAAA,0BAA0B,GAA+C;IAClF,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,qBAAqB,CAAC,SAAsC;IACxE,QAAQ,SAAS,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC7B,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAChC,IAAwC,EACxC,MAA6C;IAE7C,OAAO,IAAI,EAAE,WAAW,IAAI,MAAM,EAAE,YAAY,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,KAA6D;IACzF,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC"}
|
package/package.json
CHANGED
|
@@ -33,6 +33,8 @@ export const engagementCallables = {
|
|
|
33
33
|
contacts: z.number(),
|
|
34
34
|
/** How many of them have opted in to marketing emails. */
|
|
35
35
|
marketingContacts: z.number(),
|
|
36
|
+
/** Who it would go to, so the admin can untick any of them. */
|
|
37
|
+
people: z.array(z.object({email: z.string(), name: z.string(), optedIn: z.boolean()})),
|
|
36
38
|
/** ISO date this email last went to the school, if it has. */
|
|
37
39
|
lastSent: z.string().optional(),
|
|
38
40
|
/** The last engagement email of any kind that went to the school, if one has. */
|
|
@@ -55,6 +57,8 @@ export const engagementCallables = {
|
|
|
55
57
|
followUps: z.boolean(),
|
|
56
58
|
/** Send only to the admin and key contacts who have opted in to marketing emails. */
|
|
57
59
|
marketingOnly: z.boolean().optional(),
|
|
60
|
+
/** The contacts the admin unticked, by school. */
|
|
61
|
+
excluded: z.record(z.string(), z.array(z.string())).optional(),
|
|
58
62
|
}),
|
|
59
63
|
/** Each school's outcome: who it went to, or why it didn't. */
|
|
60
64
|
response: z.object({
|
|
@@ -124,9 +128,4 @@ export const engagementCallables = {
|
|
|
124
128
|
request: z.object({}).optional(),
|
|
125
129
|
response: z.object({cleared: z.number()}),
|
|
126
130
|
},
|
|
127
|
-
/** One-off: opts in existing schools' admins and key contacts who were never asked. Delete once run. */
|
|
128
|
-
"bulkEngagement-backfillMarketingConsent": {
|
|
129
|
-
request: z.object({}).optional(),
|
|
130
|
-
response: z.object({schools: z.number(), contacts: z.number()}),
|
|
131
|
-
},
|
|
132
131
|
} satisfies CallableGroup;
|
package/src/typeDefinitions.ts
CHANGED
|
@@ -633,6 +633,9 @@ export type UserData = {
|
|
|
633
633
|
staffRoles: string[],
|
|
634
634
|
flags?: FlagCodes[],
|
|
635
635
|
keyContact?: boolean, // Staff member who should receive customer-success packages (e.g. onboarding packs)
|
|
636
|
+
/** Set while the user's institute is deactivated. Stops all email to them, and
|
|
637
|
+
* restoreLogin says whether reactivating turns their login back on. */
|
|
638
|
+
instituteDeactivated?: {restoreLogin: boolean},
|
|
636
639
|
// Per-product record of the physical gift packs this key contact has been
|
|
637
640
|
// sent, keyed by product. Drives welcome-vs-renewal leaflet selection:
|
|
638
641
|
// a product with a welcomeSentDate gets the renewal leaflet next time.
|
|
@@ -1384,7 +1387,9 @@ export type InstituteData = {
|
|
|
1384
1387
|
/** Every feature ticked on that screen, including those with no flag of their own yet
|
|
1385
1388
|
* (aspirations, leavers, careersLibrary), so the platform knows what to show. */
|
|
1386
1389
|
selectedFeatures?: string[],
|
|
1390
|
+
/** Paused by us: no logins, emails or tasks. All data is kept, and it can be reactivated. */
|
|
1387
1391
|
deactivated?: boolean,
|
|
1392
|
+
deactivatedAt?: string,
|
|
1388
1393
|
isTest?: boolean,
|
|
1389
1394
|
/** The school's DfE URN (dfeSchoolContacts/{urn}). Drives its outreach status. */
|
|
1390
1395
|
urn?: number,
|