placementt-core 1.400.1106 → 1.400.1107

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.
Files changed (53) hide show
  1. package/lib/activityLogging.d.ts +23 -17
  2. package/lib/activityLogging.js +26 -32
  3. package/lib/activityLogging.js.map +1 -1
  4. package/lib/activityLogging.test.js +27 -9
  5. package/lib/activityLogging.test.js.map +1 -1
  6. package/lib/callables/index.d.ts +1 -0
  7. package/lib/callables/index.js +1 -0
  8. package/lib/callables/index.js.map +1 -1
  9. package/lib/callables/registry.d.ts +162 -0
  10. package/lib/callables/registry.js +3 -1
  11. package/lib/callables/registry.js.map +1 -1
  12. package/lib/callables/studentLaunches.d.ts +100 -0
  13. package/lib/callables/studentLaunches.js +72 -0
  14. package/lib/callables/studentLaunches.js.map +1 -0
  15. package/lib/callables/surveys.d.ts +12 -0
  16. package/lib/callables/surveys.js +6 -0
  17. package/lib/callables/surveys.js.map +1 -1
  18. package/lib/firebase/callableJobContext.js +5 -0
  19. package/lib/firebase/callableJobContext.js.map +1 -1
  20. package/lib/firebase/firebase.d.ts +1 -1
  21. package/lib/firebase/firebase.js +10 -0
  22. package/lib/firebase/firebase.js.map +1 -1
  23. package/lib/index.d.ts +1 -0
  24. package/lib/index.js +1 -0
  25. package/lib/index.js.map +1 -1
  26. package/lib/studentAudiences.d.ts +284 -0
  27. package/lib/studentAudiences.js +416 -0
  28. package/lib/studentAudiences.js.map +1 -0
  29. package/lib/studentAudiences.test.d.ts +1 -0
  30. package/lib/studentAudiences.test.js +206 -0
  31. package/lib/studentAudiences.test.js.map +1 -0
  32. package/lib/studentTools.d.ts +16 -24
  33. package/lib/studentTools.js +16 -44
  34. package/lib/studentTools.js.map +1 -1
  35. package/lib/surveys/types.d.ts +5 -0
  36. package/lib/surveys/types.js.map +1 -1
  37. package/lib/typeDefinitions.d.ts +55 -0
  38. package/lib/typeDefinitions.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/activityLogging.test.ts +29 -9
  41. package/src/activityLogging.ts +37 -29
  42. package/src/callables/index.ts +1 -0
  43. package/src/callables/registry.ts +3 -1
  44. package/src/callables/studentLaunches.ts +71 -0
  45. package/src/callables/surveys.ts +6 -0
  46. package/src/firebase/callableJobContext.ts +6 -0
  47. package/src/firebase/firebase.tsx +12 -1
  48. package/src/index.ts +1 -0
  49. package/src/studentAudiences.test.ts +260 -0
  50. package/src/studentAudiences.ts +509 -0
  51. package/src/studentTools.ts +31 -44
  52. package/src/surveys/types.ts +5 -0
  53. package/src/typeDefinitions.ts +53 -0
@@ -1,4 +1,5 @@
1
1
  import { ActivityLoggingConfig, InstituteData } from "./typeDefinitions";
2
+ import { AudienceCandidate } from "./studentAudiences";
2
3
  /**
3
4
  * Whether a student can log activities, and whether we may email them about it.
4
5
  *
@@ -9,50 +10,55 @@ import { ActivityLoggingConfig, InstituteData } from "./typeDefinitions";
9
10
  * area, its analytics and its Gatsby reporting.
10
11
  * - `activityLogging` is the LAUNCH. It is what a school says to its students, and
11
12
  * absent means nothing has been said. A feature that appears in a pupil's account
12
- * unannounced gets used by nobody and asked about by everybody, so a year group
13
- * sees activity logging only once the school has launched it to them.
13
+ * unannounced gets used by nobody and asked about by everybody, so a group of
14
+ * students sees activity logging only once the school has launched it to them.
14
15
  *
15
- * The launch is per year group and, unless the school says otherwise, per academic
16
- * year: last year's Year 11 is not this year's Year 11, and a school introducing it
17
- * to each new cohort in assembly should not find it already live.
16
+ * Activity logging was the first thing a school launched, and for a while the only
17
+ * one; launching is now one shape for it and the two destinations tools alike, in
18
+ * ./studentAudiences. What is left here is the product switch and the names the
19
+ * activity surfaces already know the launch by.
18
20
  */
19
21
  /** Does the school have the Activities area at all? Absent means yes. */
20
22
  export declare const activityLoggingProductOn: (institute?: Pick<InstituteData, "trackExtracurriculars">) => boolean;
21
23
  /**
22
24
  * Does the stored launch still count today?
23
25
  *
24
- * A launch is made for one academic year. With `rollOver` on it carries forward
25
- * forever; without it, September spends it.
26
- *
27
26
  * @param {ActivityLoggingConfig} [config] the school's launch.
28
27
  * @param {Date} [now] the date to judge it against.
29
- * @return {boolean} whether the year groups below are live.
28
+ * @return {boolean} whether the groups it names are live.
30
29
  */
