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.
@@ -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":"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"}
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
  };
@@ -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":";;;AAg1IA,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"}
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
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.400.1265",
5
+ "version": "1.400.1267",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -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;
@@ -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,