placementt-core 1.400.1150 → 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 +15 -4
- package/lib/activities.js +39 -6
- package/lib/activities.js.map +1 -1
- package/lib/activities.test.js +43 -7
- package/lib/activities.test.js.map +1 -1
- package/lib/emailSections.js +1 -1
- package/lib/emailSections.js.map +1 -1
- package/lib/typeDefinitions.d.ts +5 -2
- package/lib/typeDefinitions.js.map +1 -1
- package/package.json +1 -1
- package/src/activities.test.ts +49 -6
- package/src/activities.ts +42 -7
- package/src/emailSections.ts +2 -2
- package/src/typeDefinitions.ts +5 -2
package/lib/activities.d.ts
CHANGED
|
@@ -15,18 +15,29 @@ 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"]>;
|
|
30
41
|
/**
|
|
31
42
|
* Orgs whose own (non-public) externalActivities `institute` sees alongside the public
|
|
32
43
|
* ones: itself when it's a careers hub, and every careers hub it has an approved link
|
package/lib/activities.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
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;
|
|
7
9
|
exports.activityOwnerIds = activityOwnerIds;
|
|
@@ -36,28 +38,59 @@ function approvedCareersHubIds(institute) {
|
|
|
36
38
|
.filter(([, link]) => link.status === "approved")
|
|
37
39
|
.map(([hubId]) => hubId);
|
|
38
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
|
+
}
|
|
39
62
|
/**
|
|
40
63
|
* The activityOverrides that apply when `institute` views activities. A hub uses its own.
|
|
41
|
-
* 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,
|
|
42
65
|
* employers and alumni see the hub's wording and not the global one; anything the school
|
|
43
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.
|
|
44
70
|
*/
|
|
45
|
-
function combineActivityOverrides(institute, hubs = []) {
|
|
71
|
+
function combineActivityOverrides(institute, hubs = [], hidingParents = []) {
|
|
46
72
|
const combined = {};
|
|
47
73
|
[...hubs.map((hub) => hub?.activityOverrides), institute?.activityOverrides].forEach((overrides) => Object.entries(overrides || {}).forEach(([id, override]) => {
|
|
48
|
-
|
|
74
|
+
const renames = Object.fromEntries(Object.entries(override).filter(([key]) => key !== "disabled"));
|
|
75
|
+
if (Object.keys(renames).length)
|
|
76
|
+
combined[id] = { ...combined[id], ...renames };
|
|
49
77
|
}));
|
|
78
|
+
[institute, ...hidingParents].flatMap((org) => ownHiddenActivityIds(org)).forEach((id) => {
|
|
79
|
+
combined[id] = { ...combined[id], disabled: true };
|
|
80
|
+
});
|
|
50
81
|
return Object.keys(combined).length ? combined : undefined;
|
|
51
82
|
}
|
|
52
83
|
/**
|
|
53
|
-
* 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
|
|
54
85
|
* caller's own institute fetcher so frontend, backend and core all resolve them the same way.
|
|
55
86
|
*/
|
|
56
87
|
async function loadActivityOverrides(institute, getInstitute) {
|
|
57
88
|
if (!institute)
|
|
58
89
|
return undefined;
|
|
59
|
-
const
|
|
60
|
-
|
|
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]));
|
|
61
94
|
}
|
|
62
95
|
/**
|
|
63
96
|
* Orgs whose own (non-public) externalActivities `institute` sees alongside the public
|
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,10 +44,11 @@ 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
|
});
|
|
@@ -56,4 +66,30 @@ describe("activityOwnerIds", () => {
|
|
|
56
66
|
expect((0, activities_1.activityOwnerIds)(undefined, "x")).toEqual([]);
|
|
57
67
|
});
|
|
58
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
|
+
});
|
|
59
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
|
@@ -300,7 +300,7 @@ const createEmailSectionRenderer = (fetcher, isPreview) => {
|
|
|
300
300
|
]);
|
|
301
301
|
const activitiesRaw = { ...publicActivities, ...hubActivities };
|
|
302
302
|
const hubInstitute = await f.getDocData(["institutes", hubId]).catch(() => undefined);
|
|
303
|
-
const activities = (0, activities_1.resolveActivities)(activitiesRaw, hubInstitute
|
|
303
|
+
const activities = (0, activities_1.resolveActivities)(activitiesRaw, (0, activities_1.combineActivityOverrides)(hubInstitute));
|
|
304
304
|
const activityCounts = Object.fromEntries(Object.entries(activities).map(([activityId, activity]) => {
|
|
305
305
|
const count = contacts.reduce((total, c) => {
|
|
306
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;
|
|
@@ -1360,8 +1363,8 @@ export type ExternalActivity = {
|
|
|
1360
1363
|
provider?: boolean;
|
|
1361
1364
|
permanent?: boolean;
|
|
1362
1365
|
activityType: "workExperience" | "workplaceVisits" | "mentoring" | "mockInterviews" | "other";
|
|
1363
|
-
/** Set by resolveActivities when the viewing institute
|
|
1364
|
-
*
|
|
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. */
|
|
1365
1368
|
disabled?: boolean;
|
|
1366
1369
|
};
|
|
1367
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 {activityOwnerIds, 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,10 +56,11 @@ 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
|
});
|
|
@@ -69,3 +81,34 @@ describe("activityOwnerIds", () => {
|
|
|
69
81
|
expect(activityOwnerIds(undefined, "x")).toEqual([]);
|
|
70
82
|
});
|
|
71
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,35 +34,70 @@ 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]));
|
|
66
101
|
}
|
|
67
102
|
|
|
68
103
|
/**
|
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
|
|
|
@@ -317,7 +317,7 @@ export const createEmailSectionRenderer = (fetcher?: SectionDataFetcher, isPrevi
|
|
|
317
317
|
]);
|
|
318
318
|
const activitiesRaw = {...publicActivities, ...hubActivities};
|
|
319
319
|
const hubInstitute = await f.getDocData(["institutes", hubId]).catch(() => undefined) as InstituteData|undefined;
|
|
320
|
-
const activities = resolveActivities(activitiesRaw, hubInstitute
|
|
320
|
+
const activities = resolveActivities(activitiesRaw, combineActivityOverrides(hubInstitute));
|
|
321
321
|
const activityCounts: Record<string, {value: number, color?: string}> = Object.fromEntries(
|
|
322
322
|
Object.entries(activities).map(([activityId, activity]) => {
|
|
323
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,
|
|
@@ -1390,8 +1393,8 @@ export type ExternalActivity = {
|
|
|
1390
1393
|
provider?: boolean,
|
|
1391
1394
|
permanent?: boolean,
|
|
1392
1395
|
activityType: "workExperience"|"workplaceVisits"|"mentoring"|"mockInterviews"|"other"
|
|
1393
|
-
/** Set by resolveActivities when the viewing institute
|
|
1394
|
-
*
|
|
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. */
|
|
1395
1398
|
disabled?: boolean,
|
|
1396
1399
|
}
|
|
1397
1400
|
|