31
30
  export declare const activityLaunchCurrent: (config?: ActivityLoggingConfig, now?: Date) => boolean;
32
31
  /**
33
32
  * The year groups activity logging is live for right now.
34
33
  *
34
+ * Only the year group form of a launch, which is how every launch was made before
35
+ * groups existed and what the original `launchActivityLogging` callable still
36
+ * writes. A launch made of groups answers a different question — see
37
+ * `liveAudiences` — and is deliberately not flattened into year groups here, since
38
+ * "Year 10 pupil premium" is not Year 10.
39
+ *
35
40
  * @param {InstituteData} [institute] the school.
36
41
  * @param {Date} [now] the date to judge the launch against.
37
- * @return {string[]} the year group tags, empty when nothing is live.
42
+ * @return {string[]} the year group tags, empty when none is live.
38
43
  */
39
44
  export declare const activityLoggingLiveYearGroups: (institute?: InstituteData, now?: Date) => string[];
40
45
  /**
41
46
  * Can THIS student log activities, and may we email them about it?
42
47
  *
43
- * The one gate every student-facing surface asks. A student with no year group on
44
- * their record is not in a launched year group, so the answer is no — which is the
45
- * safe way round: they see nothing rather than being shown something their school
46
- * hasn't announced.
48
+ * The one gate every student-facing surface asks. A student the launch's groups
49
+ * don't match is not in one, which is the safe way round: they see nothing rather
50
+ * than being shown something their school hasn't announced.
47
51
  *
48
52
  * @param {InstituteData} [institute] their school.
49
- * @param {string} [yearGroup] their year group tag, as their record holds it.
53
+ * @param {AudienceCandidate} [student] their record, with their uid as `id`.
50
54
  * @param {Date} [now] the date to judge the launch against.
51
55
  * @return {boolean} whether activity logging is live for them.
52
56
  */
53
- export declare const activityLoggingLive: (institute?: InstituteData, yearGroup?: string, now?: Date) => boolean;
57
+ export declare const activityLoggingLive: (institute?: InstituteData, student?: AudienceCandidate, now?: Date) => boolean;
54
58
  /** Where a school's activity logging stands, in the vocabulary the careers year
55
- * setup uses for every other programme. */
59
+ * setup uses for every other programme. A launch with no groups reads as
60
+ * "unconfigured" rather than "unlaunched", because the setup questions and the
61
+ * launch are one flow here. */
56
62
  export type ActivityLoggingState = "unconfigured" | "needsLaunch" | "live";
57
63
  /**
58
64
  * Has this school launched activity logging, and does the launch still stand?
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.activityLoggingState = exports.activityLoggingLive = exports.activityLoggingLiveYearGroups = exports.activityLaunchCurrent = exports.activityLoggingProductOn = void 0;
4
- const schedule_1 = require("./surveys/schedule");
4
+ const studentAudiences_1 = require("./studentAudiences");
5
5
  /**
6
6
  * Whether a student can log activities, and whether we may email them about it.
7
7
  *
@@ -12,12 +12,13 @@ const schedule_1 = require("./surveys/schedule");
12
12
  * area, its analytics and its Gatsby reporting.
13
13
  * - `activityLogging` is the LAUNCH. It is what a school says to its students, and
14
14
  * absent means nothing has been said. A feature that appears in a pupil's account
15
- * unannounced gets used by nobody and asked about by everybody, so a year group
16
- * sees activity logging only once the school has launched it to them.
15
+ * unannounced gets used by nobody and asked about by everybody, so a group of
16
+ * students sees activity logging only once the school has launched it to them.
17
17
  *
18
- * The launch is per year group and, unless the school says otherwise, per academic
19
- * year: last year's Year 11 is not this year's Year 11, and a school introducing it
20
- * to each new cohort in assembly should not find it already live.
18
+ * Activity logging was the first thing a school launched, and for a while the only
19
+ * one; launching is now one shape for it and the two destinations tools alike, in
20
+ * ./studentAudiences. What is left here is the product switch and the names the
21
+ * activity surfaces already know the launch by.
21
22
  */
22
23
  /** Does the school have the Activities area at all? Absent means yes. */
23
24
  const activityLoggingProductOn = (institute) => institute?.trackExtracurriculars !== false;
@@ -25,25 +26,24 @@ exports.activityLoggingProductOn = activityLoggingProductOn;
25
26
  /**
26
27
  * Does the stored launch still count today?
27
28
  *
28
- * A launch is made for one academic year. With `rollOver` on it carries forward
29
- * forever; without it, September spends it.
30
- *
31
29
  * @param {ActivityLoggingConfig} [config] the school's launch.
32
30
  * @param {Date} [now] the date to judge it against.
33
- * @return {boolean} whether the year groups below are live.
31
+ * @return {boolean} whether the groups it names are live.
34
32
  */
35
- const activityLaunchCurrent = (config, now = new Date()) => {
36
- if (!config?.launchedYear)
37
- return false;
38
- return Boolean(config.rollOver) || config.launchedYear === (0, schedule_1.academicYearOf)(now);
39
- };
33
+ const activityLaunchCurrent = (config, now = new Date()) => (0, studentAudiences_1.launchCurrent)(config, now);
40
34
  exports.activityLaunchCurrent = activityLaunchCurrent;
