placementt-core 1.400.1149 → 1.400.1151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/activities.d.ts +23 -4
- package/lib/activities.js +53 -6
- package/lib/activities.js.map +1 -1
- package/lib/activities.test.js +56 -7
- package/lib/activities.test.js.map +1 -1
- package/lib/emailSections.js +7 -2
- package/lib/emailSections.js.map +1 -1
- package/lib/typeDefinitions.d.ts +7 -2
- package/lib/typeDefinitions.js.map +1 -1
- package/package.json +1 -1
- package/src/activities.test.ts +65 -6
- package/src/activities.ts +58 -7
- package/src/emailSections.ts +14 -6
- package/src/typeDefinitions.ts +7 -2
package/lib/activities.d.ts
CHANGED
|
@@ -15,15 +15,34 @@ export declare function resolveActivities(activities: {
|
|
|
15
15
|
};
|
|
16
16
|
/** Ids of the careers hubs an institute has an approved link with. */
|
|
17
17
|
export declare function approvedCareersHubIds(institute?: Pick<InstituteData, "careersHubLinks">): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Orgs whose hidden activities `institute` hides too. A careers school follows its approved
|
|
20
|
+
* hubs. A school follows only the trust it has joined, never a hub it's linked to. Hubs
|
|
21
|
+
* and trusts decide for themselves.
|
|
22
|
+
*/
|
|
23
|
+
export declare function activityHidingParentIds(institute: Pick<InstituteData, "package" | "careersHubLinks" | "trustLinks"> | undefined | null): string[];
|
|
24
|
+
/** Activity ids an org has hidden itself. Hubs hid them with activityOverrides.disabled before hiddenActivities existed. */
|
|
25
|
+
export declare function ownHiddenActivityIds(org?: Pick<InstituteData, "hiddenActivities" | "activityOverrides">): string[];
|
|
18
26
|
/**
|
|
19
27
|
* The activityOverrides that apply when `institute` views activities. A hub uses its own.
|
|
20
|
-
* A school linked to careers hubs inherits each approved hub's
|
|
28
|
+
* A school linked to careers hubs inherits each approved hub's renames, so its staff,
|
|
21
29
|
* employers and alumni see the hub's wording and not the global one; anything the school
|
|
22
30
|
* sets itself wins. Pass the hubs named by approvedCareersHubIds(institute).
|
|
31
|
+
*
|
|
32
|
+
* Hiding is separate: an activity is `disabled` when the institute hides it, or when one of
|
|
33
|
+
* `hidingParents` (named by activityHidingParentIds) does. A school can't unhide those.
|
|
23
34
|
*/
|
|
24
|
-
export declare function combineActivityOverrides(institute?: Pick<InstituteData, "activityOverrides">, hubs?: (Pick<InstituteData, "activityOverrides"> | undefined)[]): InstituteData["activityOverrides"];
|
|
35
|
+
export declare function combineActivityOverrides(institute?: Pick<InstituteData, "activityOverrides" | "hiddenActivities">, hubs?: (Pick<InstituteData, "activityOverrides"> | undefined)[], hidingParents?: (Pick<InstituteData, "activityOverrides" | "hiddenActivities"> | undefined)[]): InstituteData["activityOverrides"];
|
|
25
36
|
/**
|
|
26
|
-
* Loads the hubs an institute is linked to and returns its combined overrides. Takes the
|
|
37
|
+
* Loads the hubs and trust an institute is linked to and returns its combined overrides. Takes the
|
|
27
38
|
* caller's own institute fetcher so frontend, backend and core all resolve them the same way.
|
|
28
39
|
*/
|
|
29
|
-
export declare function loadActivityOverrides(institute: Pick<InstituteData, "activityOverrides" | "careersHubLinks"> | undefined | null, getInstitute: (oId: string) => Promise<InstituteData | undefined | null>): Promise<InstituteData["activityOverrides"]>;
|
|
40
|
+
export declare function loadActivityOverrides(institute: Pick<InstituteData, "activityOverrides" | "hiddenActivities" | "careersHubLinks" | "trustLinks" | "package"> | undefined | null, getInstitute: (oId: string) => Promise<InstituteData | undefined | null>): Promise<InstituteData["activityOverrides"]>;
|
|
41
|
+
/**
|
|
42
|
+
* Orgs whose own (non-public) externalActivities `institute` sees alongside the public
|
|
43
|
+
* ones: itself when it's a careers hub, and every careers hub it has an approved link
|
|
44
|
+
* with. A hub's own activities therefore reach its schools, and the employers and alumni
|
|
45
|
+
* joining through them, the same way its overrides do. Query them with
|
|
46
|
+
* `oId in activityOwnerIds(...)` and `public == false`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function activityOwnerIds(institute: Pick<InstituteData, "package" | "careersHubLinks"> | undefined | null, oId?: string): string[];
|
package/lib/activities.js
CHANGED
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveActivities = resolveActivities;
|
|
4
4
|
exports.approvedCareersHubIds = approvedCareersHubIds;
|
|
5
|
+
exports.activityHidingParentIds = activityHidingParentIds;
|
|
6
|
+
exports.ownHiddenActivityIds = ownHiddenActivityIds;
|
|
5
7
|
exports.combineActivityOverrides = combineActivityOverrides;
|
|
6
8
|
exports.loadActivityOverrides = loadActivityOverrides;
|
|
9
|
+
exports.activityOwnerIds = activityOwnerIds;
|
|
7
10
|
/**
|
|
8
11
|
* Applies a hub's activityOverrides to a set of public activities. Every read path
|
|
9
12
|
* (frontend and backend) must pass fetched externalActivities through this before
|
|
@@ -35,27 +38,71 @@ function approvedCareersHubIds(institute) {
|
|
|
35
38
|
.filter(([, link]) => link.status === "approved")
|
|
36
39
|
.map(([hubId]) => hubId);
|
|
37
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Orgs whose hidden activities `institute` hides too. A careers school follows its approved
|
|
43
|
+
* hubs. A school follows only the trust it has joined, never a hub it's linked to. Hubs
|
|
44
|
+
* and trusts decide for themselves.
|
|
45
|
+
*/
|
|
46
|
+
function activityHidingParentIds(institute) {
|
|
47
|
+
if (institute?.package === "careersSchool")
|
|
48
|
+
return approvedCareersHubIds(institute);
|
|
49
|
+
// Same as workflows' approvedTrustId, which can't be imported here without pulling in Firebase.
|
|
50
|
+
if (institute?.package === "institutes-one") {
|
|
51
|
+
return Object.entries(institute.trustLinks || {}).filter(([, link]) => link.status === "approved").map(([oId]) => oId).slice(0, 1);
|
|
52
|
+
}
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
/** Activity ids an org has hidden itself. Hubs hid them with activityOverrides.disabled before hiddenActivities existed. */
|
|
56
|
+
function ownHiddenActivityIds(org) {
|
|
57
|
+
return [...new Set([
|
|
58
|
+
...(org?.hiddenActivities || []),
|
|
59
|
+
...Object.entries(org?.activityOverrides || {}).filter(([, o]) => o.disabled).map(([id]) => id),
|
|
60
|
+
])];
|
|
61
|
+
}
|
|
38
62
|
/**
|
|
39
63
|
* The activityOverrides that apply when `institute` views activities. A hub uses its own.
|
|
40
|
-
* A school linked to careers hubs inherits each approved hub's
|
|
64
|
+
* A school linked to careers hubs inherits each approved hub's renames, so its staff,
|
|
41
65
|
* employers and alumni see the hub's wording and not the global one; anything the school
|
|
42
66
|
* sets itself wins. Pass the hubs named by approvedCareersHubIds(institute).
|
|
67
|
+
*
|
|
68
|
+
* Hiding is separate: an activity is `disabled` when the institute hides it, or when one of
|
|
69
|
+
* `hidingParents` (named by activityHidingParentIds) does. A school can't unhide those.
|
|
43
70
|
*/
|
|
44
|
-
function combineActivityOverrides(institute, hubs = []) {
|
|
71
|
+
function combineActivityOverrides(institute, hubs = [], hidingParents = []) {
|
|
45
72
|
const combined = {};
|
|
46
73
|
[...hubs.map((hub) => hub?.activityOverrides), institute?.activityOverrides].forEach((overrides) => Object.entries(overrides || {}).forEach(([id, override]) => {
|
|
47
|
-
|
|
74
|
+
const renames = Object.fromEntries(Object.entries(override).filter(([key]) => key !== "disabled"));
|
|
75
|
+
if (Object.keys(renames).length)
|
|
76
|
+
combined[id] = { ...combined[id], ...renames };
|
|
48
77
|
}));
|
|
78
|
+
[institute, ...hidingParents].flatMap((org) => ownHiddenActivityIds(org)).forEach((id) => {
|
|
79
|
+
combined[id] = { ...combined[id], disabled: true };
|
|
80
|
+
});
|
|
49
81
|
return Object.keys(combined).length ? combined : undefined;
|
|
50
82
|
}
|
|
51
83
|
/**
|
|
52
|
-
* Loads the hubs an institute is linked to and returns its combined overrides. Takes the
|
|
84
|
+
* Loads the hubs and trust an institute is linked to and returns its combined overrides. Takes the
|
|
53
85
|
* caller's own institute fetcher so frontend, backend and core all resolve them the same way.
|
|
54
86
|
*/
|
|
55
87
|
async function loadActivityOverrides(institute, getInstitute) {
|
|
56
88
|
if (!institute)
|
|
57
89
|
return undefined;
|
|
58
|
-
const
|
|
59
|
-
|
|
90
|
+
const hubIds = approvedCareersHubIds(institute);
|
|
91
|
+
const parentIds = activityHidingParentIds(institute);
|
|
92
|
+
const orgs = Object.fromEntries(await Promise.all([...new Set([...hubIds, ...parentIds])].map(async (oId) => [oId, (await getInstitute(oId).catch(() => undefined)) ?? undefined])));
|
|
93
|
+
return combineActivityOverrides(institute, hubIds.map((oId) => orgs[oId]), parentIds.map((oId) => orgs[oId]));
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Orgs whose own (non-public) externalActivities `institute` sees alongside the public
|
|
97
|
+
* ones: itself when it's a careers hub, and every careers hub it has an approved link
|
|
98
|
+
* with. A hub's own activities therefore reach its schools, and the employers and alumni
|
|
99
|
+
* joining through them, the same way its overrides do. Query them with
|
|
100
|
+
* `oId in activityOwnerIds(...)` and `public == false`.
|
|
101
|
+
*/
|
|
102
|
+
function activityOwnerIds(institute, oId) {
|
|
103
|
+
if (!institute)
|
|
104
|
+
return [];
|
|
105
|
+
const own = institute.package === "careersHub" && oId ? [oId] : [];
|
|
106
|
+
return [...new Set([...own, ...approvedCareersHubIds(institute)])];
|
|
60
107
|
}
|
|
61
108
|
//# sourceMappingURL=activities.js.map
|
package/lib/activities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":";;AAWA,8CAgBC;AAGD,sDAIC;
|
|
1
|
+
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":"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"}
|
package/lib/activities.test.js
CHANGED
|
@@ -20,9 +20,18 @@ describe("combineActivityOverrides", () => {
|
|
|
20
20
|
expect((0, activities_1.combineActivityOverrides)({ activityOverrides: { a: { title: "Networking Activity" } } }))
|
|
21
21
|
.toEqual({ a: { title: "Networking Activity" } });
|
|
22
22
|
});
|
|
23
|
-
it("gives a linked school its hub's
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
it("gives a linked school its hub's renames, and its hides only when the hub is a hiding parent", () => {
|
|
24
|
+
const hub = { activityOverrides: { a: { title: "Employer Workshop", disabled: false }, b: { disabled: true } } };
|
|
25
|
+
expect((0, activities_1.combineActivityOverrides)({}, [hub])).toEqual({ a: { title: "Employer Workshop" } });
|
|
26
|
+
expect((0, activities_1.combineActivityOverrides)({}, [hub], [hub])).toEqual({ a: { title: "Employer Workshop" }, b: { disabled: true } });
|
|
27
|
+
});
|
|
28
|
+
it("hides the institute's own and its hiding parents' hiddenActivities", () => {
|
|
29
|
+
expect((0, activities_1.combineActivityOverrides)({ hiddenActivities: ["a"] }, [], [{ hiddenActivities: ["b"] }]))
|
|
30
|
+
.toEqual({ a: { disabled: true }, b: { disabled: true } });
|
|
31
|
+
});
|
|
32
|
+
it("doesn't let a school unhide what its parent hid", () => {
|
|
33
|
+
expect((0, activities_1.combineActivityOverrides)({ activityOverrides: { a: { disabled: false } } }, [], [{ hiddenActivities: ["a"] }]))
|
|
34
|
+
.toEqual({ a: { disabled: true } });
|
|
26
35
|
});
|
|
27
36
|
it("lets the school's own override win, field by field", () => {
|
|
28
37
|
expect((0, activities_1.combineActivityOverrides)({ activityOverrides: { a: { description: "School wording" } } }, [{ activityOverrides: { a: { title: "Hub title", description: "Hub wording" } } }])).toEqual({ a: { title: "Hub title", description: "School wording" } });
|
|
@@ -35,12 +44,52 @@ describe("combineActivityOverrides", () => {
|
|
|
35
44
|
a: { title: "CV/Personal Statements", description: "", color: "#000", activityType: "other" },
|
|
36
45
|
b: { title: "Short Placement", description: "", color: "#000", activityType: "workExperience" },
|
|
37
46
|
};
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
const hub = { activityOverrides: {
|
|
48
|
+
a: { title: "Employer Workshop" },
|
|
49
|
+
b: { disabled: true },
|
|
50
|
+
} };
|
|
51
|
+
const resolved = (0, activities_1.resolveActivities)(activities, (0, activities_1.combineActivityOverrides)({}, [hub], [hub]));
|
|
42
52
|
expect(resolved.a.title).toBe("Employer Workshop");
|
|
43
53
|
expect(resolved.b.disabled).toBe(true);
|
|
44
54
|
});
|
|
45
55
|
});
|
|
56
|
+
describe("activityOwnerIds", () => {
|
|
57
|
+
it("includes a hub itself, but not a school", () => {
|
|
58
|
+
expect((0, activities_1.activityOwnerIds)({ package: "careersHub" }, "hub1")).toEqual(["hub1"]);
|
|
59
|
+
expect((0, activities_1.activityOwnerIds)({ package: "institutes-one" }, "school1")).toEqual([]);
|
|
60
|
+
});
|
|
61
|
+
it("includes each approved hub a school is linked to", () => {
|
|
62
|
+
const school = { package: "careersSchool", careersHubLinks: { hubA: link("approved"), hubB: link("invited") } };
|
|
63
|
+
expect((0, activities_1.activityOwnerIds)(school, "school1")).toEqual(["hubA"]);
|
|
64
|
+
});
|
|
65
|
+
it("returns nothing without an institute", () => {
|
|
66
|
+
expect((0, activities_1.activityOwnerIds)(undefined, "x")).toEqual([]);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe("activityHidingParentIds", () => {
|
|
70
|
+
const hubLinks = { careersHubLinks: { hubA: link("approved"), hubB: link("invited") } };
|
|
71
|
+
const trustLinks = { trustLinks: { trust1: link("approved") } };
|
|
72
|
+
it("makes a careers school follow its approved hubs", () => {
|
|
73
|
+
expect((0, activities_1.activityHidingParentIds)({ package: "careersSchool", ...hubLinks, ...trustLinks })).toEqual(["hubA"]);
|
|
74
|
+
});
|
|
75
|
+
it("makes a school follow its trust, never its hubs", () => {
|
|
76
|
+
expect((0, activities_1.activityHidingParentIds)({ package: "institutes-one", ...hubLinks, ...trustLinks })).toEqual(["trust1"]);
|
|
77
|
+
expect((0, activities_1.activityHidingParentIds)({ package: "institutes-one", ...hubLinks })).toEqual([]);
|
|
78
|
+
});
|
|
79
|
+
it("lets hubs and trusts decide for themselves", () => {
|
|
80
|
+
expect((0, activities_1.activityHidingParentIds)({ package: "careersHub", ...hubLinks })).toEqual([]);
|
|
81
|
+
expect((0, activities_1.activityHidingParentIds)({ package: "institutes-two", ...trustLinks })).toEqual([]);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe("loadActivityOverrides", () => {
|
|
85
|
+
it("gives a trust school its hub's renames and its trust's hides", async () => {
|
|
86
|
+
const orgs = {
|
|
87
|
+
hubA: { activityOverrides: { a: { title: "Hub title", disabled: true } } },
|
|
88
|
+
trust1: { hiddenActivities: ["b"] },
|
|
89
|
+
};
|
|
90
|
+
const school = { package: "institutes-one", careersHubLinks: { hubA: link("approved") }, trustLinks: { trust1: link("approved") } };
|
|
91
|
+
expect(await (0, activities_1.loadActivityOverrides)(school, async (oId) => orgs[oId]))
|
|
92
|
+
.toEqual({ a: { title: "Hub title" }, b: { disabled: true } });
|
|
93
|
+
});
|
|
94
|
+
});
|
|
46
95
|
//# sourceMappingURL=activities.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.test.js","sourceRoot":"","sources":["../src/activities.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"activities.test.js","sourceRoot":"","sources":["../src/activities.test.ts"],"names":[],"mappings":"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"}
|
package/lib/emailSections.js
CHANGED
|
@@ -293,9 +293,14 @@ const createEmailSectionRenderer = (fetcher, isPreview) => {
|
|
|
293
293
|
sectorCounts[sector] = { value: 0, color: constants_1.sectorColours[sector] };
|
|
294
294
|
sectorCounts[sector].value += 1;
|
|
295
295
|
});
|
|
296
|
-
const
|
|
296
|
+
const [publicActivities, hubActivities] = await Promise.all([
|
|
297
|
+
f.getDocsWhere(["externalActivities"], [{ field: "public", op: "==", value: true }]),
|
|
298
|
+
// Activities the hub added itself.
|
|
299
|
+
f.getDocsWhere(["externalActivities"], [{ field: "oId", op: "==", value: hubId }, { field: "public", op: "==", value: false }]).catch(() => ({})),
|
|
300
|
+
]);
|
|
301
|
+
const activitiesRaw = { ...publicActivities, ...hubActivities };
|
|
297
302
|
const hubInstitute = await f.getDocData(["institutes", hubId]).catch(() => undefined);
|
|
298
|
-
const activities = (0, activities_1.resolveActivities)(activitiesRaw, hubInstitute
|
|
303
|
+
const activities = (0, activities_1.resolveActivities)(activitiesRaw, (0, activities_1.combineActivityOverrides)(hubInstitute));
|
|
299
304
|
const activityCounts = Object.fromEntries(Object.entries(activities).map(([activityId, activity]) => {
|
|
300
305
|
const count = contacts.reduce((total, c) => {
|
|
301
306
|
const acts = c.savedBy?.[hubId]?.activities ?? [];
|
package/lib/emailSections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailSections.js","sourceRoot":"","sources":["../src/emailSections.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emailSections.js","sourceRoot":"","sources":["../src/emailSections.ts"],"names":[],"mappings":"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"}
|
package/lib/typeDefinitions.d.ts
CHANGED
|
@@ -1142,6 +1142,9 @@ export type InstituteData = {
|
|
|
1142
1142
|
}[];
|
|
1143
1143
|
};
|
|
1144
1144
|
};
|
|
1145
|
+
/** externalActivities ids this org has hidden from its platform. A careers school also
|
|
1146
|
+
* hides those its hubs hide, and a school those its trust hides; see activityHidingParentIds. */
|
|
1147
|
+
hiddenActivities?: string[];
|
|
1145
1148
|
activityOverrides?: {
|
|
1146
1149
|
[externalActivityId: string]: {
|
|
1147
1150
|
disabled?: boolean;
|
|
@@ -1353,13 +1356,15 @@ export type ExternalActivity = {
|
|
|
1353
1356
|
image?: string;
|
|
1354
1357
|
color: string;
|
|
1355
1358
|
public?: boolean;
|
|
1359
|
+
/** Set, with `public: false`, on an activity a careers hub added for itself. Seen by
|
|
1360
|
+
* the hub and its approved schools; see activityOwnerIds. */
|
|
1356
1361
|
oId?: string;
|
|
1357
1362
|
alumni?: boolean;
|
|
1358
1363
|
provider?: boolean;
|
|
1359
1364
|
permanent?: boolean;
|
|
1360
1365
|
activityType: "workExperience" | "workplaceVisits" | "mentoring" | "mockInterviews" | "other";
|
|
1361
|
-
/** Set by resolveActivities when the viewing institute
|
|
1362
|
-
*
|
|
1366
|
+
/** Set by resolveActivities when the viewing institute hides this activity, or inherits
|
|
1367
|
+
* the hide from its hub or trust. Never stored on the externalActivities doc itself. */
|
|
1363
1368
|
disabled?: boolean;
|
|
1364
1369
|
};
|
|
1365
1370
|
export type NotificationObject = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AA8nIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AAjoED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA6iEzC;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
package/src/activities.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {approvedCareersHubIds, combineActivityOverrides, resolveActivities} from "./activities";
|
|
1
|
+
import {activityHidingParentIds, activityOwnerIds, approvedCareersHubIds, combineActivityOverrides, loadActivityOverrides, resolveActivities} from "./activities";
|
|
2
2
|
import {ExternalActivity, InstituteData} from "./typeDefinitions";
|
|
3
3
|
|
|
4
4
|
const link = (status: "invited"|"approved"|"declined") => ({exists: true, invited: "2026-09-01", status});
|
|
@@ -24,9 +24,20 @@ describe("combineActivityOverrides", () => {
|
|
|
24
24
|
.toEqual({a: {title: "Networking Activity"}});
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
it("gives a linked school its hub's
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
it("gives a linked school its hub's renames, and its hides only when the hub is a hiding parent", () => {
|
|
28
|
+
const hub = {activityOverrides: {a: {title: "Employer Workshop", disabled: false}, b: {disabled: true}}};
|
|
29
|
+
expect(combineActivityOverrides({}, [hub])).toEqual({a: {title: "Employer Workshop"}});
|
|
30
|
+
expect(combineActivityOverrides({}, [hub], [hub])).toEqual({a: {title: "Employer Workshop"}, b: {disabled: true}});
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("hides the institute's own and its hiding parents' hiddenActivities", () => {
|
|
34
|
+
expect(combineActivityOverrides({hiddenActivities: ["a"]}, [], [{hiddenActivities: ["b"]}]))
|
|
35
|
+
.toEqual({a: {disabled: true}, b: {disabled: true}});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("doesn't let a school unhide what its parent hid", () => {
|
|
39
|
+
expect(combineActivityOverrides({activityOverrides: {a: {disabled: false}}}, [], [{hiddenActivities: ["a"]}]))
|
|
40
|
+
.toEqual({a: {disabled: true}});
|
|
30
41
|
});
|
|
31
42
|
|
|
32
43
|
it("lets the school's own override win, field by field", () => {
|
|
@@ -45,11 +56,59 @@ describe("combineActivityOverrides", () => {
|
|
|
45
56
|
a: {title: "CV/Personal Statements", description: "", color: "#000", activityType: "other"},
|
|
46
57
|
b: {title: "Short Placement", description: "", color: "#000", activityType: "workExperience"},
|
|
47
58
|
};
|
|
48
|
-
const
|
|
59
|
+
const hub = {activityOverrides: {
|
|
49
60
|
a: {title: "Employer Workshop"},
|
|
50
61
|
b: {disabled: true},
|
|
51
|
-
}}
|
|
62
|
+
}};
|
|
63
|
+
const resolved = resolveActivities(activities, combineActivityOverrides({}, [hub], [hub]));
|
|
52
64
|
expect(resolved.a.title).toBe("Employer Workshop");
|
|
53
65
|
expect(resolved.b.disabled).toBe(true);
|
|
54
66
|
});
|
|
55
67
|
});
|
|
68
|
+
|
|
69
|
+
describe("activityOwnerIds", () => {
|
|
70
|
+
it("includes a hub itself, but not a school", () => {
|
|
71
|
+
expect(activityOwnerIds({package: "careersHub"} as InstituteData, "hub1")).toEqual(["hub1"]);
|
|
72
|
+
expect(activityOwnerIds({package: "institutes-one"} as InstituteData, "school1")).toEqual([]);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("includes each approved hub a school is linked to", () => {
|
|
76
|
+
const school = {package: "careersSchool", careersHubLinks: {hubA: link("approved"), hubB: link("invited")}} as unknown as InstituteData;
|
|
77
|
+
expect(activityOwnerIds(school, "school1")).toEqual(["hubA"]);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("returns nothing without an institute", () => {
|
|
81
|
+
expect(activityOwnerIds(undefined, "x")).toEqual([]);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
describe("activityHidingParentIds", () => {
|
|
86
|
+
const hubLinks = {careersHubLinks: {hubA: link("approved"), hubB: link("invited")}};
|
|
87
|
+
const trustLinks = {trustLinks: {trust1: link("approved")}};
|
|
88
|
+
|
|
89
|
+
it("makes a careers school follow its approved hubs", () => {
|
|
90
|
+
expect(activityHidingParentIds({package: "careersSchool", ...hubLinks, ...trustLinks} as unknown as InstituteData)).toEqual(["hubA"]);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it("makes a school follow its trust, never its hubs", () => {
|
|
94
|
+
expect(activityHidingParentIds({package: "institutes-one", ...hubLinks, ...trustLinks} as unknown as InstituteData)).toEqual(["trust1"]);
|
|
95
|
+
expect(activityHidingParentIds({package: "institutes-one", ...hubLinks} as unknown as InstituteData)).toEqual([]);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it("lets hubs and trusts decide for themselves", () => {
|
|
99
|
+
expect(activityHidingParentIds({package: "careersHub", ...hubLinks} as unknown as InstituteData)).toEqual([]);
|
|
100
|
+
expect(activityHidingParentIds({package: "institutes-two", ...trustLinks} as unknown as InstituteData)).toEqual([]);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
describe("loadActivityOverrides", () => {
|
|
105
|
+
it("gives a trust school its hub's renames and its trust's hides", async () => {
|
|
106
|
+
const orgs: {[oId: string]: Partial<InstituteData>} = {
|
|
107
|
+
hubA: {activityOverrides: {a: {title: "Hub title", disabled: true}}},
|
|
108
|
+
trust1: {hiddenActivities: ["b"]},
|
|
109
|
+
};
|
|
110
|
+
const school = {package: "institutes-one", careersHubLinks: {hubA: link("approved")}, trustLinks: {trust1: link("approved")}} as unknown as InstituteData;
|
|
111
|
+
expect(await loadActivityOverrides(school, async (oId) => orgs[oId] as InstituteData))
|
|
112
|
+
.toEqual({a: {title: "Hub title"}, b: {disabled: true}});
|
|
113
|
+
});
|
|
114
|
+
});
|
package/src/activities.ts
CHANGED
|
@@ -34,33 +34,84 @@ export function approvedCareersHubIds(institute?: Pick<InstituteData, "careersHu
|
|
|
34
34
|
.map(([hubId]) => hubId);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Orgs whose hidden activities `institute` hides too. A careers school follows its approved
|
|
39
|
+
* hubs. A school follows only the trust it has joined, never a hub it's linked to. Hubs
|
|
40
|
+
* and trusts decide for themselves.
|
|
41
|
+
*/
|
|
42
|
+
export function activityHidingParentIds(
|
|
43
|
+
institute: Pick<InstituteData, "package"|"careersHubLinks"|"trustLinks">|undefined|null,
|
|
44
|
+
): string[] {
|
|
45
|
+
if (institute?.package === "careersSchool") return approvedCareersHubIds(institute);
|
|
46
|
+
// Same as workflows' approvedTrustId, which can't be imported here without pulling in Firebase.
|
|
47
|
+
if (institute?.package === "institutes-one") {
|
|
48
|
+
return Object.entries(institute.trustLinks || {}).filter(([, link]) => link.status === "approved").map(([oId]) => oId).slice(0, 1);
|
|
49
|
+
}
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Activity ids an org has hidden itself. Hubs hid them with activityOverrides.disabled before hiddenActivities existed. */
|
|
54
|
+
export function ownHiddenActivityIds(org?: Pick<InstituteData, "hiddenActivities"|"activityOverrides">): string[] {
|
|
55
|
+
return [...new Set([
|
|
56
|
+
...(org?.hiddenActivities || []),
|
|
57
|
+
...Object.entries(org?.activityOverrides || {}).filter(([, o]) => o.disabled).map(([id]) => id),
|
|
58
|
+
])];
|
|
59
|
+
}
|
|
60
|
+
|
|
37
61
|
/**
|
|
38
62
|
* The activityOverrides that apply when `institute` views activities. A hub uses its own.
|
|
39
|
-
* A school linked to careers hubs inherits each approved hub's
|
|
63
|
+
* A school linked to careers hubs inherits each approved hub's renames, so its staff,
|
|
40
64
|
* employers and alumni see the hub's wording and not the global one; anything the school
|
|
41
65
|
* sets itself wins. Pass the hubs named by approvedCareersHubIds(institute).
|
|
66
|
+
*
|
|
67
|
+
* Hiding is separate: an activity is `disabled` when the institute hides it, or when one of
|
|
68
|
+
* `hidingParents` (named by activityHidingParentIds) does. A school can't unhide those.
|
|
42
69
|
*/
|
|
43
70
|
export function combineActivityOverrides(
|
|
44
|
-
institute?: Pick<InstituteData, "activityOverrides">,
|
|
71
|
+
institute?: Pick<InstituteData, "activityOverrides"|"hiddenActivities">,
|
|
45
72
|
hubs: (Pick<InstituteData, "activityOverrides">|undefined)[] = [],
|
|
73
|
+
hidingParents: (Pick<InstituteData, "activityOverrides"|"hiddenActivities">|undefined)[] = [],
|
|
46
74
|
): InstituteData["activityOverrides"] {
|
|
47
75
|
const combined: NonNullable<InstituteData["activityOverrides"]> = {};
|
|
48
76
|
[...hubs.map((hub) => hub?.activityOverrides), institute?.activityOverrides].forEach((overrides) =>
|
|
49
77
|
Object.entries(overrides || {}).forEach(([id, override]) => {
|
|
50
|
-
|
|
78
|
+
const renames = Object.fromEntries(Object.entries(override).filter(([key]) => key !== "disabled"));
|
|
79
|
+
if (Object.keys(renames).length) combined[id] = {...combined[id], ...renames};
|
|
51
80
|
}));
|
|
81
|
+
[institute, ...hidingParents].flatMap((org) => ownHiddenActivityIds(org)).forEach((id) => {
|
|
82
|
+
combined[id] = {...combined[id], disabled: true};
|
|
83
|
+
});
|
|
52
84
|
return Object.keys(combined).length ? combined : undefined;
|
|
53
85
|
}
|
|
54
86
|
|
|
55
87
|
/**
|
|
56
|
-
* Loads the hubs an institute is linked to and returns its combined overrides. Takes the
|
|
88
|
+
* Loads the hubs and trust an institute is linked to and returns its combined overrides. Takes the
|
|
57
89
|
* caller's own institute fetcher so frontend, backend and core all resolve them the same way.
|
|
58
90
|
*/
|
|
59
91
|
export async function loadActivityOverrides(
|
|
60
|
-
institute: Pick<InstituteData, "activityOverrides"|"careersHubLinks">|undefined|null,
|
|
92
|
+
institute: Pick<InstituteData, "activityOverrides"|"hiddenActivities"|"careersHubLinks"|"trustLinks"|"package">|undefined|null,
|
|
61
93
|
getInstitute: (oId: string) => Promise<InstituteData|undefined|null>,
|
|
62
94
|
): Promise<InstituteData["activityOverrides"]> {
|
|
63
95
|
if (!institute) return undefined;
|
|
64
|
-
const
|
|
65
|
-
|
|
96
|
+
const hubIds = approvedCareersHubIds(institute);
|
|
97
|
+
const parentIds = activityHidingParentIds(institute);
|
|
98
|
+
const orgs = Object.fromEntries(await Promise.all([...new Set([...hubIds, ...parentIds])].map(async (oId) =>
|
|
99
|
+
[oId, (await getInstitute(oId).catch(() => undefined)) ?? undefined] as const)));
|
|
100
|
+
return combineActivityOverrides(institute, hubIds.map((oId) => orgs[oId]), parentIds.map((oId) => orgs[oId]));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Orgs whose own (non-public) externalActivities `institute` sees alongside the public
|
|
105
|
+
* ones: itself when it's a careers hub, and every careers hub it has an approved link
|
|
106
|
+
* with. A hub's own activities therefore reach its schools, and the employers and alumni
|
|
107
|
+
* joining through them, the same way its overrides do. Query them with
|
|
108
|
+
* `oId in activityOwnerIds(...)` and `public == false`.
|
|
109
|
+
*/
|
|
110
|
+
export function activityOwnerIds(
|
|
111
|
+
institute: Pick<InstituteData, "package"|"careersHubLinks">|undefined|null,
|
|
112
|
+
oId?: string,
|
|
113
|
+
): string[] {
|
|
114
|
+
if (!institute) return [];
|
|
115
|
+
const own = institute.package === "careersHub" && oId ? [oId] : [];
|
|
116
|
+
return [...new Set([...own, ...approvedCareersHubIds(institute)])];
|
|
66
117
|
}
|
package/src/emailSections.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {where} from "firebase/firestore";
|
|
2
2
|
import FirebaseQuery from "./firebase/firebaseQuery";
|
|
3
3
|
import {convertDate} from "./firebase/util";
|
|
4
|
-
import {loadActivityOverrides, resolveActivities} from "./activities";
|
|
4
|
+
import {combineActivityOverrides, loadActivityOverrides, resolveActivities} from "./activities";
|
|
5
5
|
import {EmailSectionConfig, EmailSectionRenderProps, ExternalActivity, ExternalEvent, ExternalEventAttendee, ExternalEventRequest, InstituteData, ProviderContactData, SectionDataFetcher, SectionFallback} from "./typeDefinitions";
|
|
6
6
|
import {sectorColours} from "./constants";
|
|
7
7
|
|
|
@@ -304,12 +304,20 @@ export const createEmailSectionRenderer = (fetcher?: SectionDataFetcher, isPrevi
|
|
|
304
304
|
sectorCounts[sector].value += 1;
|
|
305
305
|
});
|
|
306
306
|
|
|
307
|
-
const
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
307
|
+
const [publicActivities, hubActivities] = await Promise.all([
|
|
308
|
+
f.getDocsWhere<ExternalActivity>(
|
|
309
|
+
["externalActivities"],
|
|
310
|
+
[{field: "public", op: "==", value: true}]
|
|
311
|
+
),
|
|
312
|
+
// Activities the hub added itself.
|
|
313
|
+
f.getDocsWhere<ExternalActivity>(
|
|
314
|
+
["externalActivities"],
|
|
315
|
+
[{field: "oId", op: "==", value: hubId}, {field: "public", op: "==", value: false}]
|
|
316
|
+
).catch(() => ({})),
|
|
317
|
+
]);
|
|
318
|
+
const activitiesRaw = {...publicActivities, ...hubActivities};
|
|
311
319
|
const hubInstitute = await f.getDocData(["institutes", hubId]).catch(() => undefined) as InstituteData|undefined;
|
|
312
|
-
const activities = resolveActivities(activitiesRaw, hubInstitute
|
|
320
|
+
const activities = resolveActivities(activitiesRaw, combineActivityOverrides(hubInstitute));
|
|
313
321
|
const activityCounts: Record<string, {value: number, color?: string}> = Object.fromEntries(
|
|
314
322
|
Object.entries(activities).map(([activityId, activity]) => {
|
|
315
323
|
const count = contacts.reduce((total, c) => {
|
package/src/typeDefinitions.ts
CHANGED
|
@@ -1175,6 +1175,9 @@ export type InstituteData = {
|
|
|
1175
1175
|
messageId?: string,
|
|
1176
1176
|
}[]
|
|
1177
1177
|
}},
|
|
1178
|
+
/** externalActivities ids this org has hidden from its platform. A careers school also
|
|
1179
|
+
* hides those its hubs hide, and a school those its trust hides; see activityHidingParentIds. */
|
|
1180
|
+
hiddenActivities?: string[],
|
|
1178
1181
|
activityOverrides?: {[externalActivityId: string]: { // Customisations of existing hard-coded activities by a hub.
|
|
1179
1182
|
disabled?: boolean,
|
|
1180
1183
|
title?: string,
|
|
@@ -1383,13 +1386,15 @@ export type ExternalActivity = {
|
|
|
1383
1386
|
image?: string,
|
|
1384
1387
|
color: string,
|
|
1385
1388
|
public?: boolean,
|
|
1389
|
+
/** Set, with `public: false`, on an activity a careers hub added for itself. Seen by
|
|
1390
|
+
* the hub and its approved schools; see activityOwnerIds. */
|
|
1386
1391
|
oId?: string,
|
|
1387
1392
|
alumni?: boolean,
|
|
1388
1393
|
provider?: boolean,
|
|
1389
1394
|
permanent?: boolean,
|
|
1390
1395
|
activityType: "workExperience"|"workplaceVisits"|"mentoring"|"mockInterviews"|"other"
|
|
1391
|
-
/** Set by resolveActivities when the viewing institute
|
|
1392
|
-
*
|
|
1396
|
+
/** Set by resolveActivities when the viewing institute hides this activity, or inherits
|
|
1397
|
+
* the hide from its hub or trust. Never stored on the externalActivities doc itself. */
|
|
1393
1398
|
disabled?: boolean,
|
|
1394
1399
|
}
|
|
1395
1400
|
|