placementt-core 1.400.1076 → 1.400.1078
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/apprenticeships.d.ts +102 -0
- package/lib/callables/apprenticeships.js +58 -0
- package/lib/callables/apprenticeships.js.map +1 -0
- package/lib/callables/he.d.ts +94 -0
- package/lib/callables/he.js +51 -0
- package/lib/callables/he.js.map +1 -0
- package/lib/callables/index.d.ts +2 -0
- package/lib/callables/index.js +2 -0
- package/lib/callables/index.js.map +1 -1
- package/lib/callables/jobRoles.d.ts +33 -1
- package/lib/callables/jobRoles.js +12 -1
- package/lib/callables/jobRoles.js.map +1 -1
- package/lib/callables/registry.d.ts +398 -0
- package/lib/callables/registry.js +5 -1
- package/lib/callables/registry.js.map +1 -1
- package/lib/lmi.d.ts +24 -0
- package/lib/lmi.js +30 -0
- package/lib/lmi.js.map +1 -1
- package/lib/typeDefinitions.d.ts +436 -7
- package/lib/typeDefinitions.js.map +1 -1
- package/package.json +1 -1
- package/src/callables/apprenticeships.ts +59 -0
- package/src/callables/he.ts +51 -0
- package/src/callables/index.ts +2 -0
- package/src/callables/jobRoles.ts +12 -1
- package/src/callables/registry.ts +5 -1
- package/src/lmi.ts +30 -0
- package/src/typeDefinitions.ts +417 -6
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const apprenticeshipsCallables: {
|
|
3
|
+
/** Run one crawl step now (about eight minutes of paced requests), starting
|
|
4
|
+
* a new run if none is open. */
|
|
5
|
+
"apprenticeships-syncStep": {
|
|
6
|
+
request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
7
|
+
response: z.ZodObject<{
|
|
8
|
+
runId: z.ZodString;
|
|
9
|
+
/** True once every route has been crawled and the purge has run. */
|
|
10
|
+
complete: z.ZodBoolean;
|
|
11
|
+
cursor: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
routeIndex: z.ZodNumber;
|
|
13
|
+
pageNumber: z.ZodNumber;
|
|
14
|
+
routeCount: z.ZodNumber;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
routeIndex: number;
|
|
17
|
+
pageNumber: number;
|
|
18
|
+
routeCount: number;
|
|
19
|
+
}, {
|
|
20
|
+
routeIndex: number;
|
|
21
|
+
pageNumber: number;
|
|
22
|
+
routeCount: number;
|
|
23
|
+
}>>;
|
|
24
|
+
totals: z.ZodObject<{
|
|
25
|
+
fetched: z.ZodNumber;
|
|
26
|
+
written: z.ZodNumber;
|
|
27
|
+
unchanged: z.ZodNumber;
|
|
28
|
+
deleted: z.ZodNumber;
|
|
29
|
+
requests: z.ZodNumber;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
deleted: number;
|
|
32
|
+
fetched: number;
|
|
33
|
+
written: number;
|
|
34
|
+
unchanged: number;
|
|
35
|
+
requests: number;
|
|
36
|
+
}, {
|
|
37
|
+
deleted: number;
|
|
38
|
+
fetched: number;
|
|
39
|
+
written: number;
|
|
40
|
+
unchanged: number;
|
|
41
|
+
requests: number;
|
|
42
|
+
}>;
|
|
43
|
+
/** Requests this step made, so an admin can see the pacing held. */
|
|
44
|
+
stepRequests: z.ZodNumber;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
complete: boolean;
|
|
47
|
+
runId: string;
|
|
48
|
+
totals: {
|
|
49
|
+
deleted: number;
|
|
50
|
+
fetched: number;
|
|
51
|
+
written: number;
|
|
52
|
+
unchanged: number;
|
|
53
|
+
requests: number;
|
|
54
|
+
};
|
|
55
|
+
stepRequests: number;
|
|
56
|
+
cursor?: {
|
|
57
|
+
routeIndex: number;
|
|
58
|
+
pageNumber: number;
|
|
59
|
+
routeCount: number;
|
|
60
|
+
} | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
complete: boolean;
|
|
63
|
+
runId: string;
|
|
64
|
+
totals: {
|
|
65
|
+
deleted: number;
|
|
66
|
+
fetched: number;
|
|
67
|
+
written: number;
|
|
68
|
+
unchanged: number;
|
|
69
|
+
requests: number;
|
|
70
|
+
};
|
|
71
|
+
stepRequests: number;
|
|
72
|
+
cursor?: {
|
|
73
|
+
routeIndex: number;
|
|
74
|
+
pageNumber: number;
|
|
75
|
+
routeCount: number;
|
|
76
|
+
} | undefined;
|
|
77
|
+
}>;
|
|
78
|
+
};
|
|
79
|
+
/** Abandon the open run so the next step starts afresh. The mirror and its
|
|
80
|
+
* manifest are left alone. */
|
|
81
|
+
"apprenticeships-resetRun": {
|
|
82
|
+
request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
83
|
+
response: z.ZodObject<{
|
|
84
|
+
ok: z.ZodLiteral<true>;
|
|
85
|
+
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
ok: true;
|
|
87
|
+
}, {
|
|
88
|
+
ok: true;
|
|
89
|
+
}>;
|
|
90
|
+
};
|
|
91
|
+
/** Refetch the course route list into the config document. */
|
|
92
|
+
"apprenticeships-refreshRoutes": {
|
|
93
|
+
request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
94
|
+
response: z.ZodObject<{
|
|
95
|
+
routes: z.ZodArray<z.ZodString, "many">;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
routes: string[];
|
|
98
|
+
}, {
|
|
99
|
+
routes: string[];
|
|
100
|
+
}>;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apprenticeshipsCallables = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Contracts for the `apprenticeships` backend module
|
|
7
|
+
* (`Placementt-Backend/functions/src/apprenticeshipImport.ts`).
|
|
8
|
+
*
|
|
9
|
+
* Admin-only controls for the nightly mirror of DfE's Find an apprenticeship
|
|
10
|
+
* vacancies. All three take no payload; the status document
|
|
11
|
+
* (`apprenticeshipMeta/status`) is the source of truth the admin card reads
|
|
12
|
+
* live, so the responses only echo enough to confirm the call landed - a step
|
|
13
|
+
* can outlive the client's callable deadline and the card still resolves.
|
|
14
|
+
*/
|
|
15
|
+
const syncCursor = zod_1.z.object({
|
|
16
|
+
routeIndex: zod_1.z.number(),
|
|
17
|
+
pageNumber: zod_1.z.number(),
|
|
18
|
+
routeCount: zod_1.z.number(),
|
|
19
|
+
});
|
|
20
|
+
const syncTotals = zod_1.z.object({
|
|
21
|
+
fetched: zod_1.z.number(),
|
|
22
|
+
written: zod_1.z.number(),
|
|
23
|
+
unchanged: zod_1.z.number(),
|
|
24
|
+
deleted: zod_1.z.number(),
|
|
25
|
+
requests: zod_1.z.number(),
|
|
26
|
+
});
|
|
27
|
+
exports.apprenticeshipsCallables = {
|
|
28
|
+
/** Run one crawl step now (about eight minutes of paced requests), starting
|
|
29
|
+
* a new run if none is open. */
|
|
30
|
+
"apprenticeships-syncStep": {
|
|
31
|
+
request: zod_1.z.object({}),
|
|
32
|
+
response: zod_1.z.object({
|
|
33
|
+
runId: zod_1.z.string(),
|
|
34
|
+
/** True once every route has been crawled and the purge has run. */
|
|
35
|
+
complete: zod_1.z.boolean(),
|
|
36
|
+
cursor: syncCursor.optional(),
|
|
37
|
+
totals: syncTotals,
|
|
38
|
+
/** Requests this step made, so an admin can see the pacing held. */
|
|
39
|
+
stepRequests: zod_1.z.number(),
|
|
40
|
+
}),
|
|
41
|
+
},
|
|
42
|
+
/** Abandon the open run so the next step starts afresh. The mirror and its
|
|
43
|
+
* manifest are left alone. */
|
|
44
|
+
"apprenticeships-resetRun": {
|
|
45
|
+
request: zod_1.z.object({}),
|
|
46
|
+
response: zod_1.z.object({
|
|
47
|
+
ok: zod_1.z.literal(true),
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
/** Refetch the course route list into the config document. */
|
|
51
|
+
"apprenticeships-refreshRoutes": {
|
|
52
|
+
request: zod_1.z.object({}),
|
|
53
|
+
response: zod_1.z.object({
|
|
54
|
+
routes: zod_1.z.array(zod_1.z.string()),
|
|
55
|
+
}),
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=apprenticeships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apprenticeships.js","sourceRoot":"","sources":["../../src/callables/apprenticeships.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAGtB;;;;;;;;;GASG;AAEH,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG;IACpC;oCACgC;IAChC,0BAA0B,EAAE;QACxB,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;YACjB,oEAAoE;YACpE,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;YACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,UAAU;YAClB,oEAAoE;YACpE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACL;IACD;kCAC8B;IAC9B,0BAA0B,EAAE;QACxB,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,EAAE,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;SACtB,CAAC;KACL;IACD,8DAA8D;IAC9D,+BAA+B,EAAE;QAC7B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,CAAC;KACL;CACoB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const heCallables: {
|
|
3
|
+
/** Run a full import now. `storagePath` names a zip already uploaded to
|
|
4
|
+
* Cloud Storage (`heImports/<file>.zip`) to use instead of the URL in
|
|
5
|
+
* the config; omitted, the config's `storagePath` is used if set, and
|
|
6
|
+
* the URL otherwise. */
|
|
7
|
+
"he-runImport": {
|
|
8
|
+
request: z.ZodObject<{
|
|
9
|
+
storagePath: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
storagePath?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
storagePath?: string | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
response: z.ZodObject<{
|
|
16
|
+
runId: z.ZodString;
|
|
17
|
+
datasetVersion: z.ZodString;
|
|
18
|
+
source: z.ZodObject<{
|
|
19
|
+
kind: z.ZodEnum<["url", "storage"]>;
|
|
20
|
+
ref: z.ZodString;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
ref: string;
|
|
23
|
+
kind: "url" | "storage";
|
|
24
|
+
}, {
|
|
25
|
+
ref: string;
|
|
26
|
+
kind: "url" | "storage";
|
|
27
|
+
}>;
|
|
28
|
+
counts: z.ZodObject<{
|
|
29
|
+
coursesAssembled: z.ZodNumber;
|
|
30
|
+
coursesWritten: z.ZodNumber;
|
|
31
|
+
coursesUnchanged: z.ZodNumber;
|
|
32
|
+
coursesDeleted: z.ZodNumber;
|
|
33
|
+
providersWritten: z.ZodNumber;
|
|
34
|
+
providersUnchanged: z.ZodNumber;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
coursesAssembled: number;
|
|
37
|
+
coursesWritten: number;
|
|
38
|
+
coursesUnchanged: number;
|
|
39
|
+
coursesDeleted: number;
|
|
40
|
+
providersWritten: number;
|
|
41
|
+
providersUnchanged: number;
|
|
42
|
+
}, {
|
|
43
|
+
coursesAssembled: number;
|
|
44
|
+
coursesWritten: number;
|
|
45
|
+
coursesUnchanged: number;
|
|
46
|
+
coursesDeleted: number;
|
|
47
|
+
providersWritten: number;
|
|
48
|
+
providersUnchanged: number;
|
|
49
|
+
}>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
source: {
|
|
52
|
+
ref: string;
|
|
53
|
+
kind: "url" | "storage";
|
|
54
|
+
};
|
|
55
|
+
runId: string;
|
|
56
|
+
datasetVersion: string;
|
|
57
|
+
counts: {
|
|
58
|
+
coursesAssembled: number;
|
|
59
|
+
coursesWritten: number;
|
|
60
|
+
coursesUnchanged: number;
|
|
61
|
+
coursesDeleted: number;
|
|
62
|
+
providersWritten: number;
|
|
63
|
+
providersUnchanged: number;
|
|
64
|
+
};
|
|
65
|
+
}, {
|
|
66
|
+
source: {
|
|
67
|
+
ref: string;
|
|
68
|
+
kind: "url" | "storage";
|
|
69
|
+
};
|
|
70
|
+
runId: string;
|
|
71
|
+
datasetVersion: string;
|
|
72
|
+
counts: {
|
|
73
|
+
coursesAssembled: number;
|
|
74
|
+
coursesWritten: number;
|
|
75
|
+
coursesUnchanged: number;
|
|
76
|
+
coursesDeleted: number;
|
|
77
|
+
providersWritten: number;
|
|
78
|
+
providersUnchanged: number;
|
|
79
|
+
};
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
82
|
+
/** Clear a stuck "running" state. The mirror and its manifest are left
|
|
83
|
+
* alone. */
|
|
84
|
+
"he-resetRun": {
|
|
85
|
+
request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
86
|
+
response: z.ZodObject<{
|
|
87
|
+
ok: z.ZodLiteral<true>;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
ok: true;
|
|
90
|
+
}, {
|
|
91
|
+
ok: true;
|
|
92
|
+
}>;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.heCallables = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Contracts for the `he` backend module
|
|
7
|
+
* (`Placementt-Backend/functions/src/heImport.ts`).
|
|
8
|
+
*
|
|
9
|
+
* Admin-only controls for the weekly mirror of the HESA Discover Uni dataset
|
|
10
|
+
* into `heCourses` / `heProviders`. The status document (`heMeta/status`) is
|
|
11
|
+
* the source of truth the admin card reads live, so the responses only echo
|
|
12
|
+
* enough to confirm the call landed - an import can outlive the client's
|
|
13
|
+
* callable deadline and the card still resolves.
|
|
14
|
+
*/
|
|
15
|
+
const importCounts = zod_1.z.object({
|
|
16
|
+
coursesAssembled: zod_1.z.number(),
|
|
17
|
+
coursesWritten: zod_1.z.number(),
|
|
18
|
+
coursesUnchanged: zod_1.z.number(),
|
|
19
|
+
coursesDeleted: zod_1.z.number(),
|
|
20
|
+
providersWritten: zod_1.z.number(),
|
|
21
|
+
providersUnchanged: zod_1.z.number(),
|
|
22
|
+
});
|
|
23
|
+
exports.heCallables = {
|
|
24
|
+
/** Run a full import now. `storagePath` names a zip already uploaded to
|
|
25
|
+
* Cloud Storage (`heImports/<file>.zip`) to use instead of the URL in
|
|
26
|
+
* the config; omitted, the config's `storagePath` is used if set, and
|
|
27
|
+
* the URL otherwise. */
|
|
28
|
+
"he-runImport": {
|
|
29
|
+
request: zod_1.z.object({
|
|
30
|
+
storagePath: zod_1.z.string().optional(),
|
|
31
|
+
}),
|
|
32
|
+
response: zod_1.z.object({
|
|
33
|
+
runId: zod_1.z.string(),
|
|
34
|
+
datasetVersion: zod_1.z.string(),
|
|
35
|
+
source: zod_1.z.object({
|
|
36
|
+
kind: zod_1.z.enum(["url", "storage"]),
|
|
37
|
+
ref: zod_1.z.string(),
|
|
38
|
+
}),
|
|
39
|
+
counts: importCounts,
|
|
40
|
+
}),
|
|
41
|
+
},
|
|
42
|
+
/** Clear a stuck "running" state. The mirror and its manifest are left
|
|
43
|
+
* alone. */
|
|
44
|
+
"he-resetRun": {
|
|
45
|
+
request: zod_1.z.object({}),
|
|
46
|
+
response: zod_1.z.object({
|
|
47
|
+
ok: zod_1.z.literal(true),
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=he.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"he.js","sourceRoot":"","sources":["../../src/callables/he.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAGtB;;;;;;;;;GASG;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE;CACjC,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG;IACvB;;;4BAGwB;IACxB,cAAc,EAAE;QACZ,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACrC,CAAC;QACF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;YACjB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;aAClB,CAAC;YACF,MAAM,EAAE,YAAY;SACvB,CAAC;KACL;IACD;gBACY;IACZ,aAAa,EAAE;QACX,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,EAAE,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;SACtB,CAAC;KACL;CACoB,CAAC"}
|
package/lib/callables/index.d.ts
CHANGED
package/lib/callables/index.js
CHANGED
|
@@ -20,4 +20,6 @@ __exportStar(require("./destinationsConfig"), exports);
|
|
|
20
20
|
__exportStar(require("./placement"), exports);
|
|
21
21
|
__exportStar(require("./events"), exports);
|
|
22
22
|
__exportStar(require("./jobRoles"), exports);
|
|
23
|
+
__exportStar(require("./apprenticeships"), exports);
|
|
24
|
+
__exportStar(require("./he"), exports);
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,6CAA2B;AAC3B,oDAAkC;AAClC,uCAAqB"}
|
|
@@ -276,22 +276,31 @@ export declare const jobRolesCallables: {
|
|
|
276
276
|
results: z.ZodArray<z.ZodObject<{
|
|
277
277
|
soc: z.ZodString;
|
|
278
278
|
title: z.ZodString;
|
|
279
|
+
/** The 6-digit sub-unit group this title actually names, where the coding
|
|
280
|
+
* index gave one. Search collapses on this rather than on `soc`, so
|
|
281
|
+
* "Computer games designers" and "Software developers" come back as the two
|
|
282
|
+
* different jobs they are instead of one row for all of SOC 2134. */
|
|
283
|
+
ext: z.ZodOptional<z.ZodString>;
|
|
279
284
|
}, "strip", z.ZodTypeAny, {
|
|
280
285
|
title: string;
|
|
281
286
|
soc: string;
|
|
287
|
+
ext?: string | undefined;
|
|
282
288
|
}, {
|
|
283
289
|
title: string;
|
|
284
290
|
soc: string;
|
|
291
|
+
ext?: string | undefined;
|
|
285
292
|
}>, "many">;
|
|
286
293
|
}, "strip", z.ZodTypeAny, {
|
|
287
294
|
results: {
|
|
288
295
|
title: string;
|
|
289
296
|
soc: string;
|
|
297
|
+
ext?: string | undefined;
|
|
290
298
|
}[];
|
|
291
299
|
}, {
|
|
292
300
|
results: {
|
|
293
301
|
title: string;
|
|
294
302
|
soc: string;
|
|
303
|
+
ext?: string | undefined;
|
|
295
304
|
}[];
|
|
296
305
|
}>;
|
|
297
306
|
};
|
|
@@ -671,48 +680,71 @@ export declare const jobRolesCallables: {
|
|
|
671
680
|
add: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
672
681
|
soc: z.ZodString;
|
|
673
682
|
title: z.ZodString;
|
|
683
|
+
/** The 6-digit sub-unit group this title actually names, where the coding
|
|
684
|
+
* index gave one. Search collapses on this rather than on `soc`, so
|
|
685
|
+
* "Computer games designers" and "Software developers" come back as the two
|
|
686
|
+
* different jobs they are instead of one row for all of SOC 2134. */
|
|
687
|
+
ext: z.ZodOptional<z.ZodString>;
|
|
674
688
|
}, "strip", z.ZodTypeAny, {
|
|
675
689
|
title: string;
|
|
676
690
|
soc: string;
|
|
691
|
+
ext?: string | undefined;
|
|
677
692
|
}, {
|
|
678
693
|
title: string;
|
|
679
694
|
soc: string;
|
|
695
|
+
ext?: string | undefined;
|
|
680
696
|
}>, "many">>;
|
|
681
|
-
/**
|
|
697
|
+
/** Preference keys to un-heart, as `preferenceKey` builds them:
|
|
698
|
+
* "2134-01" for a sub-unit, "2134" for a bare SOC. */
|
|
682
699
|
remove: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
683
700
|
}, "strip", z.ZodTypeAny, {
|
|
684
701
|
add?: {
|
|
685
702
|
title: string;
|
|
686
703
|
soc: string;
|
|
704
|
+
ext?: string | undefined;
|
|
687
705
|
}[] | undefined;
|
|
688
706
|
remove?: string[] | undefined;
|
|
689
707
|
}, {
|
|
690
708
|
add?: {
|
|
691
709
|
title: string;
|
|
692
710
|
soc: string;
|
|
711
|
+
ext?: string | undefined;
|
|
693
712
|
}[] | undefined;
|
|
694
713
|
remove?: string[] | undefined;
|
|
695
714
|
}>;
|
|
696
715
|
response: z.ZodObject<{
|
|
716
|
+
/** Keyed by sub-unit group where the role has one ("2134-01"), by
|
|
717
|
+
* bare SOC otherwise. Build and read keys with core's
|
|
718
|
+
* `preferenceKey` / `socFromPreferenceKey`. */
|
|
697
719
|
currentJobPreferences: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
698
720
|
title: z.ZodString;
|
|
699
721
|
added: z.ZodString;
|
|
722
|
+
soc: z.ZodOptional<z.ZodString>;
|
|
723
|
+
ext: z.ZodOptional<z.ZodString>;
|
|
700
724
|
}, "strip", z.ZodTypeAny, {
|
|
701
725
|
title: string;
|
|
702
726
|
added: string;
|
|
727
|
+
soc?: string | undefined;
|
|
728
|
+
ext?: string | undefined;
|
|
703
729
|
}, {
|
|
704
730
|
title: string;
|
|
705
731
|
added: string;
|
|
732
|
+
soc?: string | undefined;
|
|
733
|
+
ext?: string | undefined;
|
|
706
734
|
}>>;
|
|
707
735
|
}, "strip", z.ZodTypeAny, {
|
|
708
736
|
currentJobPreferences: Record<string, {
|
|
709
737
|
title: string;
|
|
710
738
|
added: string;
|
|
739
|
+
soc?: string | undefined;
|
|
740
|
+
ext?: string | undefined;
|
|
711
741
|
}>;
|
|
712
742
|
}, {
|
|
713
743
|
currentJobPreferences: Record<string, {
|
|
714
744
|
title: string;
|
|
715
745
|
added: string;
|
|
746
|
+
soc?: string | undefined;
|
|
747
|
+
ext?: string | undefined;
|
|
716
748
|
}>;
|
|
717
749
|
}>;
|
|
718
750
|
};
|
|
@@ -17,6 +17,11 @@ const zod_1 = require("zod");
|
|
|
17
17
|
const jobRoleResult = zod_1.z.object({
|
|
18
18
|
soc: zod_1.z.string(),
|
|
19
19
|
title: zod_1.z.string(),
|
|
20
|
+
/** The 6-digit sub-unit group this title actually names, where the coding
|
|
21
|
+
* index gave one. Search collapses on this rather than on `soc`, so
|
|
22
|
+
* "Computer games designers" and "Software developers" come back as the two
|
|
23
|
+
* different jobs they are instead of one row for all of SOC 2134. */
|
|
24
|
+
ext: zod_1.z.string().optional(),
|
|
20
25
|
});
|
|
21
26
|
/** The student-facing profile of one job role. Deliberately a subset of
|
|
22
27
|
* LmiOccupation: no SOC codes, region codes or source/vintage fields, since none of
|
|
@@ -103,13 +108,19 @@ exports.jobRolesCallables = {
|
|
|
103
108
|
request: zod_1.z.object({
|
|
104
109
|
/** Roles to heart. Ignored if already present, so the added date sticks. */
|
|
105
110
|
add: zod_1.z.array(jobRoleResult).optional(),
|
|
106
|
-
/**
|
|
111
|
+
/** Preference keys to un-heart, as `preferenceKey` builds them:
|
|
112
|
+
* "2134-01" for a sub-unit, "2134" for a bare SOC. */
|
|
107
113
|
remove: zod_1.z.array(zod_1.z.string()).optional(),
|
|
108
114
|
}),
|
|
109
115
|
response: zod_1.z.object({
|
|
116
|
+
/** Keyed by sub-unit group where the role has one ("2134-01"), by
|
|
117
|
+
* bare SOC otherwise. Build and read keys with core's
|
|
118
|
+
* `preferenceKey` / `socFromPreferenceKey`. */
|
|
110
119
|
currentJobPreferences: zod_1.z.record(zod_1.z.object({
|
|
111
120
|
title: zod_1.z.string(),
|
|
112
121
|
added: zod_1.z.string(),
|
|
122
|
+
soc: zod_1.z.string().optional(),
|
|
123
|
+
ext: zod_1.z.string().optional(),
|
|
113
124
|
})),
|
|
114
125
|
}),
|
|
115
126
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRoles.js","sourceRoot":"","sources":["../../src/callables/jobRoles.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAGtB;;;;;;;;;GASG;AAEH;4CAC4C;AAC5C,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"jobRoles.js","sourceRoot":"","sources":["../../src/callables/jobRoles.ts"],"names":[],"mappings":"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"}
|