41
35
  /**
42
36
  * The year groups activity logging is live for right now.
43
37
  *
38
+ * Only the year group form of a launch, which is how every launch was made before
39
+ * groups existed and what the original `launchActivityLogging` callable still
40
+ * writes. A launch made of groups answers a different question — see
41
+ * `liveAudiences` — and is deliberately not flattened into year groups here, since
42
+ * "Year 10 pupil premium" is not Year 10.
43
+ *
44
44
  * @param {InstituteData} [institute] the school.
45
45
  * @param {Date} [now] the date to judge the launch against.
46
- * @return {string[]} the year group tags, empty when nothing is live.
46
+ * @return {string[]} the year group tags, empty when none is live.
47
47
  */
48
48
  const activityLoggingLiveYearGroups = (institute, now = new Date()) => {
49
49
  if (!(0, exports.activityLoggingProductOn)(institute))
@@ -57,25 +57,19 @@ exports.activityLoggingLiveYearGroups = activityLoggingLiveYearGroups;
57
57
  /**
58
58
  * Can THIS student log activities, and may we email them about it?
59
59
  *
60
- * The one gate every student-facing surface asks. A student with no year group on
61
- * their record is not in a launched year group, so the answer is no — which is the
62
- * safe way round: they see nothing rather than being shown something their school
63
- * hasn't announced.
60
+ * The one gate every student-facing surface asks. A student the launch's groups
61
+ * don't match is not in one, which is the safe way round: they see nothing rather
62
+ * than being shown something their school hasn't announced.
64
63
  *
65
64
  * @param {InstituteData} [institute] their school.
66
- * @param {string} [yearGroup] their year group tag, as their record holds it.
65
+ * @param {AudienceCandidate} [student] their record, with their uid as `id`.
67
66
  * @param {Date} [now] the date to judge the launch against.
68
67
  * @return {boolean} whether activity logging is live for them.
69
68
  */
70
- const activityLoggingLive = (institute, yearGroup, now = new Date()) => {
71
- if (!yearGroup)
72
- return false;
69
+ const activityLoggingLive = (institute, student, now = new Date()) => {
73
70
  if (!(0, exports.activityLoggingProductOn)(institute))
74
71
  return false;
75
- const config = institute?.activityLogging;
76
- if (!(0, exports.activityLaunchCurrent)(config, now))
77
- return false;
78
- return config?.yearGroups?.[yearGroup] === true;
72
+ return (0, studentAudiences_1.studentLaunchLive)(institute, "activities", student, now);
79
73
  };
80
74
  exports.activityLoggingLive = activityLoggingLive;
81
75
  /**
@@ -92,11 +86,11 @@ const activityLoggingState = (institute, now = new Date()) => {
92
86
  const config = institute?.activityLogging;
93
87
  // Never answered, or answered and launched to nobody — both leave a school with
94
88
  // the questions still to answer.
95
- if (!config?.setupCompletedAt || !Object.values(config.yearGroups || {}).some(Boolean))
89
+ if (!config?.setupCompletedAt || !(0, studentAudiences_1.launchAudiences)(institute, "activities").length)
90
+ return "unconfigured";
91
+ if (!(0, exports.activityLoggingProductOn)(institute))
96
92
  return "unconfigured";
97
- if ((0, exports.activityLoggingLiveYearGroups)(institute, now).length)
98
- return "live";
99
- return "needsLaunch";
93
+ return (0, studentAudiences_1.liveAudiences)(institute, "activities", now).length ? "live" : "needsLaunch";
100
94
  };
101
95
  exports.activityLoggingState = activityLoggingState;
102
96
  //# sourceMappingURL=activityLogging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activityLogging.js","sourceRoot":"","sources":["../src/activityLogging.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAElD;;;;;;;;;;;;;;;;GAgBG;AAEH,yEAAyE;AAClE,MAAM,wBAAwB,GAAG,CAAC,SAAwD,EAAW,EAAE,CAC1G,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC;AADlC,QAAA,wBAAwB,4BACU;AAE/C;;;;;;;;;GASG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAA8B,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAW,EAAE;IAC/F,IAAI,CAAC,MAAM,EAAE,YAAY;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;AACnF,CAAC,CAAC;AAHW,QAAA,qBAAqB,yBAGhC;AAEF;;;;;;GAMG;AACI,MAAM,6BAA6B,GAAG,CAAC,SAAyB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAY,EAAE;IACnG,IAAI,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;IAC1C,IAAI,CAAC,IAAA,6BAAqB,EAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AALW,QAAA,6BAA6B,iCAKxC;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,mBAAmB,GAAG,CAAC,SAAyB,EAAE,SAAkB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAW,EAAE;IAC5G,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;IAC1C,IAAI,CAAC,IAAA,6BAAqB,EAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,MAAM,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AACpD,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAMF;;;;;;;;;GASG;AACI,MAAM,oBAAoB,GAAG,CAAC,SAAyB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAwB,EAAE;IACtG,MAAM,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;IAC1C,gFAAgF;IAChF,iCAAiC;IACjC,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,cAAc,CAAC;IAC9G,IAAI,IAAA,qCAA6B,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IACxE,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B"}
1
+ {"version":3,"file":"activityLogging.js","sourceRoot":"","sources":["../src/activityLogging.ts"],"names":[],"mappings":";;;AACA,yDAM4B;AAE5B;;;;;;;;;;;;;;;;;GAiBG;AAEH,yEAAyE;AAClE,MAAM,wBAAwB,GAAG,CAAC,SAAwD,EAAW,EAAE,CAC1G,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC;AADlC,QAAA,wBAAwB,4BACU;AAE/C;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAA8B,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAW,EAAE,CAC/F,IAAA,gCAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AADlB,QAAA,qBAAqB,yBACH;AAE/B;;;;;;;;;;;;GAYG;AACI,MAAM,6BAA6B,GAAG,CAAC,SAAyB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAY,EAAE;IACnG,IAAI,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;IAC1C,IAAI,CAAC,IAAA,6BAAqB,EAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AALW,QAAA,6BAA6B,iCAKxC;AAEF;;;;;;;;;;;GAWG;AACI,MAAM,mBAAmB,GAAG,CAC/B,SAAyB,EAAE,OAA2B,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EACjE,EAAE;IACT,IAAI,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,IAAA,oCAAiB,EAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAQF;;;;;;;;;GASG;AACI,MAAM,oBAAoB,GAAG,CAAC,SAAyB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAwB,EAAE;IACtG,MAAM,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;IAC1C,gFAAgF;IAChF,iCAAiC;IACjC,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,CAAC,IAAA,kCAAe,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC;IACzG,IAAI,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC;QAAE,OAAO,cAAc,CAAC;IAChE,OAAO,IAAA,gCAAa,EAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;AACvF,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B"}
@@ -47,31 +47,49 @@ describe("activityLaunchCurrent", () => {
47
47
  expect((0, activityLogging_1.activityLaunchCurrent)({ launchedYear: "2026-27" }, AUGUST_2026)).toBe(false);
48
48
  });
49
49
  });
50
+ /** A pupil, as the gate reads one: their uid and whatever their record holds. */
51
+ const pupil = (year) => ({ id: "pupil-1", details: year ? { year } : {} });
50
52
  describe("activityLoggingLive", () => {
51
53
  it("is live for a launched year group", () => {
52
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), "Year 12", IN_2026_27)).toBe(true);
54
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), pupil("Year 12"), IN_2026_27)).toBe(true);
53
55
  });
