placementt-core 1.400.1095 → 1.400.1097

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.
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Contract for the Careers Hub impact report
4
+ * (`Placementt-Backend/functions/src/hubImpactReport.ts`).
5
+ *
6
+ * The school/trust impact report is scoped by cohort, because a school's year IS
7
+ * its cohort. A hub has no cohort, so this one is scoped by date instead, and by
8
+ * nothing else: everything in the report is derived from the hub's own links,
9
+ * employer network, events, opportunities and campaigns, so there is no filter
10
+ * the client could pass that the server should trust.
11
+ */
12
+ export declare const hubImpactReportCallables: {
13
+ "hubImpactReport-createHubImpactReport": {
14
+ request: z.ZodObject<{
15
+ /** The careers hub to report on. Omitted means the caller's own
16
+ * organisation; a different one is allowed only where the caller
17
+ * already has staff access to it. */
18
+ oId: z.ZodOptional<z.ZodString>;
19
+ /** Inclusive ISO start date. Both ends must be given, or the report
20
+ * falls back to the current academic year (1 September onwards) -
21
+ * which is the period a hub means by "this year" anyway. */
22
+ startDate: z.ZodOptional<z.ZodString>;
23
+ /** Inclusive ISO end date. */
24
+ endDate: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ oId?: string | undefined;
27
+ startDate?: string | undefined;
28
+ endDate?: string | undefined;
29
+ }, {
30
+ oId?: string | undefined;
31
+ startDate?: string | undefined;
32
+ endDate?: string | undefined;
33
+ }>;
34
+ /** The Storage path of the generated PDF. The client resolves it with
35
+ * getDownloadURL, so the download is governed by the Storage rules
36
+ * rather than by a signed URL the functions runtime cannot mint. */
37
+ response: z.ZodString;
38
+ };
39
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hubImpactReportCallables = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Contract for the Careers Hub impact report
7
+ * (`Placementt-Backend/functions/src/hubImpactReport.ts`).
8
+ *
9
+ * The school/trust impact report is scoped by cohort, because a school's year IS
10
+ * its cohort. A hub has no cohort, so this one is scoped by date instead, and by
11
+ * nothing else: everything in the report is derived from the hub's own links,
12
+ * employer network, events, opportunities and campaigns, so there is no filter
13
+ * the client could pass that the server should trust.
14
+ */
15
+ exports.hubImpactReportCallables = {
16
+ "hubImpactReport-createHubImpactReport": {
17
+ request: zod_1.z.object({
18
+ /** The careers hub to report on. Omitted means the caller's own
19
+ * organisation; a different one is allowed only where the caller
20
+ * already has staff access to it. */
21
+ oId: zod_1.z.string().optional(),
22
+ /** Inclusive ISO start date. Both ends must be given, or the report
23
+ * falls back to the current academic year (1 September onwards) -
24
+ * which is the period a hub means by "this year" anyway. */
25
+ startDate: zod_1.z.string().optional(),
26
+ /** Inclusive ISO end date. */
27
+ endDate: zod_1.z.string().optional(),
28
+ }),
29
+ /** The Storage path of the generated PDF. The client resolves it with
30
+ * getDownloadURL, so the download is governed by the Storage rules
31
+ * rather than by a signed URL the functions runtime cannot mint. */
32
+ response: zod_1.z.string(),
33
+ },
34
+ };
35
+ //# sourceMappingURL=hubImpactReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubImpactReport.js","sourceRoot":"","sources":["../../src/callables/hubImpactReport.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAGtB;;;;;;;;;GASG;AACU,QAAA,wBAAwB,GAAG;IACpC,uCAAuC,EAAE;QACrC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd;;iDAEqC;YACrC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC1B;;wEAE4D;YAC5D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,8BAA8B;YAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF;;4EAEoE;QACpE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;KACvB;CACoB,CAAC"}
@@ -8,3 +8,4 @@ export * from "./apprenticeships";
8
8
  export * from "./he";
9
9
  export * from "./activityLogging";
10
10
  export * from "./billing";
11
+ export * from "./hubImpactReport";
@@ -24,4 +24,5 @@ __exportStar(require("./apprenticeships"), exports);
24
24
  __exportStar(require("./he"), exports);
25
25
  __exportStar(require("./activityLogging"), exports);
26
26
  __exportStar(require("./billing"), exports);
27
+ __exportStar(require("./hubImpactReport"), exports);
27
28
  //# 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;AAC3B,oDAAkC;AAClC,uCAAqB;AACrB,oDAAkC;AAClC,4CAA0B"}
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;AACrB,oDAAkC;AAClC,4CAA0B;AAC1B,oDAAkC"}
@@ -11,6 +11,22 @@ import { z } from "zod";
11
11
  * equals the sum of the group key counts.
12
12
  */
13
13
  export declare const allCallables: {
14
+ "hubImpactReport-createHubImpactReport": {
15
+ request: z.ZodObject<{
16
+ oId: z.ZodOptional<z.ZodString>;
17
+ startDate: z.ZodOptional<z.ZodString>;
18
+ endDate: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ oId?: string | undefined;
21
+ startDate?: string | undefined;
22
+ endDate?: string | undefined;
23
+ }, {
24
+ oId?: string | undefined;
25
+ startDate?: string | undefined;
26
+ endDate?: string | undefined;
27
+ }>;
28
+ response: z.ZodString;
29
+ };
14
30
  "jobRoles-getSchoolPopularity": {
15
31
  request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
16
32
  response: z.ZodObject<{
@@ -2035,4 +2051,22 @@ export declare const callableGroups: {
2035
2051
  }>;
2036
2052
  };
2037
2053
  };
2054
+ hubImpactReportCallables: {
2055
+ "hubImpactReport-createHubImpactReport": {
2056
+ request: z.ZodObject<{
2057
+ oId: z.ZodOptional<z.ZodString>;
2058
+ startDate: z.ZodOptional<z.ZodString>;
2059
+ endDate: z.ZodOptional<z.ZodString>;
2060
+ }, "strip", z.ZodTypeAny, {
2061
+ oId?: string | undefined;
2062
+ startDate?: string | undefined;
2063
+ endDate?: string | undefined;
2064
+ }, {
2065
+ oId?: string | undefined;
2066
+ startDate?: string | undefined;
2067
+ endDate?: string | undefined;
2068
+ }>;
2069
+ response: z.ZodString;
2070
+ };
2071
+ };
2038
2072
  };
@@ -12,6 +12,7 @@ const he_1 = require("./he");
12
12
  const activityLogging_1 = require("./activityLogging");
13
13
  const billing_1 = require("./billing");
14
14
  const jobRoles_1 = require("./jobRoles");
15
+ const hubImpactReport_1 = require("./hubImpactReport");
15
16
  /**
16
17
  * The single source of truth for every typed callable. Add a feature group's
17
18
  * spread here and its callables are automatically covered by:
@@ -35,7 +36,8 @@ exports.allCallables = {
35
36
  ...activityLogging_1.activityLoggingCallables,
36
37
  ...billing_1.billingCallables,
37
38
  ...jobRoles_1.jobRolesCallables,
39
+ ...hubImpactReport_1.hubImpactReportCallables,
38
40
  };
39
41
  /** The per-group maps, exported so tests can assert no key collisions. */
40
- exports.callableGroups = { destinationsConfigCallables: destinationsConfig_1.destinationsConfigCallables, placementCallables: placement_1.placementCallables, eventsCallables: events_1.eventsCallables, surveyCallables: surveys_1.surveyCallables, checksCallables: checks_1.checksCallables, benchmarksCallables: benchmarks_1.benchmarksCallables, apprenticeshipsCallables: apprenticeships_1.apprenticeshipsCallables, heCallables: he_1.heCallables, activityLoggingCallables: activityLogging_1.activityLoggingCallables, billingCallables: billing_1.billingCallables, jobRolesCallables: jobRoles_1.jobRolesCallables };
42
+ exports.callableGroups = { destinationsConfigCallables: destinationsConfig_1.destinationsConfigCallables, placementCallables: placement_1.placementCallables, eventsCallables: events_1.eventsCallables, surveyCallables: surveys_1.surveyCallables, checksCallables: checks_1.checksCallables, benchmarksCallables: benchmarks_1.benchmarksCallables, apprenticeshipsCallables: apprenticeships_1.apprenticeshipsCallables, heCallables: he_1.heCallables, activityLoggingCallables: activityLogging_1.activityLoggingCallables, billingCallables: billing_1.billingCallables, jobRolesCallables: jobRoles_1.jobRolesCallables, hubImpactReportCallables: hubImpactReport_1.hubImpactReportCallables };
41
43
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/callables/registry.ts"],"names":[],"mappings":";;;AAEA,6DAAiE;AACjE,2CAA+C;AAC/C,qCAAyC;AACzC,uCAA0C;AAC1C,qCAAyC;AACzC,6CAAiD;AACjD,uDAA2D;AAC3D,6BAAiC;AACjC,uDAA2D;AAC3D,uCAA2C;AAC3C,yCAA6C;AAE7C;;;;;;;;;;GAUG;AACU,QAAA,YAAY,GAAG;IACxB,GAAG,gDAA2B;IAC9B,GAAG,8BAAkB;IACrB,GAAG,wBAAe;IAClB,GAAG,yBAAe;IAClB,GAAG,wBAAe;IAClB,GAAG,gCAAmB;IACtB,GAAG,0CAAwB;IAC3B,GAAG,gBAAW;IACd,GAAG,0CAAwB;IAC3B,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;CACC,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG,EAAC,2BAA2B,EAA3B,gDAA2B,EAAE,kBAAkB,EAAlB,8BAAkB,EAAE,eAAe,EAAf,wBAAe,EAAE,eAAe,EAAf,yBAAe,EAAE,eAAe,EAAf,wBAAe,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,WAAW,EAAX,gBAAW,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,gBAAgB,EAAhB,0BAAgB,EAAE,iBAAiB,EAAjB,4BAAiB,EAAC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/callables/registry.ts"],"names":[],"mappings":";;;AAEA,6DAAiE;AACjE,2CAA+C;AAC/C,qCAAyC;AACzC,uCAA0C;AAC1C,qCAAyC;AACzC,6CAAiD;AACjD,uDAA2D;AAC3D,6BAAiC;AACjC,uDAA2D;AAC3D,uCAA2C;AAC3C,yCAA6C;AAC7C,uDAA2D;AAE3D;;;;;;;;;;GAUG;AACU,QAAA,YAAY,GAAG;IACxB,GAAG,gDAA2B;IAC9B,GAAG,8BAAkB;IACrB,GAAG,wBAAe;IAClB,GAAG,yBAAe;IAClB,GAAG,wBAAe;IAClB,GAAG,gCAAmB;IACtB,GAAG,0CAAwB;IAC3B,GAAG,gBAAW;IACd,GAAG,0CAAwB;IAC3B,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;IACpB,GAAG,0CAAwB;CACN,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG,EAAC,2BAA2B,EAA3B,gDAA2B,EAAE,kBAAkB,EAAlB,8BAAkB,EAAE,eAAe,EAAf,wBAAe,EAAE,eAAe,EAAf,yBAAe,EAAE,eAAe,EAAf,wBAAe,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,WAAW,EAAX,gBAAW,EAAE,wBAAwB,EAAxB,0CAAwB,EAAE,gBAAgB,EAAhB,0BAAgB,EAAE,iBAAiB,EAAjB,4BAAiB,EAAE,wBAAwB,EAAxB,0CAAwB,EAAC,CAAC"}
@@ -30,6 +30,13 @@ import { SurveyGroupScope } from "./surveys/types";
30
30
  * dashboard reads the campaign it is handed. Neither side works adoption out
31
31
  * for itself.
32
32
  */
33
+ /**
34
+ * The switch for the whole engagement engine: the backend's weekly emails and
35
+ * the web app's homepage popup. Hardcoded on purpose. Nothing is sent and
36
+ * nothing is shown until this is true, and it is flipped in one place for both
37
+ * sides rather than deployed half at a time. Dry runs and Storybook ignore it.
38
+ */
39
+ export declare const ENGAGEMENT_ENGINE_ENABLED = false;
33
40
  /** Every feature the engine can market. Stable keys: they name campaign documents. */
34
41
  export type FeatureMarketingKey = "wexCohort" | "alumni" | "leavers" | "aspirations" | "parents" | "skills" | "activities" | "careersLibrary" | "guidance" | "events" | "employerPortal" | "impactReport";
35
42
  export declare const FEATURE_MARKETING_KEYS: FeatureMarketingKey[];
@@ -1,8 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.featureMarketingCandidates = exports.evaluateFeatureAdoption = exports.featureMarketingCountsNeeded = exports.FEATURE_MARKETING_BY_KEY = exports.FEATURE_MARKETING = exports.inFeatureMarketingSeason = exports.featureTouchDelays = exports.FEATURE_MARKETING_TOUCH_DELAYS_DAYS = exports.BREVO_TEMPLATE_UNSET = exports.FEATURE_MARKETING_KEYS = void 0;
3
+ exports.featureMarketingCandidates = exports.evaluateFeatureAdoption = exports.featureMarketingCountsNeeded = exports.FEATURE_MARKETING_BY_KEY = exports.FEATURE_MARKETING = exports.inFeatureMarketingSeason = exports.featureTouchDelays = exports.FEATURE_MARKETING_TOUCH_DELAYS_DAYS = exports.BREVO_TEMPLATE_UNSET = exports.FEATURE_MARKETING_KEYS = exports.ENGAGEMENT_ENGINE_ENABLED = void 0;
4
4
  const activityLogging_1 = require("./activityLogging");
5
5
  const schedule_1 = require("./surveys/schedule");
6
+ /**
7
+ * Feature marketing: the things a customer already pays for but has never set
8
+ * up, and whether now is the time to tell them about one.
9
+ *
10
+ * Every feature has a wizard behind a tab that nobody finds, and the way a
11
+ * school learns it exists is an email in the right month with a card on the
12
+ * dashboard that says the same thing. This module is the registry those two
13
+ * surfaces share, and the detectors that decide "set up" from the database
14
+ * rather than from whether anyone opened the last email.
15
+ *
16
+ * "Adopted" means ever set up, never "built for this year". A school whose
17
+ * aspiration surveys ran last year and are not built for this one is not a
18
+ * marketing prospect, it is a school with a yearly step outstanding, and that
19
+ * is onboarding's to chase (onboardingPathways.ts, state `yearMissing`).
20
+ * Marketing pitches `unconfigured` and nothing else.
21
+ *
22
+ * The exception is a yearly deliverable with no setup behind it, like the
23
+ * impact report: there "adopted" is this year's, because last year's is not
24
+ * the thing being offered, and a campaign per academic year is exactly the
25
+ * cadence wanted. Campaign ids carry the academic year, so it comes round
26
+ * again on its own.
27
+ *
28
+ * It is deliberately pure. Adoption is judged from the institute document plus
29
+ * a handful of counts the caller fetches, and each entry says which counts it
30
+ * needs (`needs`) so the backend cron fetches nothing a feature does not ask
31
+ * for. Campaign state, cooling-off and sending live in the backend; the
32
+ * dashboard reads the campaign it is handed. Neither side works adoption out
33
+ * for itself.
34
+ */
35
+ /**
36
+ * The switch for the whole engagement engine: the backend's weekly emails and
37
+ * the web app's homepage popup. Hardcoded on purpose. Nothing is sent and
38
+ * nothing is shown until this is true, and it is flipped in one place for both
39
+ * sides rather than deployed half at a time. Dry runs and Storybook ignore it.
40
+ */
41
+ exports.ENGAGEMENT_ENGINE_ENABLED = false;
6
42
  exports.FEATURE_MARKETING_KEYS = [
7
43
  "wexCohort", "alumni", "leavers", "aspirations", "parents", "skills",
8
44
  "activities", "careersLibrary", "guidance", "events", "employerPortal", "impactReport",
@@ -1 +1 @@
1
- {"version":3,"file":"featureMarketing.js","sourceRoot":"","sources":["../src/featureMarketing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureMarketing.js","sourceRoot":"","sources":["../src/featureMarketing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.400.1095",
5
+ "version": "1.400.1097",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -0,0 +1,33 @@
1
+ import {z} from "zod";
2
+ import {CallableGroup} from "./types";
3
+
4
+ /**
5
+ * Contract for the Careers Hub impact report
6
+ * (`Placementt-Backend/functions/src/hubImpactReport.ts`).
7
+ *
8
+ * The school/trust impact report is scoped by cohort, because a school's year IS
9
+ * its cohort. A hub has no cohort, so this one is scoped by date instead, and by
10
+ * nothing else: everything in the report is derived from the hub's own links,
11
+ * employer network, events, opportunities and campaigns, so there is no filter
12
+ * the client could pass that the server should trust.
13
+ */
14
+ export const hubImpactReportCallables = {
15
+ "hubImpactReport-createHubImpactReport": {
16
+ request: z.object({
17
+ /** The careers hub to report on. Omitted means the caller's own
18
+ * organisation; a different one is allowed only where the caller
19
+ * already has staff access to it. */
20
+ oId: z.string().optional(),
21
+ /** Inclusive ISO start date. Both ends must be given, or the report
22
+ * falls back to the current academic year (1 September onwards) -
23
+ * which is the period a hub means by "this year" anyway. */
24
+ startDate: z.string().optional(),
25
+ /** Inclusive ISO end date. */
26
+ endDate: z.string().optional(),
27
+ }),
28
+ /** The Storage path of the generated PDF. The client resolves it with
29
+ * getDownloadURL, so the download is governed by the Storage rules
30
+ * rather than by a signed URL the functions runtime cannot mint. */
31
+ response: z.string(),
32
+ },
33
+ } satisfies CallableGroup;
@@ -8,3 +8,4 @@ export * from "./apprenticeships";
8
8
  export * from "./he";
9
9
  export * from "./activityLogging";
10
10
  export * from "./billing";
11
+ export * from "./hubImpactReport";
@@ -11,6 +11,7 @@ import {heCallables} from "./he";
11
11
  import {activityLoggingCallables} from "./activityLogging";
12
12
  import {billingCallables} from "./billing";
13
13
  import {jobRolesCallables} from "./jobRoles";
14
+ import {hubImpactReportCallables} from "./hubImpactReport";
14
15
 
15
16
  /**
16
17
  * The single source of truth for every typed callable. Add a feature group's
@@ -35,6 +36,7 @@ export const allCallables = {
35
36
  ...activityLoggingCallables,
36
37
  ...billingCallables,
37
38
  ...jobRolesCallables,
39
+ ...hubImpactReportCallables,
38
40
  } satisfies CallableGroup;
39
41
 
40
42
  /** Every registered callable name. */
@@ -53,4 +55,4 @@ export type CallableContracts = {
53
55
  };
54
56
 
55
57
  /** The per-group maps, exported so tests can assert no key collisions. */
56
- export const callableGroups = {destinationsConfigCallables, placementCallables, eventsCallables, surveyCallables, checksCallables, benchmarksCallables, apprenticeshipsCallables, heCallables, activityLoggingCallables, billingCallables, jobRolesCallables};
58
+ export const callableGroups = {destinationsConfigCallables, placementCallables, eventsCallables, surveyCallables, checksCallables, benchmarksCallables, apprenticeshipsCallables, heCallables, activityLoggingCallables, billingCallables, jobRolesCallables, hubImpactReportCallables};
@@ -34,6 +34,14 @@ import {SurveyGroupScope} from "./surveys/types";
34
34
  * for itself.
35
35
  */
36
36
 
37
+ /**
38
+ * The switch for the whole engagement engine: the backend's weekly emails and
39
+ * the web app's homepage popup. Hardcoded on purpose. Nothing is sent and
40
+ * nothing is shown until this is true, and it is flipped in one place for both
41
+ * sides rather than deployed half at a time. Dry runs and Storybook ignore it.
42
+ */
43
+ export const ENGAGEMENT_ENGINE_ENABLED = false;
44
+
37
45
  /** Every feature the engine can market. Stable keys: they name campaign documents. */
38
46
  export type FeatureMarketingKey =
39
47
  "wexCohort"|"alumni"|"leavers"|"aspirations"|"parents"|"skills"|