placementt-core 1.400.1202 → 1.400.1203
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/typeDefinitions.d.ts +6 -0
- package/lib/typeDefinitions.js.map +1 -1
- package/lib/workflows.d.ts +7 -0
- package/lib/workflows.js +13 -1
- package/lib/workflows.js.map +1 -1
- package/package.json +1 -1
- package/src/typeDefinitions.ts +6 -0
- package/src/workflows.ts +13 -0
package/lib/typeDefinitions.d.ts
CHANGED
|
@@ -1000,6 +1000,12 @@ export type WorkflowConfig = {
|
|
|
1000
1000
|
/** Flattened forms/files used across the stages, mirroring CohortData.forms/files. */
|
|
1001
1001
|
forms?: string[];
|
|
1002
1002
|
files?: string[];
|
|
1003
|
+
/** The template each workflow email uses, by emailTemplates key. Copied onto every
|
|
1004
|
+
* cohort on this workflow (CohortData.emailTemplates), which the backend reads when
|
|
1005
|
+
* sending. Absent means the cohorts keep their own. */
|
|
1006
|
+
emailTemplates?: CohortData["emailTemplates"];
|
|
1007
|
+
/** Workflow emails switched off, copied onto every cohort on this workflow the same way. */
|
|
1008
|
+
disabledEmails?: string[];
|
|
1003
1009
|
/** Authored by a trust (institutes-two) for the schools beneath it. A trust
|
|
1004
1010
|
* requires a workflow by putting it on a mandatory cohort template
|
|
1005
1011
|
* (InstituteData.cohortConfig), not by marking the workflow itself. */
|
|
@@ -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":";;;AA2uIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA/pED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA2kEzC;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/lib/workflows.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export declare function flattenWorkflowFormsAndFiles(workflow: WorkflowStage[]):
|
|
|
35
35
|
forms: string[];
|
|
36
36
|
files: string[];
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* The email settings a workflow hands the cohorts on it, with only the fields it sets.
|
|
40
|
+
* A workflow saved before emails moved onto it sets neither, so its cohorts keep their own.
|
|
41
|
+
*/
|
|
42
|
+
export declare const workflowEmailSettings: (config?: Pick<WorkflowConfig, "emailTemplates" | "disabledEmails">) => Pick<CohortData, "emailTemplates" | "disabledEmails">;
|
|
43
|
+
/** Whether a workflow's emails are its trust's to set, so the school running it can't change them. */
|
|
44
|
+
export declare const workflowEmailsLockedFor: (config: Pick<WorkflowConfig, "trust" | "oId"> | undefined, oId: string) => boolean;
|
|
38
45
|
/**
|
|
39
46
|
* The workflow a cohort actually runs on: its referenced workflow doc with the cohort's
|
|
40
47
|
* own overrides applied. Pass the workflows already loaded in context/memory.
|
package/lib/workflows.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.cohortWorkflowConfigured = exports.workflowEditPolicy = exports.trustWorkflows = exports.approvedTrustId = void 0;
|
|
6
|
+
exports.cohortWorkflowConfigured = exports.workflowEmailsLockedFor = exports.workflowEmailSettings = exports.workflowEditPolicy = exports.trustWorkflows = exports.approvedTrustId = void 0;
|
|
7
7
|
exports.applyWorkflowOverrides = applyWorkflowOverrides;
|
|
8
8
|
exports.diffWorkflowOverrides = diffWorkflowOverrides;
|
|
9
9
|
exports.enforceEditPolicy = enforceEditPolicy;
|
|
@@ -89,6 +89,18 @@ function flattenWorkflowFormsAndFiles(workflow) {
|
|
|
89
89
|
});
|
|
90
90
|
return { forms: [...forms], files: [...files] };
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* The email settings a workflow hands the cohorts on it, with only the fields it sets.
|
|
94
|
+
* A workflow saved before emails moved onto it sets neither, so its cohorts keep their own.
|
|
95
|
+
*/
|
|
96
|
+
const workflowEmailSettings = (config) => ({
|
|
97
|
+
...(config?.emailTemplates ? { emailTemplates: config.emailTemplates } : {}),
|
|
98
|
+
...(config?.disabledEmails ? { disabledEmails: config.disabledEmails } : {}),
|
|
99
|
+
});
|
|
100
|
+
exports.workflowEmailSettings = workflowEmailSettings;
|
|
101
|
+
/** Whether a workflow's emails are its trust's to set, so the school running it can't change them. */
|
|
102
|
+
const workflowEmailsLockedFor = (config, oId) => Boolean(config?.trust && config.oId !== oId);
|
|
103
|
+
exports.workflowEmailsLockedFor = workflowEmailsLockedFor;
|
|
92
104
|
/**
|
|
93
105
|
* The workflow a cohort actually runs on: its referenced workflow doc with the cohort's
|
|
94
106
|
* own overrides applied. Pass the workflows already loaded in context/memory.
|
package/lib/workflows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":";;;;;;AA2BA,wDAWC;AAGD,sDAgBC;AASD,8CAMC;AAGD,oEAQC;
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/typeDefinitions.ts
CHANGED
|
@@ -1015,6 +1015,12 @@ export type WorkflowConfig = {
|
|
|
1015
1015
|
/** Flattened forms/files used across the stages, mirroring CohortData.forms/files. */
|
|
1016
1016
|
forms?: string[],
|
|
1017
1017
|
files?: string[],
|
|
1018
|
+
/** The template each workflow email uses, by emailTemplates key. Copied onto every
|
|
1019
|
+
* cohort on this workflow (CohortData.emailTemplates), which the backend reads when
|
|
1020
|
+
* sending. Absent means the cohorts keep their own. */
|
|
1021
|
+
emailTemplates?: CohortData["emailTemplates"],
|
|
1022
|
+
/** Workflow emails switched off, copied onto every cohort on this workflow the same way. */
|
|
1023
|
+
disabledEmails?: string[],
|
|
1018
1024
|
// --- Trust-authored workflows only ---
|
|
1019
1025
|
/** Authored by a trust (institutes-two) for the schools beneath it. A trust
|
|
1020
1026
|
* requires a workflow by putting it on a mandatory cohort template
|
package/src/workflows.ts
CHANGED
|
@@ -83,6 +83,19 @@ export function flattenWorkflowFormsAndFiles(workflow: WorkflowStage[]) {
|
|
|
83
83
|
return {forms: [...forms], files: [...files]};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* The email settings a workflow hands the cohorts on it, with only the fields it sets.
|
|
88
|
+
* A workflow saved before emails moved onto it sets neither, so its cohorts keep their own.
|
|
89
|
+
*/
|
|
90
|
+
export const workflowEmailSettings = (config?: Pick<WorkflowConfig, "emailTemplates"|"disabledEmails">): Pick<CohortData, "emailTemplates"|"disabledEmails"> => ({
|
|
91
|
+
...(config?.emailTemplates ? {emailTemplates: config.emailTemplates} : {}),
|
|
92
|
+
...(config?.disabledEmails ? {disabledEmails: config.disabledEmails} : {}),
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
/** Whether a workflow's emails are its trust's to set, so the school running it can't change them. */
|
|
96
|
+
export const workflowEmailsLockedFor = (config: Pick<WorkflowConfig, "trust"|"oId">|undefined, oId: string) =>
|
|
97
|
+
Boolean(config?.trust && config.oId !== oId);
|
|
98
|
+
|
|
86
99
|
/**
|
|
87
100
|
* The workflow a cohort actually runs on: its referenced workflow doc with the cohort's
|
|
88
101
|
* own overrides applied. Pass the workflows already loaded in context/memory.
|