54
56
  it("is not live for a year group left out of the launch", () => {
55
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), "Year 9", IN_2026_27)).toBe(false);
57
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), pupil("Year 9"), IN_2026_27)).toBe(false);
56
58
  });
57
59
  it("is not live for a year group switched off", () => {
58
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": false }), "Year 12", IN_2026_27)).toBe(false);
60
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": false }), pupil("Year 12"), IN_2026_27)).toBe(false);
59
61
  });
60
62
  it("is not live for a student with no year group on their record", () => {
61
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), undefined, IN_2026_27)).toBe(false);
63
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), pupil(), IN_2026_27)).toBe(false);
62
64
  });
63
65
  it("stops at the new academic year unless the launch rolls over", () => {
64
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), "Year 12", IN_2027_28)).toBe(false);
65
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }, { rollOver: true }), "Year 12", IN_2027_28)).toBe(true);
66
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }), pupil("Year 12"), IN_2027_28)).toBe(false);
67
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Year 12": true }, { rollOver: true }), pupil("Year 12"), IN_2027_28)).toBe(true);
66
68
  });
67
69
  it("is never live when the product itself is off, whatever the launch says", () => {
68
70
  const off = launched({ "Year 12": true });
69
71
  off.trackExtracurriculars = false;
70
- expect((0, activityLogging_1.activityLoggingLive)(off, "Year 12", IN_2026_27)).toBe(false);
72
+ expect((0, activityLogging_1.activityLoggingLive)(off, pupil("Year 12"), IN_2026_27)).toBe(false);
71
73
  });
72
74
  it("matches the school's own year tag verbatim rather than normalising it", () => {
73
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Yr 12 (KS5)": true }), "Yr 12 (KS5)", IN_2026_27)).toBe(true);
74
- expect((0, activityLogging_1.activityLoggingLive)(launched({ "Yr 12 (KS5)": true }), "Year 12", IN_2026_27)).toBe(false);
75
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Yr 12 (KS5)": true }), pupil("Yr 12 (KS5)"), IN_2026_27)).toBe(true);
76
+ expect((0, activityLogging_1.activityLoggingLive)(launched({ "Yr 12 (KS5)": true }), pupil("Year 12"), IN_2026_27)).toBe(false);
77
+ });
78
+ it("is live for a pupil a launched group's filter matches, not just a year group", () => {
79
+ const school = {
80
+ trackExtracurriculars: true,
81
+ studentAudiences: {
82
+ pp: {
83
+ label: "Year 11 pupil premium",
84
+ studentSelection: JSON.stringify({ allSelected: true, filters: [
85
+ { k: "details.year", v: "Year 11" }, { k: "userGroup", v: "pupilPremium" },
86
+ ] }),
87
+ },
88
+ },
89
+ activityLogging: { audiences: { pp: true }, launchedYear: "2026-27" },
90
+ };
91
+ expect((0, activityLogging_1.activityLoggingLive)(school, { id: "a", details: { year: "Year 11" }, userGroup: "pupilPremium" }, IN_2026_27)).toBe(true);
92
+ expect((0, activityLogging_1.activityLoggingLive)(school, { id: "b", details: { year: "Year 11" } }, IN_2026_27)).toBe(false);
75
93
  });
