placementt-core 1.400.970 → 1.400.972

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.
@@ -891,6 +891,9 @@ export type InstituteData = {
891
891
  adminBillingContactId?: string;
892
892
  employerEvents?: boolean;
893
893
  workExperience?: boolean;
894
+ careersEvents?: boolean;
895
+ skillsAssessmentsProduct?: boolean;
896
+ trackExtracurriculars?: boolean;
894
897
  destinationTracking?: boolean;
895
898
  docCheck?: boolean;
896
899
  adminLastCheckedDocs?: string;
@@ -938,9 +941,12 @@ export type InstituteData = {
938
941
  /** Only meaningful when skillsFramework is "custom": the selected skillsLabels ids
939
942
  * (generic public labels and/or the school's own custom labels). */
940
943
  skills: string[];
941
- /** Staff-defined rules serving specific skills to specific students based on their
942
- * detail fields (studentsFields). Evaluated at assessment view time. */
944
+ /** Staff-defined student groups serving specific skills to specific students based
945
+ * on their detail fields (studentsFields). Evaluated at assessment view time. */
943
946
  skillsMappings?: SkillsMapping[];
947
+ /** Annual survey schedule for the default "All students" group. Auto-provisioned
948
+ * into each academic year by the daily cron. */
949
+ skillsSurveys?: SkillsSurveySlot[];
944
950
  scheduledSkillsAssessments?: {
945
951
  [key in "yearStart" | "yearEnd" | "eachTerm" | "preWorkExperience" | "postWorkExperience" | "employerInteraction"]?: {
946
952
  students?: boolean;
@@ -2876,13 +2882,25 @@ export type SkillLabel = {
2876
2882
  * Absent for platform-wide labels. */
2877
2883
  oId?: string;
2878
2884
  };
2885
+ /** One scheduled skills survey in a group's annual programme. `sendMMDD` is "MM-DD".
2886
+ * Auto-provisioned into each new academic year by the daily cron (mirrors the
2887
+ * aspirations AspirationSurveySlot model). */
2888
+ export type SkillsSurveySlot = {
2889
+ sendMMDD: string;
2890
+ label?: string;
2891
+ students?: boolean;
2892
+ parents?: boolean;
2893
+ };
2879
2894
  /**
2880
- * A staff-defined rule mapping students to the skills they are served on assessments.
2881
- * `filters` keys are student detail field names (from InstituteData.studentsFields);
2882
- * values are the accepted values for that field. A student matches a rule when EVERY
2883
- * filtered field's value is one of the accepted values (values within a field are OR,
2884
- * fields are AND). A student matching multiple rules is served the UNION of their
2885
- * skills. A student matching no rule falls back to the institute's full base set.
2895
+ * A staff-defined student group mapping students to the skills they are served on
2896
+ * assessments. `filters` keys are student detail field names (from
2897
+ * InstituteData.studentsFields); values are the accepted values for that field. A
2898
+ * student matches a group when EVERY filtered field's value is one of the accepted
2899
+ * values (values within a field are OR, fields are AND). A student matching multiple
2900
+ * groups is served the UNION of their skills. A student matching no group falls back
2901
+ * to the institute's "All students" base set (skillsFramework/skills).
2902
+ * Each group carries its own annual survey schedule; the "All students" default
2903
+ * group's schedule lives on InstituteData.skillsSurveys.
2886
2904
  */
2887
2905
  export type SkillsMapping = {
2888
2906
  id: string;
@@ -2891,6 +2909,7 @@ export type SkillsMapping = {
2891
2909
  [field: string]: string[];
2892
2910
  };
2893
2911
  skills: string[];
2912
+ surveys?: SkillsSurveySlot[];
2894
2913
  };
2895
2914
  /** Rater types for skills assessments (mirrors SkillAssessment.userType). */
2896
2915
  export type SkillRater = "students" | "parents" | "employers";
@@ -2982,6 +3001,8 @@ export type SkillAssessmentRequest = {
2982
3001
  oId: string;
2983
3002
  academicYear?: string;
2984
3003
  yearGroup?: number;
3004
+ groupId?: string;
3005
+ preResolved?: boolean;
2985
3006
  sendTime?: string;
2986
3007
  students: string;
2987
3008
  requestParents?: boolean;
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.970",
5
+ "version": "1.400.972",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -893,6 +893,9 @@ export type InstituteData = {
893
893
  // Packages institutes can be signed up to
894
894
  employerEvents?: boolean,
895
895
  workExperience?: boolean,
896
+ careersEvents?: boolean,
897
+ skillsAssessmentsProduct?: boolean,
898
+ trackExtracurriculars?: boolean,
896
899
  destinationTracking?: boolean,
897
900
  docCheck?: boolean,
898
901
  adminLastCheckedDocs?: string,
@@ -947,9 +950,12 @@ export type InstituteData = {
947
950
  /** Only meaningful when skillsFramework is "custom": the selected skillsLabels ids
948
951
  * (generic public labels and/or the school's own custom labels). */
949
952
  skills: string[]
950
- /** Staff-defined rules serving specific skills to specific students based on their
951
- * detail fields (studentsFields). Evaluated at assessment view time. */
953
+ /** Staff-defined student groups serving specific skills to specific students based
954
+ * on their detail fields (studentsFields). Evaluated at assessment view time. */
952
955
  skillsMappings?: SkillsMapping[],
956
+ /** Annual survey schedule for the default "All students" group. Auto-provisioned
957
+ * into each academic year by the daily cron. */
958
+ skillsSurveys?: SkillsSurveySlot[],
953
959
  scheduledSkillsAssessments?: {
954
960
  [key in "yearStart" | "yearEnd" | "eachTerm" | "preWorkExperience" | "postWorkExperience" | "employerInteraction"]?: {
955
961
  students?: boolean,
@@ -2797,19 +2803,33 @@ export type SkillLabel = {
2797
2803
  oId?: string,
2798
2804
  }
2799
2805
 
2806
+ /** One scheduled skills survey in a group's annual programme. `sendMMDD` is "MM-DD".
2807
+ * Auto-provisioned into each new academic year by the daily cron (mirrors the
2808
+ * aspirations AspirationSurveySlot model). */
2809
+ export type SkillsSurveySlot = {
2810
+ sendMMDD: string,
2811
+ label?: string,
2812
+ students?: boolean,
2813
+ parents?: boolean,
2814
+ }
2815
+
2800
2816
  /**
2801
- * A staff-defined rule mapping students to the skills they are served on assessments.
2802
- * `filters` keys are student detail field names (from InstituteData.studentsFields);
2803
- * values are the accepted values for that field. A student matches a rule when EVERY
2804
- * filtered field's value is one of the accepted values (values within a field are OR,
2805
- * fields are AND). A student matching multiple rules is served the UNION of their
2806
- * skills. A student matching no rule falls back to the institute's full base set.
2817
+ * A staff-defined student group mapping students to the skills they are served on
2818
+ * assessments. `filters` keys are student detail field names (from
2819
+ * InstituteData.studentsFields); values are the accepted values for that field. A
2820
+ * student matches a group when EVERY filtered field's value is one of the accepted
2821
+ * values (values within a field are OR, fields are AND). A student matching multiple
2822
+ * groups is served the UNION of their skills. A student matching no group falls back
2823
+ * to the institute's "All students" base set (skillsFramework/skills).
2824
+ * Each group carries its own annual survey schedule; the "All students" default
2825
+ * group's schedule lives on InstituteData.skillsSurveys.
2807
2826
  */
2808
2827
  export type SkillsMapping = {
2809
2828
  id: string,
2810
2829
  name?: string,
2811
2830
  filters: {[field: string]: string[]},
2812
2831
  skills: string[],
2832
+ surveys?: SkillsSurveySlot[],
2813
2833
  }
2814
2834
 
2815
2835
  /** Rater types for skills assessments (mirrors SkillAssessment.userType). */
@@ -2903,6 +2923,9 @@ export type SkillAssessmentRequest = {
2903
2923
  // documents stay valid — legacy requests without them surface as "Ungrouped".
2904
2924
  academicYear?: string, // e.g. "2024-25", derived from sendTime/creation
2905
2925
  yearGroup?: number, // the single year group this request targets
2926
+ // ── Auto-provisioned group surveys (set by the daily cron) ──
2927
+ groupId?: string, // SkillsMapping.id, or "all" for the All students group
2928
+ preResolved?: boolean, // per-student assessments created by the cron — onRequestCreated skips fan-out
2906
2929
  sendTime?: string,
2907
2930
  students: string // JSON stringify
2908
2931
  // {