placementt-core 1.400.1004 → 1.400.1006
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/callables/registry.d.ts +0 -20
- package/lib/callables/surveys.d.ts +0 -10
- package/lib/callables/surveys.js +5 -5
- package/lib/callables/surveys.js.map +1 -1
- package/lib/firebase/util.js +10 -4
- package/lib/firebase/util.js.map +1 -1
- package/lib/groups.d.ts +121 -0
- package/lib/groups.js +117 -0
- package/lib/groups.js.map +1 -0
- package/lib/groups.test.d.ts +1 -0
- package/lib/groups.test.js +138 -0
- package/lib/groups.test.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/typeDefinitions.d.ts +55 -1
- package/package.json +1 -1
- package/src/callables/surveys.ts +5 -5
- package/src/firebase/util.tsx +10 -4
- package/src/groups.test.ts +173 -0
- package/src/groups.ts +215 -0
- package/src/index.ts +1 -0
- package/src/typeDefinitions.ts +57 -2
|
@@ -371,16 +371,6 @@ export declare const allCallables: {
|
|
|
371
371
|
rolledForward: boolean;
|
|
372
372
|
}>;
|
|
373
373
|
};
|
|
374
|
-
"surveys-getMySurveyRequest": {
|
|
375
|
-
request: z.ZodObject<{
|
|
376
|
-
requestId: z.ZodString;
|
|
377
|
-
}, "strip", z.ZodTypeAny, {
|
|
378
|
-
requestId: string;
|
|
379
|
-
}, {
|
|
380
|
-
requestId: string;
|
|
381
|
-
}>;
|
|
382
|
-
response: z.ZodAny;
|
|
383
|
-
};
|
|
384
374
|
"surveys-getPublicSurveyRequest": {
|
|
385
375
|
request: z.ZodObject<{
|
|
386
376
|
requestId: z.ZodString;
|
|
@@ -1035,16 +1025,6 @@ export declare const callableGroups: {
|
|
|
1035
1025
|
rolledForward: boolean;
|
|
1036
1026
|
}>;
|
|
1037
1027
|
};
|
|
1038
|
-
"surveys-getMySurveyRequest": {
|
|
1039
|
-
request: z.ZodObject<{
|
|
1040
|
-
requestId: z.ZodString;
|
|
1041
|
-
}, "strip", z.ZodTypeAny, {
|
|
1042
|
-
requestId: string;
|
|
1043
|
-
}, {
|
|
1044
|
-
requestId: string;
|
|
1045
|
-
}>;
|
|
1046
|
-
response: z.ZodAny;
|
|
1047
|
-
};
|
|
1048
1028
|
"surveys-getPublicSurveyRequest": {
|
|
1049
1029
|
request: z.ZodObject<{
|
|
1050
1030
|
requestId: z.ZodString;
|
|
@@ -380,16 +380,6 @@ export declare const surveyCallables: {
|
|
|
380
380
|
rolledForward: boolean;
|
|
381
381
|
}>;
|
|
382
382
|
};
|
|
383
|
-
"surveys-getMySurveyRequest": {
|
|
384
|
-
request: z.ZodObject<{
|
|
385
|
-
requestId: z.ZodString;
|
|
386
|
-
}, "strip", z.ZodTypeAny, {
|
|
387
|
-
requestId: string;
|
|
388
|
-
}, {
|
|
389
|
-
requestId: string;
|
|
390
|
-
}>;
|
|
391
|
-
response: z.ZodAny;
|
|
392
|
-
};
|
|
393
383
|
"surveys-getPublicSurveyRequest": {
|
|
394
384
|
request: z.ZodObject<{
|
|
395
385
|
requestId: z.ZodString;
|
package/lib/callables/surveys.js
CHANGED
|
@@ -153,11 +153,11 @@ exports.surveyCallables = {
|
|
|
153
153
|
rolledForward: zod_1.z.boolean(),
|
|
154
154
|
}),
|
|
155
155
|
},
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
// No getMySurveyRequest contract: the two account-auth readers (a student
|
|
157
|
+
// reading their own request, staff reading one in their organisation) are both
|
|
158
|
+
// signed in, so they read Firestore directly behind security rules — see
|
|
159
|
+
// Placementt-Web/src/Hooks/surveyRequestData.ts. Only the magic-link path, where
|
|
160
|
+
// there is no account and a token has to be verified, stays a callable.
|
|
161
161
|
"surveys-getPublicSurveyRequest": {
|
|
162
162
|
request: zod_1.z.object({
|
|
163
163
|
requestId: zod_1.z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surveys.js","sourceRoot":"","sources":["../../src/callables/surveys.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"surveys.js","sourceRoot":"","sources":["../../src/callables/surveys.ts"],"names":[],"mappings":"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"}
|
package/lib/firebase/util.js
CHANGED
|
@@ -339,11 +339,17 @@ exports.flattenObject = flattenObject;
|
|
|
339
339
|
const getGeoHash = async (data) => {
|
|
340
340
|
if (!data?.["address-line1"] || !data.postal_code)
|
|
341
341
|
return;
|
|
342
|
-
const address =
|
|
343
|
-
|
|
344
|
-
|
|
342
|
+
const address = [
|
|
343
|
+
data["address-line1"],
|
|
344
|
+
data["address-line2"],
|
|
345
|
+
data.locality,
|
|
346
|
+
data.postal_code,
|
|
347
|
+
(0, exports.camelCaseToNormal)(data.country),
|
|
348
|
+
].filter((part) => part).join(" ");
|
|
349
|
+
// Encode the address, otherwise characters like & or # in an address line
|
|
350
|
+
// terminate the query parameter and Google only sees the leading fragment.
|
|
345
351
|
const apiQuery = "https://maps.googleapis.com/maps/api/geocode/json?address=" +
|
|
346
|
-
address + "&key=AIzaSyBOSSi4iHxOoAS9tLAJUAC_46HlZ6-D5Ss";
|
|
352
|
+
encodeURIComponent(address) + "&key=AIzaSyBOSSi4iHxOoAS9tLAJUAC_46HlZ6-D5Ss";
|
|
347
353
|
const location = await fetch(apiQuery)
|
|
348
354
|
.then(async (res) => await res.json())
|
|
349
355
|
.then((res) => {
|
package/lib/firebase/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/firebase/util.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/firebase/util.tsx"],"names":[],"mappings":"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"}
|
package/lib/groups.d.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { EmployerSharing, HubGroup, InstituteData, ProviderContactData } from "./typeDefinitions";
|
|
2
|
+
/**
|
|
3
|
+
* Hub groups: who belongs to a region, and who that lets an employer reach.
|
|
4
|
+
*
|
|
5
|
+
* A hub group is one entity that both schools and employers belong to, so "North"
|
|
6
|
+
* means the same North on both sides. Two edges hang off it, and they mean
|
|
7
|
+
* different things:
|
|
8
|
+
*
|
|
9
|
+
* - membership — what the member *is*. The hub writes it.
|
|
10
|
+
* schools: careersHubLinks[hubId].groups
|
|
11
|
+
* employers: savedBy[hubId].groups
|
|
12
|
+
* - sharing — who the employer said they want to work with. The employer
|
|
13
|
+
* writes it, and nothing else ever overwrites it: savedBy[hubId].sharing
|
|
14
|
+
*
|
|
15
|
+
* A hub that wants employers kept inside their own region sets
|
|
16
|
+
* `groupSettings.employerSharingScope = "membership"`. That narrows reach at
|
|
17
|
+
* resolve time rather than editing what the employer asked for, so dropping the
|
|
18
|
+
* setting again restores their original preference with no data to migrate back.
|
|
19
|
+
*
|
|
20
|
+
* Membership only ever narrows. An employer who consented to two named schools
|
|
21
|
+
* stays limited to those two schools when a hub drops them into a region holding
|
|
22
|
+
* forty — the intersection honours the employer, and the mismatch is reported as
|
|
23
|
+
* a conflict rather than silently resolving to nothing.
|
|
24
|
+
*
|
|
25
|
+
* Every surface resolves through here: the event fan-out, campaign audiences,
|
|
26
|
+
* school and employer pickers, and the employer-facing request page. They used to
|
|
27
|
+
* each re-query `careersHubLinks.{hub}.schoolGroups` by hand, which is why the
|
|
28
|
+
* clamp has one home.
|
|
29
|
+
*/
|
|
30
|
+
/** Enough of a school to resolve membership, so callers can pass partials. */
|
|
31
|
+
export type SchoolGroupInput = Pick<InstituteData, "careersHubLinks">;
|
|
32
|
+
/** Enough of an employer to resolve, so callers can pass partials. */
|
|
33
|
+
export type EmployerGroupInput = Pick<ProviderContactData, "savedBy">;
|
|
34
|
+
export type EmployerReachConflict =
|
|
35
|
+
/** Membership left the employer reaching nobody, though they offered someone. */
|
|
36
|
+
"emptyReach" |
|
|
37
|
+
/** The hub put them in a group they never consented to work with. */
|
|
38
|
+
"membershipOutsideConsent";
|
|
39
|
+
export type ResolvedEmployerReach = {
|
|
40
|
+
/** Schools the employer reaches, after the clamp. */
|
|
41
|
+
schools: string[];
|
|
42
|
+
/** What the employer asked for, before the clamp. */
|
|
43
|
+
intended: string[];
|
|
44
|
+
/** True when membership removed schools the employer had offered to work with. */
|
|
45
|
+
clamped: boolean;
|
|
46
|
+
conflicts: EmployerReachConflict[];
|
|
47
|
+
/** Recorded onto dispatched requests so "why these schools in March?" is
|
|
48
|
+
* answerable in June, after the setting has changed twice. */
|
|
49
|
+
scope: "membership" | "unrestricted";
|
|
50
|
+
};
|
|
51
|
+
/** The hub's policy. Absent means unrestricted, which is how every hub behaved
|
|
52
|
+
* before group membership existed — so nothing changes until a hub opts in. */
|
|
53
|
+
export declare const getSharingScope: (hub?: Pick<InstituteData, "groupSettings">) => "membership" | "unrestricted";
|
|
54
|
+
/** School membership, falling back to the pre-migration field. Queries can't do
|
|
55
|
+
* this fallback, so the migration backfills `groups` and leaves `schoolGroups` in
|
|
56
|
+
* place; this covers anything read into memory before that has run. */
|
|
57
|
+
export declare const getSchoolGroupIds: (school: SchoolGroupInput | undefined, hubId: string) => string[];
|
|
58
|
+
/** Employer membership. No legacy fallback: `savedBy[hub].schoolGroups` was the
|
|
59
|
+
* employer's intent, not membership, and reading it as membership would silently
|
|
60
|
+
* turn a preference into a hub-assigned region. */
|
|
61
|
+
export declare const getEmployerGroupIds: (employer: EmployerGroupInput | undefined, hubId: string) => string[];
|
|
62
|
+
/** The employer's stated intent, migrating the legacy shape on read. An employer
|
|
63
|
+
* with no record of a preference is treated as having offered everyone, which is
|
|
64
|
+
* what the request form defaulted to before this existed. */
|
|
65
|
+
export declare const getEmployerSharing: (employer: EmployerGroupInput | undefined, hubId: string) => EmployerSharing;
|
|
66
|
+
/** Schools in a hub that have accepted their link. The gate on every resolution —
|
|
67
|
+
* an invited-but-not-joined school is not reachable however the groups fall. */
|
|
68
|
+
export declare const approvedHubSchools: (schools: {
|
|
69
|
+
[id: string]: SchoolGroupInput & {
|
|
70
|
+
careersHubLinks?: InstituteData["careersHubLinks"];
|
|
71
|
+
};
|
|
72
|
+
}, hubId: string) => string[];
|
|
73
|
+
/** Schools belonging to any of `groupIds`. Union, not intersection: a member of
|
|
74
|
+
* two regions reaches both. */
|
|
75
|
+
export declare const schoolsInGroups: (groupIds: string[], hubId: string, schools: {
|
|
76
|
+
[id: string]: SchoolGroupInput;
|
|
77
|
+
}) => string[];
|
|
78
|
+
/** The ceiling membership imposes. Unrestricted scope, or an employer the hub
|
|
79
|
+
* hasn't put in a group yet, means no ceiling — see `employerNeedsTriage` for why
|
|
80
|
+
* an ungrouped employer isn't clamped to nothing. */
|
|
81
|
+
export declare const permittedSchools: (employer: EmployerGroupInput | undefined, hubId: string, hub: Pick<InstituteData, "groupSettings"> | undefined, schools: {
|
|
82
|
+
[id: string]: SchoolGroupInput;
|
|
83
|
+
}) => string[];
|
|
84
|
+
/** An employer the hub has yet to place in a group, while scoping is on. Their
|
|
85
|
+
* request is accepted but held for the hub rather than fanned out — failing closed
|
|
86
|
+
* on submission would turn away brand-new employers, who are exactly the ones with
|
|
87
|
+
* no membership yet. Assigning them a group is what releases it. */
|
|
88
|
+
export declare const employerNeedsTriage: (employer: EmployerGroupInput | undefined, hubId: string, hub: Pick<InstituteData, "groupSettings"> | undefined) => boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Where an employer's offer actually lands: their intent, narrowed by membership
|
|
91
|
+
* when the hub has asked for that, and always narrowed to approved schools.
|
|
92
|
+
*/
|
|
93
|
+
export declare const resolveEmployerSchools: (employer: EmployerGroupInput | undefined, hubId: string, hub: Pick<InstituteData, "groupSettings"> | undefined, schools: {
|
|
94
|
+
[id: string]: SchoolGroupInput;
|
|
95
|
+
}) => ResolvedEmployerReach;
|
|
96
|
+
/** Both sides of a group, for management screens and pickers. */
|
|
97
|
+
export declare const resolveGroupMembers: (groupId: string, hubId: string, members: {
|
|
98
|
+
schools?: {
|
|
99
|
+
[id: string]: SchoolGroupInput;
|
|
100
|
+
};
|
|
101
|
+
employers?: {
|
|
102
|
+
[id: string]: EmployerGroupInput;
|
|
103
|
+
};
|
|
104
|
+
}) => {
|
|
105
|
+
schools: string[];
|
|
106
|
+
employers: string[];
|
|
107
|
+
};
|
|
108
|
+
/** Groups offered to a given member type. Absent `appliesTo` means schools only —
|
|
109
|
+
* every group created before employers had membership. */
|
|
110
|
+
export declare const groupsFor: (groups: {
|
|
111
|
+
[id: string]: HubGroup;
|
|
112
|
+
}, memberType: "school" | "employer") => {
|
|
113
|
+
[id: string]: HubGroup;
|
|
114
|
+
};
|
|
115
|
+
/** Of the groups an employer picked to work with, the ones that also make them a
|
|
116
|
+
* member. Picking "North" as somewhere you want to work is a statement that you
|
|
117
|
+
* belong there, so the hub doesn't have to file them by hand afterwards — but only
|
|
118
|
+
* for groups the hub marked as applying to employers. */
|
|
119
|
+
export declare const groupsGrantingMembership: (selectedGroupIds: string[], groups: {
|
|
120
|
+
[id: string]: HubGroup;
|
|
121
|
+
}) => string[];
|
package/lib/groups.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.groupsGrantingMembership = exports.groupsFor = exports.resolveGroupMembers = exports.resolveEmployerSchools = exports.employerNeedsTriage = exports.permittedSchools = exports.schoolsInGroups = exports.approvedHubSchools = exports.getEmployerSharing = exports.getEmployerGroupIds = exports.getSchoolGroupIds = exports.getSharingScope = void 0;
|
|
4
|
+
/** The hub's policy. Absent means unrestricted, which is how every hub behaved
|
|
5
|
+
* before group membership existed — so nothing changes until a hub opts in. */
|
|
6
|
+
const getSharingScope = (hub) => hub?.groupSettings?.employerSharingScope ?? "unrestricted";
|
|
7
|
+
exports.getSharingScope = getSharingScope;
|
|
8
|
+
/** School membership, falling back to the pre-migration field. Queries can't do
|
|
9
|
+
* this fallback, so the migration backfills `groups` and leaves `schoolGroups` in
|
|
10
|
+
* place; this covers anything read into memory before that has run. */
|
|
11
|
+
const getSchoolGroupIds = (school, hubId) => {
|
|
12
|
+
const link = school?.careersHubLinks?.[hubId];
|
|
13
|
+
return link?.groups ?? link?.schoolGroups ?? [];
|
|
14
|
+
};
|
|
15
|
+
exports.getSchoolGroupIds = getSchoolGroupIds;
|
|
16
|
+
/** Employer membership. No legacy fallback: `savedBy[hub].schoolGroups` was the
|
|
17
|
+
* employer's intent, not membership, and reading it as membership would silently
|
|
18
|
+
* turn a preference into a hub-assigned region. */
|
|
19
|
+
const getEmployerGroupIds = (employer, hubId) => employer?.savedBy?.[hubId]?.groups ?? [];
|
|
20
|
+
exports.getEmployerGroupIds = getEmployerGroupIds;
|
|
21
|
+
/** The employer's stated intent, migrating the legacy shape on read. An employer
|
|
22
|
+
* with no record of a preference is treated as having offered everyone, which is
|
|
23
|
+
* what the request form defaulted to before this existed. */
|
|
24
|
+
const getEmployerSharing = (employer, hubId) => {
|
|
25
|
+
const saved = employer?.savedBy?.[hubId];
|
|
26
|
+
if (saved?.sharing)
|
|
27
|
+
return saved.sharing;
|
|
28
|
+
const legacy = saved?.schoolGroups;
|
|
29
|
+
if (legacy && ((legacy.groups?.length ?? 0) > 0 || (legacy.specificSchools?.length ?? 0) > 0)) {
|
|
30
|
+
return { mode: "custom", groups: legacy.groups ?? [], specificSchools: legacy.specificSchools ?? [] };
|
|
31
|
+
}
|
|
32
|
+
return { mode: "all" };
|
|
33
|
+
};
|
|
34
|
+
exports.getEmployerSharing = getEmployerSharing;
|
|
35
|
+
const uniq = (ids) => [...new Set(ids)];
|
|
36
|
+
/** Schools in a hub that have accepted their link. The gate on every resolution —
|
|
37
|
+
* an invited-but-not-joined school is not reachable however the groups fall. */
|
|
38
|
+
const approvedHubSchools = (schools, hubId) => Object.entries(schools || {})
|
|
39
|
+
.filter(([, s]) => s?.careersHubLinks?.[hubId]?.status === "approved")
|
|
40
|
+
.map(([id]) => id);
|
|
41
|
+
exports.approvedHubSchools = approvedHubSchools;
|
|
42
|
+
/** Schools belonging to any of `groupIds`. Union, not intersection: a member of
|
|
43
|
+
* two regions reaches both. */
|
|
44
|
+
const schoolsInGroups = (groupIds, hubId, schools) => uniq(Object.entries(schools || {})
|
|
45
|
+
.filter(([, s]) => (0, exports.getSchoolGroupIds)(s, hubId).some((g) => groupIds.includes(g)))
|
|
46
|
+
.map(([id]) => id));
|
|
47
|
+
exports.schoolsInGroups = schoolsInGroups;
|
|
48
|
+
/** The ceiling membership imposes. Unrestricted scope, or an employer the hub
|
|
49
|
+
* hasn't put in a group yet, means no ceiling — see `employerNeedsTriage` for why
|
|
50
|
+
* an ungrouped employer isn't clamped to nothing. */
|
|
51
|
+
const permittedSchools = (employer, hubId, hub, schools) => {
|
|
52
|
+
const approved = (0, exports.approvedHubSchools)(schools, hubId);
|
|
53
|
+
if ((0, exports.getSharingScope)(hub) !== "membership")
|
|
54
|
+
return approved;
|
|
55
|
+
const membership = (0, exports.getEmployerGroupIds)(employer, hubId);
|
|
56
|
+
if (membership.length === 0)
|
|
57
|
+
return approved;
|
|
58
|
+
const inGroups = (0, exports.schoolsInGroups)(membership, hubId, schools);
|
|
59
|
+
return approved.filter((id) => inGroups.includes(id));
|
|
60
|
+
};
|
|
61
|
+
exports.permittedSchools = permittedSchools;
|
|
62
|
+
/** An employer the hub has yet to place in a group, while scoping is on. Their
|
|
63
|
+
* request is accepted but held for the hub rather than fanned out — failing closed
|
|
64
|
+
* on submission would turn away brand-new employers, who are exactly the ones with
|
|
65
|
+
* no membership yet. Assigning them a group is what releases it. */
|
|
66
|
+
const employerNeedsTriage = (employer, hubId, hub) => (0, exports.getSharingScope)(hub) === "membership" && (0, exports.getEmployerGroupIds)(employer, hubId).length === 0;
|
|
67
|
+
exports.employerNeedsTriage = employerNeedsTriage;
|
|
68
|
+
/**
|
|
69
|
+
* Where an employer's offer actually lands: their intent, narrowed by membership
|
|
70
|
+
* when the hub has asked for that, and always narrowed to approved schools.
|
|
71
|
+
*/
|
|
72
|
+
const resolveEmployerSchools = (employer, hubId, hub, schools) => {
|
|
73
|
+
const scope = (0, exports.getSharingScope)(hub);
|
|
74
|
+
const approved = (0, exports.approvedHubSchools)(schools, hubId);
|
|
75
|
+
const sharing = (0, exports.getEmployerSharing)(employer, hubId);
|
|
76
|
+
const intended = sharing.mode === "all" ? approved : uniq([
|
|
77
|
+
...(0, exports.schoolsInGroups)(sharing.groups ?? [], hubId, schools),
|
|
78
|
+
...(sharing.specificSchools ?? []),
|
|
79
|
+
]).filter((id) => approved.includes(id));
|
|
80
|
+
const permitted = (0, exports.permittedSchools)(employer, hubId, hub, schools);
|
|
81
|
+
const resolved = intended.filter((id) => permitted.includes(id));
|
|
82
|
+
const membership = (0, exports.getEmployerGroupIds)(employer, hubId);
|
|
83
|
+
const conflicts = [];
|
|
84
|
+
// Reported whatever the scope, because it's a fact about the employer's record
|
|
85
|
+
// rather than about the clamp: the hub filed them under a region they never
|
|
86
|
+
// agreed to work with, and will want to know before the setting is switched on.
|
|
87
|
+
if (sharing.mode === "custom" && membership.some((g) => !(sharing.groups ?? []).includes(g))) {
|
|
88
|
+
conflicts.push("membershipOutsideConsent");
|
|
89
|
+
}
|
|
90
|
+
if (intended.length > 0 && resolved.length === 0) {
|
|
91
|
+
conflicts.push("emptyReach");
|
|
92
|
+
}
|
|
93
|
+
return { schools: resolved, intended, clamped: resolved.length < intended.length, conflicts, scope };
|
|
94
|
+
};
|
|
95
|
+
exports.resolveEmployerSchools = resolveEmployerSchools;
|
|
96
|
+
/** Both sides of a group, for management screens and pickers. */
|
|
97
|
+
const resolveGroupMembers = (groupId, hubId, members) => ({
|
|
98
|
+
schools: Object.entries(members.schools || {})
|
|
99
|
+
.filter(([, s]) => (0, exports.getSchoolGroupIds)(s, hubId).includes(groupId))
|
|
100
|
+
.map(([id]) => id),
|
|
101
|
+
employers: Object.entries(members.employers || {})
|
|
102
|
+
.filter(([, e]) => (0, exports.getEmployerGroupIds)(e, hubId).includes(groupId))
|
|
103
|
+
.map(([id]) => id),
|
|
104
|
+
});
|
|
105
|
+
exports.resolveGroupMembers = resolveGroupMembers;
|
|
106
|
+
/** Groups offered to a given member type. Absent `appliesTo` means schools only —
|
|
107
|
+
* every group created before employers had membership. */
|
|
108
|
+
const groupsFor = (groups, memberType) => Object.fromEntries(Object.entries(groups || {})
|
|
109
|
+
.filter(([, g]) => (g.appliesTo ?? ["school"]).includes(memberType)));
|
|
110
|
+
exports.groupsFor = groupsFor;
|
|
111
|
+
/** Of the groups an employer picked to work with, the ones that also make them a
|
|
112
|
+
* member. Picking "North" as somewhere you want to work is a statement that you
|
|
113
|
+
* belong there, so the hub doesn't have to file them by hand afterwards — but only
|
|
114
|
+
* for groups the hub marked as applying to employers. */
|
|
115
|
+
const groupsGrantingMembership = (selectedGroupIds, groups) => selectedGroupIds.filter((id) => (groups?.[id]?.appliesTo ?? ["school"]).includes("employer"));
|
|
116
|
+
exports.groupsGrantingMembership = groupsGrantingMembership;
|
|
117
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const groups_1 = require("./groups");
|
|
4
|
+
/**
|
|
5
|
+
* The clamp is the point of these tests. It has to narrow without ever editing the
|
|
6
|
+
* employer's stated preference, and it has to stay reversible — switch scoping off
|
|
7
|
+
* and the employer's original offer must come back untouched.
|
|
8
|
+
*/
|
|
9
|
+
const HUB = "hub1";
|
|
10
|
+
const school = (groups, status = "approved") => ({
|
|
11
|
+
careersHubLinks: { [HUB]: { exists: true, invited: "", status, groups } },
|
|
12
|
+
});
|
|
13
|
+
const schools = {
|
|
14
|
+
north1: school(["north"]),
|
|
15
|
+
north2: school(["north"]),
|
|
16
|
+
south1: school(["south"]),
|
|
17
|
+
both1: school(["north", "south"]),
|
|
18
|
+
ungrouped: school([]),
|
|
19
|
+
pending: school(["north"], "invited"),
|
|
20
|
+
};
|
|
21
|
+
const employer = (saved) => ({
|
|
22
|
+
savedBy: { [HUB]: { exists: true, status: "approved", ...saved } },
|
|
23
|
+
});
|
|
24
|
+
const unrestricted = {};
|
|
25
|
+
const scoped = { groupSettings: { employerSharingScope: "membership" } };
|
|
26
|
+
describe("membership reads", () => {
|
|
27
|
+
it("falls back to the pre-migration school field", () => {
|
|
28
|
+
const legacy = { careersHubLinks: { [HUB]: { schoolGroups: ["north"] } } };
|
|
29
|
+
expect((0, groups_1.getSchoolGroupIds)(legacy, HUB)).toEqual(["north"]);
|
|
30
|
+
});
|
|
31
|
+
it("prefers the migrated field when both are present", () => {
|
|
32
|
+
const both = { careersHubLinks: { [HUB]: { groups: ["south"], schoolGroups: ["north"] } } };
|
|
33
|
+
expect((0, groups_1.getSchoolGroupIds)(both, HUB)).toEqual(["south"]);
|
|
34
|
+
});
|
|
35
|
+
it("reads legacy employer sharing as a custom preference, not as membership", () => {
|
|
36
|
+
const e = employer({ schoolGroups: { groups: ["north"], specificSchools: ["south1"] } });
|
|
37
|
+
expect((0, groups_1.getEmployerSharing)(e, HUB)).toEqual({ mode: "custom", groups: ["north"], specificSchools: ["south1"] });
|
|
38
|
+
// The legacy field must never become membership — that would turn a
|
|
39
|
+
// preference the employer set into a region the hub assigned.
|
|
40
|
+
expect((0, groups_1.permittedSchools)(e, HUB, scoped, schools)).toEqual(expect.arrayContaining(["north1", "south1"]));
|
|
41
|
+
});
|
|
42
|
+
it("treats an employer with no record as having offered everyone", () => {
|
|
43
|
+
expect((0, groups_1.getEmployerSharing)(employer({}), HUB)).toEqual({ mode: "all" });
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe("resolveEmployerSchools", () => {
|
|
47
|
+
it("reaches every approved school when unrestricted and offering all", () => {
|
|
48
|
+
const r = (0, groups_1.resolveEmployerSchools)(employer({ sharing: { mode: "all" } }), HUB, unrestricted, schools);
|
|
49
|
+
expect(r.schools.sort()).toEqual(["both1", "north1", "north2", "south1", "ungrouped"]);
|
|
50
|
+
expect(r.clamped).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
it("never reaches a school that has not accepted the hub link", () => {
|
|
53
|
+
const r = (0, groups_1.resolveEmployerSchools)(employer({ sharing: { mode: "all" } }), HUB, unrestricted, schools);
|
|
54
|
+
expect(r.schools).not.toContain("pending");
|
|
55
|
+
});
|
|
56
|
+
it("clamps an 'all' offer to the employer's own region when scoping is on", () => {
|
|
57
|
+
const e = employer({ sharing: { mode: "all" }, groups: ["north"] });
|
|
58
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
59
|
+
expect(r.schools.sort()).toEqual(["both1", "north1", "north2"]);
|
|
60
|
+
expect(r.clamped).toBe(true);
|
|
61
|
+
expect(r.scope).toBe("membership");
|
|
62
|
+
});
|
|
63
|
+
it("restores the original offer when the hub drops the clamp", () => {
|
|
64
|
+
const e = employer({ sharing: { mode: "all" }, groups: ["north"] });
|
|
65
|
+
expect((0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools).schools).not.toContain("south1");
|
|
66
|
+
// Same employer document, no migration — only the hub setting changed.
|
|
67
|
+
expect((0, groups_1.resolveEmployerSchools)(e, HUB, unrestricted, schools).schools).toContain("south1");
|
|
68
|
+
});
|
|
69
|
+
it("honours specific schools over a wider membership", () => {
|
|
70
|
+
// The hub filed them under North, which holds four schools. They agreed to
|
|
71
|
+
// two. Membership narrows; it must not widen them back to the region.
|
|
72
|
+
const e = employer({ sharing: { mode: "custom", specificSchools: ["north1"] }, groups: ["north"] });
|
|
73
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
74
|
+
expect(r.schools).toEqual(["north1"]);
|
|
75
|
+
});
|
|
76
|
+
it("flags membership the employer never consented to", () => {
|
|
77
|
+
const e = employer({ sharing: { mode: "custom", groups: ["north"] }, groups: ["south"] });
|
|
78
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
79
|
+
expect(r.conflicts).toContain("membershipOutsideConsent");
|
|
80
|
+
});
|
|
81
|
+
it("flags it whatever the scope, because it is a fact about the record", () => {
|
|
82
|
+
const e = employer({ sharing: { mode: "custom", groups: ["north"] }, groups: ["south"] });
|
|
83
|
+
expect((0, groups_1.resolveEmployerSchools)(e, HUB, unrestricted, schools).conflicts)
|
|
84
|
+
.toContain("membershipOutsideConsent");
|
|
85
|
+
});
|
|
86
|
+
it("keeps schools that sit in both the consented and the assigned region", () => {
|
|
87
|
+
// Consented to North, filed under South: both1 belongs to each, so the
|
|
88
|
+
// employer legitimately still reaches it and there is nothing to flag.
|
|
89
|
+
const e = employer({ sharing: { mode: "custom", groups: ["north"] }, groups: ["south"] });
|
|
90
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
91
|
+
expect(r.schools).toEqual(["both1"]);
|
|
92
|
+
expect(r.conflicts).not.toContain("emptyReach");
|
|
93
|
+
});
|
|
94
|
+
it("flags an offer that membership has narrowed to nobody", () => {
|
|
95
|
+
const e = employer({ sharing: { mode: "custom", specificSchools: ["north1"] }, groups: ["south"] });
|
|
96
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
97
|
+
expect(r.schools).toEqual([]);
|
|
98
|
+
expect(r.conflicts).toContain("emptyReach");
|
|
99
|
+
});
|
|
100
|
+
it("does not flag an empty reach when the employer offered nobody", () => {
|
|
101
|
+
const e = employer({ sharing: { mode: "custom", groups: [] }, groups: ["north"] });
|
|
102
|
+
expect((0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools).conflicts).not.toContain("emptyReach");
|
|
103
|
+
});
|
|
104
|
+
it("unions across an employer's regions rather than intersecting them", () => {
|
|
105
|
+
const e = employer({ sharing: { mode: "all" }, groups: ["north", "south"] });
|
|
106
|
+
const r = (0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools);
|
|
107
|
+
expect(r.schools.sort()).toEqual(["both1", "north1", "north2", "south1"]);
|
|
108
|
+
});
|
|
109
|
+
it("leaves an ungrouped employer unclamped, for triage instead", () => {
|
|
110
|
+
const e = employer({ sharing: { mode: "all" } });
|
|
111
|
+
expect((0, groups_1.resolveEmployerSchools)(e, HUB, scoped, schools).clamped).toBe(false);
|
|
112
|
+
expect((0, groups_1.employerNeedsTriage)(e, HUB, scoped)).toBe(true);
|
|
113
|
+
});
|
|
114
|
+
it("does not hold an ungrouped employer when the hub is unrestricted", () => {
|
|
115
|
+
expect((0, groups_1.employerNeedsTriage)(employer({}), HUB, unrestricted)).toBe(false);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe("group membership helpers", () => {
|
|
119
|
+
const groups = {
|
|
120
|
+
north: { name: "North", careersHubId: HUB, appliesTo: ["school", "employer"] },
|
|
121
|
+
legacy: { name: "Legacy", careersHubId: HUB },
|
|
122
|
+
stem: { name: "STEM", careersHubId: HUB, appliesTo: ["employer"] },
|
|
123
|
+
};
|
|
124
|
+
it("treats a group with no appliesTo as schools only", () => {
|
|
125
|
+
expect(Object.keys((0, groups_1.groupsFor)(groups, "school")).sort()).toEqual(["legacy", "north"]);
|
|
126
|
+
expect(Object.keys((0, groups_1.groupsFor)(groups, "employer")).sort()).toEqual(["north", "stem"]);
|
|
127
|
+
});
|
|
128
|
+
it("grants membership only for groups the hub opened to employers", () => {
|
|
129
|
+
expect((0, groups_1.groupsGrantingMembership)(["north", "legacy"], groups)).toEqual(["north"]);
|
|
130
|
+
});
|
|
131
|
+
it("lists both sides of a group", () => {
|
|
132
|
+
const employers = { e1: employer({ groups: ["north"] }), e2: employer({ groups: ["south"] }) };
|
|
133
|
+
const members = (0, groups_1.resolveGroupMembers)("north", HUB, { schools, employers });
|
|
134
|
+
expect(members.schools.sort()).toEqual(["both1", "north1", "north2", "pending"]);
|
|
135
|
+
expect(members.employers).toEqual(["e1"]);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=groups.test.js.map
|