76
94
  });
77
95
  describe("activityLoggingLiveYearGroups", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"activityLogging.test.js","sourceRoot":"","sources":["../src/activityLogging.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activityLogging.test.js","sourceRoot":"","sources":["../src/activityLogging.test.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ export * from "./jobRoles";
7
7
  export * from "./apprenticeships";
8
8
  export * from "./he";
9
9
  export * from "./activityLogging";
10
+ export * from "./studentLaunches";
10
11
  export * from "./billing";
11
12
  export * from "./hubImpactReport";
@@ -23,6 +23,7 @@ __exportStar(require("./jobRoles"), exports);
23
23
  __exportStar(require("./apprenticeships"), exports);
24
24
  __exportStar(require("./he"), exports);
25
25
  __exportStar(require("./activityLogging"), exports);
26
+ __exportStar(require("./studentLaunches"), exports);
26
27
  __exportStar(require("./billing"), exports);
27
28
  __exportStar(require("./hubImpactReport"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,6CAA2B;AAC3B,oDAAkC;AAClC,uCAAqB;AACrB,oDAAkC;AAClC,4CAA0B;AAC1B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,6CAA2B;AAC3B,oDAAkC;AAClC,uCAAqB;AACrB,oDAAkC;AAClC,oDAAkC;AAClC,4CAA0B;AAC1B,oDAAkC"}
@@ -204,6 +204,78 @@ export declare const allCallables: {
204
204
  synced: number;
205
205
  }>;
206
206
  };
207
+ "launches-launchToStudents": {
208
+ request: z.ZodObject<{
209
+ oId: z.ZodString;
210
+ kind: z.ZodEnum<[string, ...string[]]>;
211
+ audiences: z.ZodArray<z.ZodString, "many">;
212
+ newAudiences: z.ZodOptional<z.ZodArray<z.ZodObject<{
213
+ label: z.ZodString;
214
+ studentSelection: z.ZodString;
215
+ selectionSummary: z.ZodOptional<z.ZodString>;
216
+ }, "strip", z.ZodTypeAny, {
217
+ label: string;
218
+ studentSelection: string;
219
+ selectionSummary?: string | undefined;
220
+ }, {
221
+ label: string;
222
+ studentSelection: string;
223
+ selectionSummary?: string | undefined;
224
+ }>, "many">>;
225
+ rollOver: z.ZodOptional<z.ZodBoolean>;
226
+ silent: z.ZodOptional<z.ZodBoolean>;
227
+ jobId: z.ZodOptional<z.ZodString>;
228
+ newlyLive: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
229
+ label: z.ZodOptional<z.ZodString>;
230
+ }, "strip", z.ZodTypeAny, {
231
+ oId: string;
232
+ kind: string;
233
+ audiences: string[];
234
+ silent?: boolean | undefined;
235
+ label?: string | undefined;
236
+ jobId?: string | undefined;
237
+ rollOver?: boolean | undefined;
238
+ newlyLive?: string[] | undefined;
239
+ newAudiences?: {
240
+ label: string;
241
+ studentSelection: string;
242
+ selectionSummary?: string | undefined;
243
+ }[] | undefined;
244
+ }, {
245
+ oId: string;
246
+ kind: string;
247
+ audiences: string[];
248
+ silent?: boolean | undefined;
249
+ label?: string | undefined;
250
+ jobId?: string | undefined;
251
+ rollOver?: boolean | undefined;
252
+ newlyLive?: string[] | undefined;
253
+ newAudiences?: {
254
+ label: string;
255
+ studentSelection: string;
256
+ selectionSummary?: string | undefined;
257
+ }[] | undefined;
258
+ }>;
259
+ response: z.ZodObject<{
260
+ launched: z.ZodBoolean;
261
+ academicYear: z.ZodString;
262
+ audiences: z.ZodArray<z.ZodString, "many">;
263
+ created: z.ZodArray<z.ZodString, "many">;
264
+ emailed: z.ZodNumber;
265
+ }, "strip", z.ZodTypeAny, {
266
+ created: string[];
267
+ academicYear: string;
268
+ audiences: string[];
269
+ launched: boolean;
270
+ emailed: number;
271
+ }, {
272
+ created: string[];
273
+ academicYear: string;
274
+ audiences: string[];
275
+ launched: boolean;
276
+ emailed: number;
277
+ }>;
278
+ };
207
279
  "activityLogging-launchActivityLogging": {
208
280
  request: z.ZodObject<{
209
281
  oId: z.ZodString;
@@ -512,6 +584,7 @@ export declare const allCallables: {
512
584
  oId: z.ZodString;
513
585
  kind: z.ZodEnum<[string, ...string[]]>;
514
586
  yearGroups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
587
+ audiences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
515
588
  scheduledSendDate: z.ZodString;
516
589
  academicYear: z.ZodOptional<z.ZodString>;
517
590
  closeAfterDays: z.ZodOptional<z.ZodNumber>;
@@ -551,6 +624,7 @@ export declare const allCallables: {
551
624
  jobId?: string | undefined;
552
625
  draft?: boolean | undefined;
553
626
  academicYear?: string | undefined;
627
+ audiences?: string[] | undefined;
554
628
  closeAfterDays?: number | undefined;
555
629
  emailTemplateId?: string | undefined;
556
630
  raters?: {
@@ -575,6 +649,7 @@ export declare const allCallables: {
575
649
  jobId?: string | undefined;
576
650
  draft?: boolean | undefined;
577
651
  academicYear?: string | undefined;
652
+ audiences?: string[] | undefined;
578
653
  closeAfterDays?: number | undefined;
579
654
  emailTemplateId?: string | undefined;
580
655
  raters?: {
@@ -593,6 +668,7 @@ export declare const allCallables: {
593
668
  created: z.ZodArray<z.ZodObject<{
594
669
  cycleId: z.ZodString;
595
670
  yearGroup: z.ZodOptional<z.ZodString>;
671
+ audienceId: z.ZodOptional<z.ZodString>;
596
672
  invited: z.ZodNumber;
597
673
  sent: z.ZodOptional<z.ZodNumber>;
598
674
  }, "strip", z.ZodTypeAny, {
@@ -600,11 +676,13 @@ export declare const allCallables: {
600
676
  invited: number;
601
677
  sent?: number | undefined;
602
678
  yearGroup?: string | undefined;
679
+ audienceId?: string | undefined;
603
680
  }, {
604
681
  cycleId: string;
605
682
  invited: number;
606
683
  sent?: number | undefined;
607
684
  yearGroup?: string | undefined;
685
+ audienceId?: string | undefined;
608
686
  }>, "many">;
609
687
  skippedEmpty: z.ZodArray<z.ZodString, "many">;
610
688
  skippedNoEmail: z.ZodNumber;
@@ -615,6 +693,7 @@ export declare const allCallables: {
615
693
  invited: number;
616
694
  sent?: number | undefined;
617
695
  yearGroup?: string | undefined;
696
+ audienceId?: string | undefined;
618
697
  }[];
619
698
  academicYear: string;
620
699
  skippedEmpty: string[];
@@ -625,6 +704,7 @@ export declare const allCallables: {
625
704
  invited: number;
626
705
  sent?: number | undefined;
627
706
  yearGroup?: string | undefined;
707
+ audienceId?: string | undefined;
628
708
  }[];
629
709
  academicYear: string;
630
710
  skippedEmpty: string[];
@@ -1164,6 +1244,7 @@ export declare const callableGroups: {
1164
1244
  oId: z.ZodString;
1165
1245
  kind: z.ZodEnum<[string, ...string[]]>;
1166
1246
  yearGroups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1247
+ audiences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1167
1248
  scheduledSendDate: z.ZodString;
1168
1249
  academicYear: z.ZodOptional<z.ZodString>;
1169
1250
  closeAfterDays: z.ZodOptional<z.ZodNumber>;
@@ -1203,6 +1284,7 @@ export declare const callableGroups: {
1203
1284
  jobId?: string | undefined;
1204
1285
  draft?: boolean | undefined;
1205
1286
  academicYear?: string | undefined;
1287
+ audiences?: string[] | undefined;
1206
1288
  closeAfterDays?: number | undefined;
1207
1289
  emailTemplateId?: string | undefined;
1208
1290
  raters?: {
@@ -1227,6 +1309,7 @@ export declare const callableGroups: {
1227
1309
  jobId?: string | undefined;
1228
1310
  draft?: boolean | undefined;
1229
1311
  academicYear?: string | undefined;
1312
+ audiences?: string[] | undefined;
1230
1313
  closeAfterDays?: number | undefined;
1231
1314
  emailTemplateId?: string | undefined;
1232
1315
  raters?: {
@@ -1245,6 +1328,7 @@ export declare const callableGroups: {
1245
1328
  created: z.ZodArray<z.ZodObject<{
1246
1329
  cycleId: z.ZodString;
1247
1330
  yearGroup: z.ZodOptional<z.ZodString>;
1331
+ audienceId: z.ZodOptional<z.ZodString>;
1248
1332
  invited: z.ZodNumber;
1249
1333
  sent: z.ZodOptional<z.ZodNumber>;
1250
1334
  }, "strip", z.ZodTypeAny, {
@@ -1252,11 +1336,13 @@ export declare const callableGroups: {
1252
1336
  invited: number;
1253
1337
  sent?: number | undefined;
1254
1338
  yearGroup?: string | undefined;
1339
+ audienceId?: string | undefined;
1255
1340
  }, {
1256
1341
  cycleId: string;
1257
1342
  invited: number;
1258
1343
  sent?: number | undefined;
1259
1344
  yearGroup?: string | undefined;
1345
+ audienceId?: string | undefined;
1260
1346
  }>, "many">;
1261
1347
  skippedEmpty: z.ZodArray<z.ZodString, "many">;
1262
1348
  skippedNoEmail: z.ZodNumber;
@@ -1267,6 +1353,7 @@ export declare const callableGroups: {
1267
1353
  invited: number;
1268
1354
  sent?: number | undefined;
1269
1355
  yearGroup?: string | undefined;
1356
+ audienceId?: string | undefined;
1270
1357
  }[];
1271
1358
  academicYear: string;
1272
1359
  skippedEmpty: string[];
@@ -1277,6 +1364,7 @@ export declare const callableGroups: {
1277
1364
  invited: number;
1278
1365
  sent?: number | undefined;
1279
1366
  yearGroup?: string | undefined;
1367
+ audienceId?: string | undefined;
1280
1368
  }[];
1281
1369
  academicYear: string;
1282
1370
  skippedEmpty: string[];
@@ -1928,6 +2016,80 @@ export declare const callableGroups: {
1928
2016
  }>;
1929
2017
  };
1930
2018
  };
2019
+ studentLaunchCallables: {
2020
+ "launches-launchToStudents": {
2021
+ request: z.ZodObject<{
2022
+ oId: z.ZodString;
2023
+ kind: z.ZodEnum<[string, ...string[]]>;
2024
+ audiences: z.ZodArray<z.ZodString, "many">;
2025
+ newAudiences: z.ZodOptional<z.ZodArray<z.ZodObject<{
2026
+ label: z.ZodString;
2027
+ studentSelection: z.ZodString;
2028
+ selectionSummary: z.ZodOptional<z.ZodString>;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ label: string;
2031
+ studentSelection: string;
2032
+ selectionSummary?: string | undefined;
2033
+ }, {
2034
+ label: string;
2035
+ studentSelection: string;
2036
+ selectionSummary?: string | undefined;
2037
+ }>, "many">>;
2038
+ rollOver: z.ZodOptional<z.ZodBoolean>;
2039
+ silent: z.ZodOptional<z.ZodBoolean>;
2040
+ jobId: z.ZodOptional<z.ZodString>;
2041
+ newlyLive: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2042
+ label: z.ZodOptional<z.ZodString>;
2043
+ }, "strip", z.ZodTypeAny, {
2044
+ oId: string;
2045
+ kind: string;
2046
+ audiences: string[];
2047
+ silent?: boolean | undefined;
2048
+ label?: string | undefined;
2049
+ jobId?: string | undefined;
2050
+ rollOver?: boolean | undefined;
2051
+ newlyLive?: string[] | undefined;
2052
+ newAudiences?: {
2053
+ label: string;
2054
+ studentSelection: string;
2055
+ selectionSummary?: string | undefined;
2056
+ }[] | undefined;
2057
+ }, {
2058
+ oId: string;
2059
+ kind: string;
2060
+ audiences: string[];
2061
+ silent?: boolean | undefined;
2062
+ label?: string | undefined;
2063
+ jobId?: string | undefined;
2064
+ rollOver?: boolean | undefined;
2065
+ newlyLive?: string[] | undefined;
2066
+ newAudiences?: {
2067
+ label: string;
2068
+ studentSelection: string;
2069
+ selectionSummary?: string | undefined;
2070
+ }[] | undefined;
2071
+ }>;
2072
+ response: z.ZodObject<{
2073
+ launched: z.ZodBoolean;
2074
+ academicYear: z.ZodString;
2075
+ audiences: z.ZodArray<z.ZodString, "many">;
2076
+ created: z.ZodArray<z.ZodString, "many">;
2077
+ emailed: z.ZodNumber;
2078
+ }, "strip", z.ZodTypeAny, {
2079
+ created: string[];
2080
+ academicYear: string;
2081
+ audiences: string[];
2082
+ launched: boolean;
2083
+ emailed: number;
2084
+ }, {
2085
+ created: string[];
2086
+ academicYear: string;
2087
+ audiences: string[];
2088
+ launched: boolean;
2089
+ emailed: number;
2090
+ }>;
2091
+ };
2092
+ };
1931
2093
  billingCallables: {
1932
2094
  "billing-createXeroInvoice": {
1933
2095
  request: z.ZodObject<{
@@ -10,6 +10,7 @@ const benchmarks_1 = require("./benchmarks");
10
10
  const apprenticeships_1 = require("./apprenticeships");
11
11
  const he_1 = require("./he");
12
12
  const activityLogging_1 = require("./activityLogging");
13
+ const studentLaunches_1 = require("./studentLaunches");
13
14
  const billing_1 = require("./billing");
14
15
  const jobRoles_1 = require("./jobRoles");
15
16
  const hubImpactReport_1 = require("./hubImpactReport");
@@ -34,10 +35,11 @@ exports.allCallables = {
34
35
  ...apprenticeships_1.apprenticeshipsCallables,
35
36
  ...he_1.heCallables,
36
37
  ...activityLogging_1.activityLoggingCallables,
38
+ ...studentLaunches_1.studentLaunchCallables,
37
39
  ...billing_1.billingCallables,
38
40
  ...jobRoles_1.jobRolesCallables,
39
41
  ...hubImpactReport_1.hubImpactReportCallables,
40
42
  };
41
43
  /** The per-group maps, exported so tests can assert no key collisions. */
42
- exports.callableGroups = { destinationsConfigCallables: destinationsConfig_1.destinationsConfigCallables, placementCallables: placement_1.placementCallables, eventsCallables: events_1.eventsCallables, surveyCallables: surveys_1.surveyCallables, checksCallables: checks_1.checksCallables, benchmarksCallables: benchmarks_1.benchmarksCallables, apprenticeshipsCallables: apprenticeships_1.apprenticeshipsCallables, heCallables: he_1.heCallables, activityLoggingCallables: activityLogging_1.activityLoggingCallables, billingCallables: billing_1.billingCallables, jobRolesCallables: jobRoles_1.jobRolesCallables, hubImpactReportCallables: hubImpactReport_1.hubImpactReportCallables };
44
+ exports.callableGroups = { destinationsConfigCallables: destinationsConfig_1.destinationsConfigCallables, placementCallables: placement_1.placementCallables, eventsCallables: events_1.eventsCallables, surveyCallables: surveys_1.surveyCallables, checksCallables: checks_1.checksCallables, benchmarksCallables: benchmarks_1.benchmarksCallables, apprenticeshipsCallables: apprenticeships_1.apprenticeshipsCallables, heCallables: he_1.heCallables, activityLoggingCallables: activityLogging_1.activityLoggingCallables, studentLaunchCallables: studentLaunches_1.studentLaunchCallables, billingCallables: billing_1.billingCallables, jobRolesCallables: jobRoles_1.jobRolesCallables, hubImpactReportCallables: hubImpactReport_1.hubImpactReportCallables };
43
45
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/callables/registry.ts"],"names":[],"mappings":";;;AAEA,6DAAiE;AACjE,2CAA+C;AAC/C,qCAAyC;AACzC,uCAA0C;AAC1C,qCAAyC;AACzC,6CAAiD;AACjD,uDAA2D;AAC3D,6BAAiC;AACjC,uDAA2D;AAC3D,uCAA2C;AAC3C,yCAA6C;AAC7C,uDAA2D;AAE3D;;;;;;;;;;GAUG;AACU,QAAA,YAAY,GAAG;IACxB,GAAG,gDAA2B;IAC9B,GAAG,8BAAkB;IACrB,GAAG,wBAAe;IAClB,GAAG,yBAAe;IAClB,GAAG,wBAAe;IAClB,GAAG,gCAAmB;IACtB,GAAG,0CAAwB;IAC3B,GAAG,gBAAW;IACd,GAAG,0CAAwB;IAC3B,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;IACpB,GAAG,0CAAwB;CACN,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG,EAAC,2BAA2B,EAA3B,gDAA2B,EAAE,kBAAkB,EAAlB,8BAAkB,EAAE,eAAe,EAAf,wBAAe,EAAE,eAAe,EAAf,yBAAe,EAAE,eAAe,EAAf,wBAAe,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,WAAW,EAAX,gBAAW,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,gBAAgB,EAAhB,0BAAgB,EAAE,iBAAiB,EAAjB,4BAAiB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/callables/registry.ts"],"names":[],"mappings":";;;AAEA,6DAAiE;AACjE,2CAA+C;AAC/C,qCAAyC;AACzC,uCAA0C;AAC1C,qCAAyC;AACzC,6CAAiD;AACjD,uDAA2D;AAC3D,6BAAiC;AACjC,uDAA2D;AAC3D,uDAAyD;AACzD,uCAA2C;AAC3C,yCAA6C;AAC7C,uDAA2D;AAE3D;;;;;;;;;;GAUG;AACU,QAAA,YAAY,GAAG;IACxB,GAAG,gDAA2B;IAC9B,GAAG,8BAAkB;IACrB,GAAG,wBAAe;IAClB,GAAG,yBAAe;IAClB,GAAG,wBAAe;IAClB,GAAG,gCAAmB;IACtB,GAAG,0CAAwB;IAC3B,GAAG,gBAAW;IACd,GAAG,0CAAwB;IAC3B,GAAG,wCAAsB;IACzB,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;IACpB,GAAG,0CAAwB;CACN,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG,EAAC,2BAA2B,EAA3B,gDAA2B,EAAE,kBAAkB,EAAlB,8BAAkB,EAAE,eAAe,EAAf,wBAAe,EAAE,eAAe,EAAf,yBAAe,EAAE,eAAe,EAAf,wBAAe,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,WAAW,EAAX,gBAAW,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,sBAAsB,EAAtB,wCAAsB,EAAE,gBAAgB,EAAhB,0BAAgB,EAAE,iBAAiB,EAAjB,4BAAiB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAC,CAAC"}