placementt-core 1.300.1030 → 1.300.1031

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.
@@ -25,6 +25,9 @@ export type ResolvedProducts = Record<ProductKey, boolean> & {
25
25
  isTrust: boolean;
26
26
  isHub: boolean;
27
27
  isHubSchool: boolean;
28
+ /** Whether the account holds students, cohorts and placements of its own —
29
+ * every package except the two hub-side ones, which consume a hub's. */
30
+ runsOwnStudents: boolean;
28
31
  /** An approved careersHubLinks entry — a school inside someone else's hub. */
29
32
  hubLinked: boolean;
30
33
  /** Ids of the hubs this institute has accepted. Empty unless hubLinked. */
@@ -37,15 +40,34 @@ export type ResolvedProducts = Record<ProductKey, boolean> & {
37
40
  * (a trust school row, a customer-success record) without casting. */
38
41
  export type ProductResolverInput = Partial<Pick<InstituteData, "package" | "workExperience" | "employerEvents" | "network" | "careersEvents" | "skillsAssessmentsProduct" | "trackExtracurriculars" | "destinationTracking" | "alumniManagement" | "careersHubLinks">>;
39
42
  /**
40
- * Resolve an institute's products.
43
+ * Resolve an institute's products from its flags alone.
44
+ *
45
+ * The synchronous half of {@link useProductResolver}, for the code that can't
46
+ * hold a hook — task and tip callbacks, backend cron, anything outside React.
47
+ * Everything but `parents` is a pure read of the flags; the parent count is a
48
+ * query, so a caller that has already run it passes it in and a caller that
49
+ * hasn't gets `parents: false`.
41
50
  *
42
51
  * @param {ProductResolverInput} [institute] the institute, or a partial of it.
43
52
  * @param {object} [options] extra context.
44
- * @param {string[]} [options.oIds] whose parent database to count. A trust holds
45
- * none on its own oId, so pass its schools'.
46
53
  * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
47
54
  * A trust shows a product when any of its schools has it, matching the nav's
48
55
  * existing destinations rule.
56
+ * @param {number} [options.parentCount] parents already counted, if known.
57
+ * @return {ResolvedProducts} what this institute has.
58
+ */
59
+ export declare function resolveProducts(institute?: ProductResolverInput, options?: {
60
+ trustSchools?: ProductResolverInput[];
61
+ parentCount?: number;
62
+ }): ResolvedProducts;
63
+ /**
64
+ * Resolve an institute's products, counting its parent database as it goes.
65
+ *
66
+ * @param {ProductResolverInput} [institute] the institute, or a partial of it.
67
+ * @param {object} [options] extra context.
68
+ * @param {string[]} [options.oIds] whose parent database to count. A trust holds
69
+ * none on its own oId, so pass its schools'.
70
+ * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
49
71
  * @return {ResolvedProducts} what this institute has.
50
72
  */
51
73
  export declare function useProductResolver(institute?: ProductResolverInput, options?: {
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PRODUCT_LABELS = void 0;
7
+ exports.resolveProducts = resolveProducts;
7
8
  exports.useProductResolver = useProductResolver;
8
9
  const react_1 = require("react");
9
10
  const firestore_1 = require("firebase/firestore");
@@ -13,30 +14,24 @@ const PRODUCT_ORDER = ["wex", "destinations", "events", "skills", "activities",
13
14
  const on = (flag) => flag !== false;
14
15
  const firebaseQuery = new firebaseQuery_1.default();
15
16
  /**
16
- * Resolve an institute's products.
17
+ * Resolve an institute's products from its flags alone.
18
+ *
19
+ * The synchronous half of {@link useProductResolver}, for the code that can't
20
+ * hold a hook — task and tip callbacks, backend cron, anything outside React.
21
+ * Everything but `parents` is a pure read of the flags; the parent count is a
22
+ * query, so a caller that has already run it passes it in and a caller that
23
+ * hasn't gets `parents: false`.
17
24
  *
18
25
  * @param {ProductResolverInput} [institute] the institute, or a partial of it.
19
26
  * @param {object} [options] extra context.
20
- * @param {string[]} [options.oIds] whose parent database to count. A trust holds
21
- * none on its own oId, so pass its schools'.
22
27
  * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
23
28
  * A trust shows a product when any of its schools has it, matching the nav's
24
29
  * existing destinations rule.
30
+ * @param {number} [options.parentCount] parents already counted, if known.
25
31
  * @return {ResolvedProducts} what this institute has.
26
32
  */
27
- function useProductResolver(institute, options) {
28
- const [parentCount, setParentCount] = (0, react_1.useState)(0);
29
- const oIds = options?.oIds || [];
30
- const scope = oIds.join(",");
31
- (0, react_1.useEffect)(() => {
32
- if (!oIds.length) {
33
- setParentCount(0);
34
- return;
35
- }
36
- Promise.all(oIds.map((o) => firebaseQuery.getCount(["parents"], [(0, firestore_1.where)("oId", "==", o)])))
37
- .then((counts) => setParentCount(counts.reduce((t, c) => t + c, 0)))
38
- .catch(() => setParentCount(0));
39
- }, [scope]);
33
+ function resolveProducts(institute, options) {
34
+ const parentCount = options?.parentCount || 0;
40
35
  const i = institute || {};
41
36
  const pkg = i.package;
42
37
  const isTrust = pkg === "institutes-two";
@@ -72,11 +67,37 @@ function useProductResolver(institute, options) {
72
67
  isTrust,
73
68
  isHub,
74
69
  isHubSchool,
70
+ runsOwnStudents,
75
71
  hubLinked: hubIds.length > 0,
76
72
  hubIds,
77
73
  enabled: PRODUCT_ORDER.filter((k) => products[k]),
78
74
  };
79
75
  }
76
+ /**
77
+ * Resolve an institute's products, counting its parent database as it goes.
78
+ *
79
+ * @param {ProductResolverInput} [institute] the institute, or a partial of it.
80
+ * @param {object} [options] extra context.
81
+ * @param {string[]} [options.oIds] whose parent database to count. A trust holds
82
+ * none on its own oId, so pass its schools'.
83
+ * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
84
+ * @return {ResolvedProducts} what this institute has.
85
+ */
86
+ function useProductResolver(institute, options) {
87
+ const [parentCount, setParentCount] = (0, react_1.useState)(0);
88
+ const oIds = options?.oIds || [];
89
+ const scope = oIds.join(",");
90
+ (0, react_1.useEffect)(() => {
91
+ if (!oIds.length) {
92
+ setParentCount(0);
93
+ return;
94
+ }
95
+ Promise.all(oIds.map((o) => firebaseQuery.getCount(["parents"], [(0, firestore_1.where)("oId", "==", o)])))
96
+ .then((counts) => setParentCount(counts.reduce((t, c) => t + c, 0)))
97
+ .catch(() => setParentCount(0));
98
+ }, [scope]);
99
+ return resolveProducts(institute, { trustSchools: options?.trustSchools, parentCount });
100
+ }
80
101
  /** Human labels, for checklists, settings and the trust product strip. */
81
102
  exports.PRODUCT_LABELS = {
82
103
  wex: "Work experience",
@@ -1 +1 @@
1
- {"version":3,"file":"productResolver.js","sourceRoot":"","sources":["../src/productResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"productResolver.js","sourceRoot":"","sources":["../src/productResolver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { CohortData, InstituteData, OrganisationAddress, ProviderData, UserData } from "./typeDefinitions";
2
+ import { ResolvedProducts } from "./productResolver";
2
3
  type InstituteTipNames = "createCohort" | "addSchools" | "uploadStaff" | "assignStaffRoles" | "allowExternalPlacementUpload" | "uploadStaffGuidance" | "uploadStudentGuidance";
3
4
  type ProviderTipNames = string;
4
5
  type StudentTipNames = string;
@@ -30,9 +31,10 @@ export type TipQueryReturnObject = {
30
31
  } | undefined;
31
32
  export type InstituteTaskObject = {
32
33
  [key in InstituteTaskNames]: {
33
- callback: ({ user, organisation, cohorts, schools, eventId, type }: {
34
+ callback: ({ user, organisation, products, cohorts, schools, eventId, type }: {
34
35
  user: UserData;
35
36
  organisation: InstituteData & ProviderData;
37
+ products: ResolvedProducts;
36
38
  cohorts: CohortData | [string, CohortData][];
37
39
  schools?: InstituteData | [string, InstituteData][];
38
40
  eventId?: string;
@@ -9,6 +9,7 @@ const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
9
9
  const util_1 = require("./firebase/util");
10
10
  const workflows_1 = require("./workflows");
11
11
  const util_2 = require("./firebase/util");
12
+ const productResolver_1 = require("./productResolver");
12
13
  const firebaseQuery = new firebaseQuery_1.default;
13
14
  const providerTips = {};
14
15
  const studentTips = {};
@@ -32,7 +33,7 @@ const instituteTips = {
32
33
  },
33
34
  createCohort: {
34
35
  callback: async (user, institute) => {
35
- if (!(0, util_1.getAccess)(user, institute || null, "createCohorts") || institute?.package === "careersHub" || !institute?.workExperience)
36
+ if (!(0, util_1.getAccess)(user, institute || null, "createCohorts") || !(0, productResolver_1.resolveProducts)(institute).wex)
36
37
  return;
37
38
  const cohorts = await firebaseQuery.getCount("cohorts", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId)]);
38
39
  if (cohorts === 0 && institute?.package === "institutes-one") {
@@ -77,6 +78,9 @@ const instituteTips = {
77
78
  callback: async (user, organisation) => {
78
79
  if (user.product !== "institutes")
79
80
  return;
81
+ // Nothing to open up when the employer network is switched off.
82
+ if (!(0, productResolver_1.resolveProducts)(organisation).network)
83
+ return;
80
84
  if (organisation.acceptingEmployers)
81
85
  return;
82
86
  return {
@@ -91,7 +95,10 @@ const instituteTips = {
91
95
  },
92
96
  uploadStaffGuidance: {
93
97
  callback: async (user, organisation) => {
94
- if (user.product !== "institutes")
98
+ // The guidance this prompts for is work experience guidance, and a hub
99
+ // school has no Guidance page of its own.
100
+ const products = (0, productResolver_1.resolveProducts)(organisation);
101
+ if (user.product !== "institutes" || !products.wex || products.isHubSchool)
95
102
  return;
96
103
  const returnObj = {
97
104
  link: "",
@@ -113,7 +120,8 @@ const instituteTips = {
113
120
  },
114
121
  uploadStudentGuidance: {
115
122
  callback: async (user, organisation) => {
116
- if (user.product !== "institutes" || organisation?.package === "careersHub")
123
+ // Only accounts that hold their own students, and so have a Guidance page.
124
+ if (user.product !== "institutes" || !(0, productResolver_1.resolveProducts)(organisation).runsOwnStudents)
117
125
  return;
118
126
  const returnObj = {
119
127
  link: "",
@@ -157,8 +165,8 @@ const instituteTasks = {
157
165
  },
158
166
  },
159
167
  latePlacementStage: {
160
- callback: async ({ user, cohorts, type }) => {
161
- if (!["home", "cohort"].includes(type))
168
+ callback: async ({ products, cohorts, type }) => {
169
+ if (!["home", "cohort"].includes(type) || !products.wex)
162
170
  return;
163
171
  if (!Array.isArray(cohorts)) {
164
172
  const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", cohorts.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("flags", "array-contains", "latePlacementStage")]));
@@ -192,8 +200,8 @@ const instituteTasks = {
192
200
  },
193
201
  },
194
202
  stagnantPlacementStage: {
195
- callback: async ({ user, cohorts, type }) => {
196
- if (!["home", "cohort"].includes(type))
203
+ callback: async ({ products, cohorts, type }) => {
204
+ if (!["home", "cohort"].includes(type) || !products.wex)
197
205
  return;
198
206
  if (!Array.isArray(cohorts)) {
199
207
  const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", cohorts.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("flags", "array-contains", "stagnantPlacementStage")]));
@@ -227,8 +235,8 @@ const instituteTasks = {
227
235
  },
228
236
  },
229
237
  approveAlumniConversation: {
230
- callback: async ({ user, organisation, schools, type }) => {
231
- if (type !== "home")
238
+ callback: async ({ user, organisation, products, schools, type }) => {
239
+ if (type !== "home" || !products.alumni)
232
240
  return;
233
241
  if (!schools) {
234
242
  if (!organisation.alumniConversations)
@@ -248,6 +256,8 @@ const instituteTasks = {
248
256
  }
249
257
  if (!Array.isArray(schools)) {
250
258
  // One school
259
+ if (!schools.alumniConversations)
260
+ return;
251
261
  const convos = (await firebaseQuery.getCount(["alumniConversations"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("schoolId", "==", schools.id), (0, firestore_1.where)("open", "==", true), (0, firestore_1.where)("delivered", "==", "pending")]));
252
262
  if (convos > 0) {
253
263
  return { approveAlumniConversation: {
@@ -281,8 +291,8 @@ const instituteTasks = {
281
291
  },
282
292
  },
283
293
  invalidStudentEmails: {
284
- callback: async ({ user, cohorts, type }) => {
285
- if (type !== "home")
294
+ callback: async ({ user, products, cohorts, type }) => {
295
+ if (type !== "home" || !products.runsOwnStudents)
286
296
  return;
287
297
  if (!(0, util_1.getAccess)(user, null, "viewStudents") || (user.userGroup !== "admin" && user.viewStudents === "none"))
288
298
  return;
@@ -318,8 +328,8 @@ const instituteTasks = {
318
328
  },
319
329
  },
320
330
  outstandingReminders: {
321
- callback: async ({ user, cohorts, type }) => {
322
- if (!["home", "cohort"].includes(type))
331
+ callback: async ({ user, products, cohorts, type }) => {
332
+ if (!["home", "cohort"].includes(type) || !products.wex)
323
333
  return;
324
334
  if (!Array.isArray(cohorts)) {
325
335
  const reminderCount = (await firebaseQuery.getCount(["reminders"], [(0, firestore_1.where)("oId", "==", cohorts.oId), (0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("dueDate", "<=", (0, util_2.convertDate)(new Date(), "dbstring")), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("status", "==", "upcoming")]));
@@ -353,8 +363,8 @@ const instituteTasks = {
353
363
  },
354
364
  },
355
365
  invalidParentEmails: {
356
- callback: async ({ user, cohorts, type }) => {
357
- if (!["home", "cohort"].includes(type))
366
+ callback: async ({ user, products, cohorts, type }) => {
367
+ if (!["home", "cohort"].includes(type) || !products.wex)
358
368
  return;
359
369
  if (!(0, util_1.getAccess)(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none"))
360
370
  return;
@@ -392,8 +402,8 @@ const instituteTasks = {
392
402
  },
393
403
  },
394
404
  promptCohortAttendanceTracking: {
395
- callback: async ({ user, cohorts, type }) => {
396
- if (!["home", "cohort"].includes(type))
405
+ callback: async ({ products, cohorts, type }) => {
406
+ if (!["home", "cohort"].includes(type) || !products.wex)
397
407
  return;
398
408
  const todayDate = new Date();
399
409
  todayDate.setDate(todayDate.getDate() + 14);
@@ -431,8 +441,8 @@ const instituteTasks = {
431
441
  },
432
442
  },
433
443
  expiredInsurance: {
434
- callback: async ({ user, cohorts, type }) => {
435
- if (!["home", "cohort"].includes(type))
444
+ callback: async ({ user, products, cohorts, type }) => {
445
+ if (!["home", "cohort"].includes(type) || !products.wex)
436
446
  return;
437
447
  const today = (0, util_2.convertDate)(new Date(), "dbstring");
438
448
  if (!(0, util_1.getAccess)(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none"))
@@ -470,8 +480,8 @@ const instituteTasks = {
470
480
  },
471
481
  },
472
482
  invalidProviderEmails: {
473
- callback: async ({ user, cohorts, type }) => {
474
- if (!["home", "cohort"].includes(type))
483
+ callback: async ({ user, products, cohorts, type }) => {
484
+ if (!["home", "cohort"].includes(type) || !products.wex)
475
485
  return;
476
486
  if (!(0, util_1.getAccess)(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none"))
477
487
  return;
@@ -509,8 +519,8 @@ const instituteTasks = {
509
519
  },
510
520
  },
511
521
  requiredStage: {
512
- callback: async ({ user, cohorts, type }) => {
513
- if (!["home", "cohort"].includes(type))
522
+ callback: async ({ user, products, cohorts, type }) => {
523
+ if (!["home", "cohort"].includes(type) || !products.wex)
514
524
  return;
515
525
  if (!(0, util_1.getAccess)(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none"))
516
526
  return;
@@ -551,8 +561,8 @@ const instituteTasks = {
551
561
  },
552
562
  },
553
563
  verifyInsurance: {
554
- callback: async ({ user, cohorts, type }) => {
555
- if (!["home", "cohort"].includes(type))
564
+ callback: async ({ user, products, cohorts, type }) => {
565
+ if (!["home", "cohort"].includes(type) || !products.wex)
556
566
  return;
557
567
  if (!(0, util_1.getAccess)(user, null, "verifyInsurance") || (user.userGroup !== "admin" && user.viewStudents === "none"))
558
568
  return;
@@ -624,8 +634,8 @@ const instituteTasks = {
624
634
  // },
625
635
  // },
626
636
  verifyDbsCheck: {
627
- callback: async ({ user, cohorts, type }) => {
628
- if (!["home", "cohort"].includes(type))
637
+ callback: async ({ user, products, cohorts, type }) => {
638
+ if (!["home", "cohort"].includes(type) || !products.wex)
629
639
  return;
630
640
  if (!(0, util_1.getAccess)(user, null, "verifyDbsChecks") || (user.userGroup !== "admin" && user.viewStudents === "none"))
631
641
  return;
@@ -664,8 +674,8 @@ const instituteTasks = {
664
674
  },
665
675
  },
666
676
  employerEventRequests: {
667
- callback: async ({ user, type }) => {
668
- if (type !== "home")
677
+ callback: async ({ user, products, type }) => {
678
+ if (type !== "home" || !products.events)
669
679
  return;
670
680
  const openRequests = await firebaseQuery.getCount(["externalEventRequests"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("requestedBy", "==", "employer"), (0, firestore_1.where)("status", "==", "pendingInstitute")]);
671
681
  if (openRequests > 0) {
@@ -682,8 +692,9 @@ const instituteTasks = {
682
692
  },
683
693
  },
684
694
  schoolEventRequests: {
685
- callback: async ({ user, type }) => {
686
- if (type !== "home")
695
+ callback: async ({ user, products, type }) => {
696
+ // Only a hub or trust is on the receiving end of a school's request.
697
+ if (type !== "home" || !products.events || !(products.isHub || products.isTrust))
687
698
  return;
688
699
  const openRequests = await firebaseQuery.getCount(["externalEventRequests"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("requestedBy", "==", "school"), (0, firestore_1.where)("status", "==", "pendingInstitute")]);
689
700
  if (openRequests > 0) {
@@ -700,8 +711,8 @@ const instituteTasks = {
700
711
  },
701
712
  },
702
713
  eventsGetAvailableProviders: {
703
- callback: async ({ user, eventId, type }) => {
704
- if (!["home", "event"].includes(type))
714
+ callback: async ({ user, products, eventId, type }) => {
715
+ if (!["home", "event"].includes(type) || !products.events)
705
716
  return;
706
717
  if (type === "event" && eventId) {
707
718
  const availableAttendees = await firebaseQuery.getCount(["externalEventAttendees"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("eventId", "==", eventId), (0, firestore_1.where)("status", "==", "providerAvailable")]);
@@ -745,8 +756,8 @@ const instituteTasks = {
745
756
  },
746
757
  },
747
758
  verifyRiskAssessment: {
748
- callback: async ({ user, cohorts, type }) => {
749
- if (!["home", "cohort"].includes(type))
759
+ callback: async ({ user, products, cohorts, type }) => {
760
+ if (!["home", "cohort"].includes(type) || !products.wex)
750
761
  return;
751
762
  if (!(0, util_1.getAccess)(user, null, "verifyRiskAssessments") || (user.userGroup !== "admin" && user.viewStudents === "none"))
752
763
  return;
@@ -785,8 +796,8 @@ const instituteTasks = {
785
796
  },
786
797
  },
787
798
  missingParentEmail: {
788
- callback: async ({ user, cohorts, type }) => {
789
- if (!["home", "cohort"].includes(type))
799
+ callback: async ({ user, products, cohorts, type }) => {
800
+ if (!["home", "cohort"].includes(type) || !products.wex)
790
801
  return;
791
802
  if (!(0, util_1.getAccess)(user, null, "editStudents") || (user.userGroup !== "admin" && user.viewStudents === "none"))
792
803
  return;
@@ -837,8 +848,8 @@ const instituteTasks = {
837
848
  },
838
849
  },
839
850
  inactiveStudents: {
840
- callback: async ({ user, cohorts, type }) => {
841
- if (!["home", "cohort"].includes(type))
851
+ callback: async ({ user, products, cohorts, type }) => {
852
+ if (!["home", "cohort"].includes(type) || !products.runsOwnStudents)
842
853
  return;
843
854
  if (!(0, util_1.getAccess)(user, null, "activateStudents") || (user.userGroup !== "admin" && user.viewStudents === "none"))
844
855
  return;
@@ -883,8 +894,8 @@ const instituteTasks = {
883
894
  },
884
895
  },
885
896
  uploadStudents: {
886
- callback: async ({ user, cohorts, type }) => {
887
- if (!["home", "cohort"].includes(type))
897
+ callback: async ({ user, products, cohorts, type }) => {
898
+ if (!["home", "cohort"].includes(type) || !products.wex)
888
899
  return;
889
900
  if (!Array.isArray(cohorts))
890
901
  return;
@@ -948,8 +959,8 @@ const instituteTasks = {
948
959
  },
949
960
  },
950
961
  approveProvider: {
951
- callback: async ({ user, cohorts, type }) => {
952
- if (!["home", "employerDatabase"].includes(type))
962
+ callback: async ({ user, products, type }) => {
963
+ if (!["home", "employerDatabase"].includes(type) || !products.network)
953
964
  return;
954
965
  const availableAttendees = await firebaseQuery.getCount(["providerContacts"], [(0, firestore_1.where)(`savedBy.${user.oId}.exists`, "==", true), (0, firestore_1.where)(`savedBy.${user.oId}.status`, "==", "providerReviewed")]);
955
966
  if (availableAttendees > 0) {
@@ -1452,13 +1463,19 @@ const getInstituteTasks = async ({ user, organisation, cohort, school, type, eve
1452
1463
  fCohort = await getCohortsOrSchoolsIfNotProvided("cohorts", fSchool);
1453
1464
  }
1454
1465
  console.log("FCOHORTS FOR TASKS", fCohort);
1466
+ // A trust's own flags say nothing about its schools' products, so resolve
1467
+ // against its schools too — the same rule the nav uses. Only meaningful when
1468
+ // the caller handed us real institute records (Tasks.tsx passes
1469
+ // trustOrHubSchools); the `schools` collection fallback carries no flags.
1470
+ const trustSchools = Array.isArray(fSchool) ? fSchool.map(([, school]) => school) : fSchool ? [fSchool] : undefined;
1471
+ const products = (0, productResolver_1.resolveProducts)(organisation, { trustSchools });
1455
1472
  const processedTasks = await Object.entries(instituteTasks).reduce(async (accPromise, [itemName, item]) => {
1456
1473
  if (!fCohort) {
1457
1474
  console.log("No cohorts to retrieve tasks for");
1458
1475
  return ({});
1459
1476
  }
1460
1477
  const acc = await accPromise;
1461
- const queryResult = await item.callback({ user, organisation, cohorts: fCohort, schools: fSchool, type, eventId });
1478
+ const queryResult = await item.callback({ user, organisation, products, cohorts: fCohort, schools: fSchool, type, eventId });
1462
1479
  if (!queryResult)
1463
1480
  return acc;
1464
1481
  return { ...acc, ...queryResult }; // Merge the query result into the accumulator object
@@ -1 +1 @@
1
- {"version":3,"file":"tasksAndTips.js","sourceRoot":"","sources":["../src/tasksAndTips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasksAndTips.js","sourceRoot":"","sources":["../src/tasksAndTips.ts"],"names":[],"mappings":"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"}
@@ -3503,6 +3503,15 @@ export type Lead = {
3503
3503
  bookedCall?: boolean;
3504
3504
  bookedCallAt?: string;
3505
3505
  oId?: string;
3506
+ /** demoAccounts/{id} seeded for this lead from the CRM. Set by
3507
+ * demoSeed-createDemoAccount and cleared when the demo is deleted — which
3508
+ * happens automatically once oId is stamped on (i.e. they registered). */
3509
+ demoAccountId?: string;
3510
+ demoAccountCreatedAt?: string;
3511
+ /** When the tailored auto-sign-in link was emailed to the lead. */
3512
+ demoInviteSentAt?: string;
3513
+ /** Last time the lead opened their demo through that link. */
3514
+ demoLastAccessedAt?: string;
3506
3515
  source: string;
3507
3516
  dateAdded?: string;
3508
3517
  addedBy: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.300.1030",
5
+ "version": "1.300.1031",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -32,6 +32,9 @@ export type ResolvedProducts = Record<ProductKey, boolean> & {
32
32
  isTrust: boolean,
33
33
  isHub: boolean,
34
34
  isHubSchool: boolean,
35
+ /** Whether the account holds students, cohorts and placements of its own —
36
+ * every package except the two hub-side ones, which consume a hub's. */
37
+ runsOwnStudents: boolean,
35
38
  /** An approved careersHubLinks entry — a school inside someone else's hub. */
36
39
  hubLinked: boolean,
37
40
  /** Ids of the hubs this institute has accepted. Empty unless hubLinked. */
@@ -57,37 +60,27 @@ const on = (flag?: boolean) => flag !== false;
57
60
  const firebaseQuery = new FirebaseQuery();
58
61
 
59
62
  /**
60
- * Resolve an institute's products.
63
+ * Resolve an institute's products from its flags alone.
64
+ *
65
+ * The synchronous half of {@link useProductResolver}, for the code that can't
66
+ * hold a hook — task and tip callbacks, backend cron, anything outside React.
67
+ * Everything but `parents` is a pure read of the flags; the parent count is a
68
+ * query, so a caller that has already run it passes it in and a caller that
69
+ * hasn't gets `parents: false`.
61
70
  *
62
71
  * @param {ProductResolverInput} [institute] the institute, or a partial of it.
63
72
  * @param {object} [options] extra context.
64
- * @param {string[]} [options.oIds] whose parent database to count. A trust holds
65
- * none on its own oId, so pass its schools'.
66
73
  * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
67
74
  * A trust shows a product when any of its schools has it, matching the nav's
68
75
  * existing destinations rule.
76
+ * @param {number} [options.parentCount] parents already counted, if known.
69
77
  * @return {ResolvedProducts} what this institute has.
70
78
  */
71
- export function useProductResolver(
79
+ export function resolveProducts(
72
80
  institute?: ProductResolverInput,
73
- options?: {oIds?: string[], trustSchools?: ProductResolverInput[]},
81
+ options?: {trustSchools?: ProductResolverInput[], parentCount?: number},
74
82
  ): ResolvedProducts {
75
- const [parentCount, setParentCount] = useState(0);
76
-
77
- const oIds = options?.oIds || [];
78
- const scope = oIds.join(",");
79
-
80
- useEffect(() => {
81
- if (!oIds.length) {
82
- setParentCount(0);
83
- return;
84
- }
85
- Promise.all(oIds.map((o) =>
86
- firebaseQuery.getCount(["parents"], [where("oId", "==", o)])))
87
- .then((counts) => setParentCount(counts.reduce((t, c) => t + c, 0)))
88
- .catch(() => setParentCount(0));
89
- }, [scope]);
90
-
83
+ const parentCount = options?.parentCount || 0;
91
84
  const i = institute || {};
92
85
  const pkg = i.package;
93
86
 
@@ -154,12 +147,46 @@ export function useProductResolver(
154
147
  isTrust,
155
148
  isHub,
156
149
  isHubSchool,
150
+ runsOwnStudents,
157
151
  hubLinked: hubIds.length > 0,
158
152
  hubIds,
159
153
  enabled: PRODUCT_ORDER.filter((k) => products[k]),
160
154
  };
161
155
  }
162
156
 
157
+ /**
158
+ * Resolve an institute's products, counting its parent database as it goes.
159
+ *
160
+ * @param {ProductResolverInput} [institute] the institute, or a partial of it.
161
+ * @param {object} [options] extra context.
162
+ * @param {string[]} [options.oIds] whose parent database to count. A trust holds
163
+ * none on its own oId, so pass its schools'.
164
+ * @param {ProductResolverInput[]} [options.trustSchools] schools beneath a trust.
165
+ * @return {ResolvedProducts} what this institute has.
166
+ */
167
+ export function useProductResolver(
168
+ institute?: ProductResolverInput,
169
+ options?: {oIds?: string[], trustSchools?: ProductResolverInput[]},
170
+ ): ResolvedProducts {
171
+ const [parentCount, setParentCount] = useState(0);
172
+
173
+ const oIds = options?.oIds || [];
174
+ const scope = oIds.join(",");
175
+
176
+ useEffect(() => {
177
+ if (!oIds.length) {
178
+ setParentCount(0);
179
+ return;
180
+ }
181
+ Promise.all(oIds.map((o) =>
182
+ firebaseQuery.getCount(["parents"], [where("oId", "==", o)])))
183
+ .then((counts) => setParentCount(counts.reduce((t, c) => t + c, 0)))
184
+ .catch(() => setParentCount(0));
185
+ }, [scope]);
186
+
187
+ return resolveProducts(institute, {trustSchools: options?.trustSchools, parentCount});
188
+ }
189
+
163
190
  /** Human labels, for checklists, settings and the trust product strip. */
164
191
  export const PRODUCT_LABELS: Record<ProductKey, string> = {
165
192
  wex: "Work experience",
@@ -4,6 +4,7 @@ import {CohortData, ExternalEvent, ExternalEventAttendee, InstituteData, Organis
4
4
  import {capitaliseWords, getAccess} from "./firebase/util";
5
5
  import {fetchCohortWorkflow} from "./workflows";
6
6
  import { convertDate } from "./firebase/util";
7
+ import {ResolvedProducts, resolveProducts} from "./productResolver";
7
8
 
8
9
  const firebaseQuery = new FirebaseQuery;
9
10
 
@@ -68,7 +69,7 @@ type StudentTipsObject = {
68
69
 
69
70
  export type InstituteTaskObject = {
70
71
  [key in InstituteTaskNames]: {
71
- callback: ({user, organisation, cohorts, schools, eventId, type}:{user: UserData, organisation:InstituteData&ProviderData, cohorts: CohortData|[string, CohortData][], schools?: InstituteData|[string, InstituteData][], eventId?: string, type: "event" | "cohort" | "home" | "employerDatabase"}) => Promise<TaskQueryReturnObject>,
72
+ callback: ({user, organisation, products, cohorts, schools, eventId, type}:{user: UserData, organisation:InstituteData&ProviderData, products: ResolvedProducts, cohorts: CohortData|[string, CohortData][], schools?: InstituteData|[string, InstituteData][], eventId?: string, type: "event" | "cohort" | "home" | "employerDatabase"}) => Promise<TaskQueryReturnObject>,
72
73
  };
73
74
  };
74
75
 
@@ -105,7 +106,7 @@ const instituteTips:InstituteTipsObject = {
105
106
  },
106
107
  createCohort: {
107
108
  callback: async (user, institute) => {
108
- if (!getAccess(user, institute || null, "createCohorts") || institute?.package === "careersHub" || !institute?.workExperience) return;
109
+ if (!getAccess(user, institute || null, "createCohorts") || !resolveProducts(institute).wex) return;
109
110
  const cohorts = await firebaseQuery.getCount("cohorts", [where("product", "==", user.product), where("oId", "==", user.oId)])
110
111
  if (cohorts === 0 && institute?.package === "institutes-one") {
111
112
  return {
@@ -147,6 +148,8 @@ const instituteTips:InstituteTipsObject = {
147
148
  allowExternalPlacementUpload: {
148
149
  callback: async (user, organisation) => {
149
150
  if (user.product !== "institutes") return;
151
+ // Nothing to open up when the employer network is switched off.
152
+ if (!resolveProducts(organisation).network) return;
150
153
  if ((organisation as InstituteData).acceptingEmployers) return;
151
154
 
152
155
  return {
@@ -161,7 +164,10 @@ const instituteTips:InstituteTipsObject = {
161
164
  },
162
165
  uploadStaffGuidance: {
163
166
  callback: async (user, organisation) => {
164
- if (user.product !== "institutes") return;
167
+ // The guidance this prompts for is work experience guidance, and a hub
168
+ // school has no Guidance page of its own.
169
+ const products = resolveProducts(organisation);
170
+ if (user.product !== "institutes" || !products.wex || products.isHubSchool) return;
165
171
  const returnObj: TipQueryReturnObject = {
166
172
  link: "",
167
173
  dismissible: true,
@@ -182,7 +188,8 @@ const instituteTips:InstituteTipsObject = {
182
188
  },
183
189
  uploadStudentGuidance: {
184
190
  callback: async (user, organisation) => {
185
- if (user.product !== "institutes" || organisation?.package === "careersHub") return;
191
+ // Only accounts that hold their own students, and so have a Guidance page.
192
+ if (user.product !== "institutes" || !resolveProducts(organisation).runsOwnStudents) return;
186
193
  const returnObj: TipQueryReturnObject = {
187
194
  link: "",
188
195
  dismissible: true,
@@ -225,8 +232,8 @@ const instituteTasks:InstituteTaskObject = {
225
232
  },
226
233
  },
227
234
  latePlacementStage: {
228
- callback: async ({user, cohorts, type}) => {
229
- if (!["home", "cohort"].includes(type)) return;
235
+ callback: async ({products, cohorts, type}) => {
236
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
230
237
 
231
238
  if (!Array.isArray(cohorts)) {
232
239
  const placementCount = (await firebaseQuery.getCount(["placements"], [where("oId", "==", cohorts.oId), where("cohort", "==", cohorts.id), where("flags", "array-contains", "latePlacementStage")]));
@@ -261,8 +268,8 @@ const instituteTasks:InstituteTaskObject = {
261
268
  },
262
269
  },
263
270
  stagnantPlacementStage: {
264
- callback: async ({user, cohorts, type}) => {
265
- if (!["home", "cohort"].includes(type)) return;
271
+ callback: async ({products, cohorts, type}) => {
272
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
266
273
 
267
274
  if (!Array.isArray(cohorts)) {
268
275
  const placementCount = (await firebaseQuery.getCount(["placements"], [where("oId", "==", cohorts.oId), where("cohort", "==", cohorts.id), where("flags", "array-contains", "stagnantPlacementStage")]));
@@ -296,8 +303,8 @@ const instituteTasks:InstituteTaskObject = {
296
303
  },
297
304
  },
298
305
  approveAlumniConversation: {
299
- callback: async ({user, organisation, schools, type}) => {
300
- if (type !== "home") return;
306
+ callback: async ({user, organisation, products, schools, type}) => {
307
+ if (type !== "home" || !products.alumni) return;
301
308
 
302
309
  if (!schools) {
303
310
  if (!organisation.alumniConversations) return;
@@ -316,6 +323,7 @@ const instituteTasks:InstituteTaskObject = {
316
323
  }
317
324
  if (!Array.isArray(schools)) {
318
325
  // One school
326
+ if (!schools.alumniConversations) return;
319
327
  const convos = (await firebaseQuery.getCount(["alumniConversations"], [where("oId", "==", user.oId), where("schoolId", "==", schools.id), where("open", "==", true), where("delivered", "==", "pending")]));
320
328
  if (convos > 0) {
321
329
  return {approveAlumniConversation: {
@@ -349,8 +357,8 @@ const instituteTasks:InstituteTaskObject = {
349
357
  },
350
358
  },
351
359
  invalidStudentEmails: {
352
- callback: async ({user, cohorts, type}) => {
353
- if (type !== "home") return;
360
+ callback: async ({user, products, cohorts, type}) => {
361
+ if (type !== "home" || !products.runsOwnStudents) return;
354
362
 
355
363
  if (!getAccess(user, null, "viewStudents") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
356
364
 
@@ -387,8 +395,8 @@ const instituteTasks:InstituteTaskObject = {
387
395
  },
388
396
  },
389
397
  outstandingReminders: {
390
- callback: async ({user, cohorts, type}) => {
391
- if (!["home", "cohort"].includes(type)) return;
398
+ callback: async ({user, products, cohorts, type}) => {
399
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
392
400
 
393
401
  if (!Array.isArray(cohorts)) {
394
402
  const reminderCount = (await firebaseQuery.getCount(["reminders"], [where("oId", "==", cohorts.oId), where("uid", "==", user.id), where("dueDate", "<=", convertDate(new Date(), "dbstring") as string), where("cohort", "==", cohorts.id), where("status", "==", "upcoming")]));
@@ -423,8 +431,8 @@ const instituteTasks:InstituteTaskObject = {
423
431
  },
424
432
  },
425
433
  invalidParentEmails: {
426
- callback: async ({user, cohorts, type}) => {
427
- if (!["home", "cohort"].includes(type)) return;
434
+ callback: async ({user, products, cohorts, type}) => {
435
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
428
436
 
429
437
  if (!getAccess(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
430
438
  const today = convertDate(new Date(), "dbstring") as string;
@@ -463,8 +471,8 @@ const instituteTasks:InstituteTaskObject = {
463
471
  },
464
472
  },
465
473
  promptCohortAttendanceTracking: {
466
- callback: async ({user, cohorts, type}) => {
467
- if (!["home", "cohort"].includes(type)) return;
474
+ callback: async ({products, cohorts, type}) => {
475
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
468
476
 
469
477
  const todayDate = new Date();
470
478
  todayDate.setDate(todayDate.getDate() + 14);
@@ -504,8 +512,8 @@ const instituteTasks:InstituteTaskObject = {
504
512
  },
505
513
  },
506
514
  expiredInsurance: {
507
- callback: async ({user, cohorts, type}) => {
508
- if (!["home", "cohort"].includes(type)) return;
515
+ callback: async ({user, products, cohorts, type}) => {
516
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
509
517
 
510
518
  const today = convertDate(new Date(), "dbstring") as string;
511
519
 
@@ -545,8 +553,8 @@ const instituteTasks:InstituteTaskObject = {
545
553
  },
546
554
  },
547
555
  invalidProviderEmails: {
548
- callback: async ({user, cohorts, type}) => {
549
- if (!["home", "cohort"].includes(type)) return;
556
+ callback: async ({user, products, cohorts, type}) => {
557
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
550
558
 
551
559
  if (!getAccess(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
552
560
  const today = convertDate(new Date(), "dbstring") as string;
@@ -585,8 +593,8 @@ const instituteTasks:InstituteTaskObject = {
585
593
  },
586
594
  },
587
595
  requiredStage: {
588
- callback: async ({user, cohorts, type}) => {
589
- if (!["home", "cohort"].includes(type)) return;
596
+ callback: async ({user, products, cohorts, type}) => {
597
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
590
598
 
591
599
  if (!getAccess(user, null, "signOffPlacements") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
592
600
  const today = convertDate(new Date(), "dbstring") as string;
@@ -628,8 +636,8 @@ const instituteTasks:InstituteTaskObject = {
628
636
  },
629
637
  },
630
638
  verifyInsurance: {
631
- callback: async ({user, cohorts, type}) => {
632
- if (!["home", "cohort"].includes(type)) return;
639
+ callback: async ({user, products, cohorts, type}) => {
640
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
633
641
 
634
642
  if (!getAccess(user, null, "verifyInsurance") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
635
643
 
@@ -707,8 +715,8 @@ const instituteTasks:InstituteTaskObject = {
707
715
  // },
708
716
  // },
709
717
  verifyDbsCheck: {
710
- callback: async ({user, cohorts, type}) => {
711
- if (!["home", "cohort"].includes(type)) return;
718
+ callback: async ({user, products, cohorts, type}) => {
719
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
712
720
 
713
721
  if (!getAccess(user, null, "verifyDbsChecks") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
714
722
  const today = convertDate(new Date(), "dbstring") as string;
@@ -748,8 +756,8 @@ const instituteTasks:InstituteTaskObject = {
748
756
  },
749
757
  },
750
758
  employerEventRequests: {
751
- callback: async ({user, type}) => {
752
- if (type !== "home") return;
759
+ callback: async ({user, products, type}) => {
760
+ if (type !== "home" || !products.events) return;
753
761
 
754
762
  const openRequests = await firebaseQuery.getCount(["externalEventRequests"], [where("oId", "==", user.oId), where("requestedBy", "==", "employer"), where("status", "==", "pendingInstitute")]);
755
763
 
@@ -767,8 +775,9 @@ const instituteTasks:InstituteTaskObject = {
767
775
  },
768
776
  },
769
777
  schoolEventRequests: {
770
- callback: async ({user, type}) => {
771
- if (type !== "home") return;
778
+ callback: async ({user, products, type}) => {
779
+ // Only a hub or trust is on the receiving end of a school's request.
780
+ if (type !== "home" || !products.events || !(products.isHub || products.isTrust)) return;
772
781
 
773
782
  const openRequests = await firebaseQuery.getCount(["externalEventRequests"], [where("oId", "==", user.oId), where("requestedBy", "==", "school"), where("status", "==", "pendingInstitute")]);
774
783
 
@@ -786,8 +795,8 @@ const instituteTasks:InstituteTaskObject = {
786
795
  },
787
796
  },
788
797
  eventsGetAvailableProviders: {
789
- callback: async ({user, eventId, type}) => {
790
- if (!["home", "event"].includes(type)) return;
798
+ callback: async ({user, products, eventId, type}) => {
799
+ if (!["home", "event"].includes(type) || !products.events) return;
791
800
 
792
801
  if (type === "event" && eventId) {
793
802
  const availableAttendees = await firebaseQuery.getCount(["externalEventAttendees"], [where("oId", "==", user.oId), where("eventId", "==", eventId), where("status", "==", "providerAvailable")]);
@@ -835,8 +844,8 @@ const instituteTasks:InstituteTaskObject = {
835
844
  },
836
845
  },
837
846
  verifyRiskAssessment: {
838
- callback: async ({user, cohorts, type}) => {
839
- if (!["home", "cohort"].includes(type)) return;
847
+ callback: async ({user, products, cohorts, type}) => {
848
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
840
849
 
841
850
  if (!getAccess(user, null, "verifyRiskAssessments") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
842
851
  const today = convertDate(new Date(), "dbstring") as string;
@@ -876,8 +885,8 @@ const instituteTasks:InstituteTaskObject = {
876
885
  },
877
886
  },
878
887
  missingParentEmail: {
879
- callback: async ({user, cohorts, type}) => {
880
- if (!["home", "cohort"].includes(type)) return;
888
+ callback: async ({user, products, cohorts, type}) => {
889
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
881
890
 
882
891
  if (!getAccess(user, null, "editStudents") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
883
892
  if (!Array.isArray(cohorts)) {
@@ -927,8 +936,8 @@ const instituteTasks:InstituteTaskObject = {
927
936
  },
928
937
  },
929
938
  inactiveStudents: {
930
- callback: async ({user, cohorts, type}) => {
931
- if (!["home", "cohort"].includes(type)) return;
939
+ callback: async ({user, products, cohorts, type}) => {
940
+ if (!["home", "cohort"].includes(type) || !products.runsOwnStudents) return;
932
941
 
933
942
  if (!getAccess(user, null, "activateStudents") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
934
943
  if (!Array.isArray(cohorts)) {
@@ -975,8 +984,8 @@ const instituteTasks:InstituteTaskObject = {
975
984
  },
976
985
  },
977
986
  uploadStudents: {
978
- callback: async ({user, cohorts, type}) => {
979
- if (!["home", "cohort"].includes(type)) return;
987
+ callback: async ({user, products, cohorts, type}) => {
988
+ if (!["home", "cohort"].includes(type) || !products.wex) return;
980
989
 
981
990
  if (!Array.isArray(cohorts)) return;
982
991
  if (!getAccess(user, null, "addStudents") || (user.userGroup !== "admin" && user.viewStudents === "none")) return;
@@ -1036,8 +1045,8 @@ const instituteTasks:InstituteTaskObject = {
1036
1045
  },
1037
1046
  },
1038
1047
  approveProvider: {
1039
- callback: async ({user, cohorts, type}) => {
1040
- if (!["home", "employerDatabase"].includes(type)) return;
1048
+ callback: async ({user, products, type}) => {
1049
+ if (!["home", "employerDatabase"].includes(type) || !products.network) return;
1041
1050
 
1042
1051
 
1043
1052
  const availableAttendees = await firebaseQuery.getCount(["providerContacts"], [where(`savedBy.${user.oId}.exists`, "==", true), where(`savedBy.${user.oId}.status`, "==", "providerReviewed")]);
@@ -1602,6 +1611,13 @@ const getInstituteTasks = async ({user, organisation, cohort, school, type, even
1602
1611
  }
1603
1612
  console.log("FCOHORTS FOR TASKS", fCohort);
1604
1613
 
1614
+ // A trust's own flags say nothing about its schools' products, so resolve
1615
+ // against its schools too — the same rule the nav uses. Only meaningful when
1616
+ // the caller handed us real institute records (Tasks.tsx passes
1617
+ // trustOrHubSchools); the `schools` collection fallback carries no flags.
1618
+ const trustSchools = Array.isArray(fSchool) ? fSchool.map(([, school]) => school) : fSchool ? [fSchool] : undefined;
1619
+ const products = resolveProducts(organisation, {trustSchools});
1620
+
1605
1621
  const processedTasks = await Object.entries(instituteTasks).reduce(async (accPromise, [itemName, item]) => {
1606
1622
  if (!fCohort) {
1607
1623
  console.log("No cohorts to retrieve tasks for");
@@ -1609,7 +1625,7 @@ const getInstituteTasks = async ({user, organisation, cohort, school, type, even
1609
1625
  }
1610
1626
  const acc = await accPromise;
1611
1627
 
1612
- const queryResult = await item.callback({user, organisation, cohorts: fCohort, schools: fSchool, type, eventId});
1628
+ const queryResult = await item.callback({user, organisation, products, cohorts: fCohort, schools: fSchool, type, eventId});
1613
1629
  if (!queryResult) return acc;
1614
1630
 
1615
1631
  return { ...acc, ...queryResult}; // Merge the query result into the accumulator object
@@ -3597,6 +3597,15 @@ export type Lead = {
3597
3597
  bookedCall?: boolean,
3598
3598
  bookedCallAt?: string,
3599
3599
  oId?: string,
3600
+ /** demoAccounts/{id} seeded for this lead from the CRM. Set by
3601
+ * demoSeed-createDemoAccount and cleared when the demo is deleted — which
3602
+ * happens automatically once oId is stamped on (i.e. they registered). */
3603
+ demoAccountId?: string,
3604
+ demoAccountCreatedAt?: string,
3605
+ /** When the tailored auto-sign-in link was emailed to the lead. */
3606
+ demoInviteSentAt?: string,
3607
+ /** Last time the lead opened their demo through that link. */
3608
+ demoLastAccessedAt?: string,
3600
3609
  source: string,
3601
3610
  dateAdded?: string,
3602
3611
  addedBy: string,