placementt-core 1.400.993 → 1.400.995

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.
@@ -15,7 +15,7 @@ export declare const allCallables: {
15
15
  request: z.ZodObject<{
16
16
  oId: z.ZodString;
17
17
  kind: z.ZodEnum<[string, ...string[]]>;
18
- yearGroups: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
18
+ yearGroups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
19
  scheduledSendDate: z.ZodString;
20
20
  academicYear: z.ZodOptional<z.ZodString>;
21
21
  closeAfterDays: z.ZodOptional<z.ZodNumber>;
@@ -48,7 +48,7 @@ export declare const allCallables: {
48
48
  scheduledSendDate: string;
49
49
  title?: string | undefined;
50
50
  description?: string | undefined;
51
- yearGroups?: number[] | undefined;
51
+ yearGroups?: string[] | undefined;
52
52
  students?: string | undefined;
53
53
  draft?: boolean | undefined;
54
54
  academicYear?: string | undefined;
@@ -70,7 +70,7 @@ export declare const allCallables: {
70
70
  scheduledSendDate: string;
71
71
  title?: string | undefined;
72
72
  description?: string | undefined;
73
- yearGroups?: number[] | undefined;
73
+ yearGroups?: string[] | undefined;
74
74
  students?: string | undefined;
75
75
  draft?: boolean | undefined;
76
76
  academicYear?: string | undefined;
@@ -90,37 +90,37 @@ export declare const allCallables: {
90
90
  response: z.ZodObject<{
91
91
  created: z.ZodArray<z.ZodObject<{
92
92
  cycleId: z.ZodString;
93
- yearGroup: z.ZodOptional<z.ZodNumber>;
93
+ yearGroup: z.ZodOptional<z.ZodString>;
94
94
  invited: z.ZodNumber;
95
95
  }, "strip", z.ZodTypeAny, {
96
96
  invited: number;
97
97
  cycleId: string;
98
- yearGroup?: number | undefined;
98
+ yearGroup?: string | undefined;
99
99
  }, {
100
100
  invited: number;
101
101
  cycleId: string;
102
- yearGroup?: number | undefined;
102
+ yearGroup?: string | undefined;
103
103
  }>, "many">;
104
- skippedEmpty: z.ZodArray<z.ZodNumber, "many">;
104
+ skippedEmpty: z.ZodArray<z.ZodString, "many">;
105
105
  skippedNoEmail: z.ZodNumber;
106
106
  academicYear: z.ZodString;
107
107
  }, "strip", z.ZodTypeAny, {
108
108
  created: {
109
109
  invited: number;
110
110
  cycleId: string;
111
- yearGroup?: number | undefined;
111
+ yearGroup?: string | undefined;
112
112
  }[];
113
113
  academicYear: string;
114
- skippedEmpty: number[];
114
+ skippedEmpty: string[];
115
115
  skippedNoEmail: number;
116
116
  }, {
117
117
  created: {
118
118
  invited: number;
119
119
  cycleId: string;
120
- yearGroup?: number | undefined;
120
+ yearGroup?: string | undefined;
121
121
  }[];
122
122
  academicYear: string;
123
- skippedEmpty: number[];
123
+ skippedEmpty: string[];
124
124
  skippedNoEmail: number;
125
125
  }>;
126
126
  };
@@ -140,20 +140,20 @@ export declare const allCallables: {
140
140
  }>;
141
141
  response: z.ZodObject<{
142
142
  cycleId: z.ZodString;
143
- yearGroup: z.ZodOptional<z.ZodNumber>;
143
+ yearGroup: z.ZodOptional<z.ZodString>;
144
144
  invited: z.ZodNumber;
145
145
  skippedNoEmail: z.ZodOptional<z.ZodNumber>;
146
146
  alreadyScheduled: z.ZodOptional<z.ZodBoolean>;
147
147
  }, "strip", z.ZodTypeAny, {
148
148
  invited: number;
149
149
  cycleId: string;
150
- yearGroup?: number | undefined;
150
+ yearGroup?: string | undefined;
151
151
  skippedNoEmail?: number | undefined;
152
152
  alreadyScheduled?: boolean | undefined;
153
153
  }, {
154
154
  invited: number;
155
155
  cycleId: string;
156
- yearGroup?: number | undefined;
156
+ yearGroup?: string | undefined;
157
157
  skippedNoEmail?: number | undefined;
158
158
  alreadyScheduled?: boolean | undefined;
159
159
  }>;
@@ -303,6 +303,74 @@ export declare const allCallables: {
303
303
  deleted: number;
304
304
  }>;
305
305
  };
306
+ "surveys-saveSurveyCohortSetup": {
307
+ request: z.ZodObject<{
308
+ oId: z.ZodString;
309
+ scope: z.ZodEnum<[string, ...string[]]>;
310
+ cohort: z.ZodString;
311
+ studentSelection: z.ZodOptional<z.ZodString>;
312
+ selectionSummary: z.ZodOptional<z.ZodString>;
313
+ emailTemplateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
314
+ applyToExisting: z.ZodOptional<z.ZodBoolean>;
315
+ }, "strip", z.ZodTypeAny, {
316
+ oId: string;
317
+ scope: string;
318
+ cohort: string;
319
+ emailTemplateId?: string | null | undefined;
320
+ studentSelection?: string | undefined;
321
+ selectionSummary?: string | undefined;
322
+ applyToExisting?: boolean | undefined;
323
+ }, {
324
+ oId: string;
325
+ scope: string;
326
+ cohort: string;
327
+ emailTemplateId?: string | null | undefined;
328
+ studentSelection?: string | undefined;
329
+ selectionSummary?: string | undefined;
330
+ applyToExisting?: boolean | undefined;
331
+ }>;
332
+ response: z.ZodObject<{
333
+ saved: z.ZodBoolean;
334
+ updatedCycles: z.ZodNumber;
335
+ invited: z.ZodNumber;
336
+ }, "strip", z.ZodTypeAny, {
337
+ invited: number;
338
+ saved: boolean;
339
+ updatedCycles: number;
340
+ }, {
341
+ invited: number;
342
+ saved: boolean;
343
+ updatedCycles: number;
344
+ }>;
345
+ };
346
+ "surveys-provisionSurveysNow": {
347
+ request: z.ZodObject<{
348
+ oId: z.ZodString;
349
+ scope: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
350
+ nextYear: z.ZodOptional<z.ZodBoolean>;
351
+ }, "strip", z.ZodTypeAny, {
352
+ oId: string;
353
+ scope?: string | undefined;
354
+ nextYear?: boolean | undefined;
355
+ }, {
356
+ oId: string;
357
+ scope?: string | undefined;
358
+ nextYear?: boolean | undefined;
359
+ }>;
360
+ response: z.ZodObject<{
361
+ created: z.ZodNumber;
362
+ academicYear: z.ZodString;
363
+ rolledForward: z.ZodBoolean;
364
+ }, "strip", z.ZodTypeAny, {
365
+ created: number;
366
+ academicYear: string;
367
+ rolledForward: boolean;
368
+ }, {
369
+ created: number;
370
+ academicYear: string;
371
+ rolledForward: boolean;
372
+ }>;
373
+ };
306
374
  "surveys-getMySurveyRequest": {
307
375
  request: z.ZodObject<{
308
376
  requestId: z.ZodString;
@@ -611,7 +679,7 @@ export declare const callableGroups: {
611
679
  request: z.ZodObject<{
612
680
  oId: z.ZodString;
613
681
  kind: z.ZodEnum<[string, ...string[]]>;
614
- yearGroups: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
682
+ yearGroups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
615
683
  scheduledSendDate: z.ZodString;
616
684
  academicYear: z.ZodOptional<z.ZodString>;
617
685
  closeAfterDays: z.ZodOptional<z.ZodNumber>;
@@ -644,7 +712,7 @@ export declare const callableGroups: {
644
712
  scheduledSendDate: string;
645
713
  title?: string | undefined;
646
714
  description?: string | undefined;
647
- yearGroups?: number[] | undefined;
715
+ yearGroups?: string[] | undefined;
648
716
  students?: string | undefined;
649
717
  draft?: boolean | undefined;
650
718
  academicYear?: string | undefined;
@@ -666,7 +734,7 @@ export declare const callableGroups: {
666
734
  scheduledSendDate: string;
667
735
  title?: string | undefined;
668
736
  description?: string | undefined;
669
- yearGroups?: number[] | undefined;
737
+ yearGroups?: string[] | undefined;
670
738
  students?: string | undefined;
671
739
  draft?: boolean | undefined;
672
740
  academicYear?: string | undefined;
@@ -686,37 +754,37 @@ export declare const callableGroups: {
686
754
  response: z.ZodObject<{
687
755
  created: z.ZodArray<z.ZodObject<{
688
756
  cycleId: z.ZodString;
689
- yearGroup: z.ZodOptional<z.ZodNumber>;
757
+ yearGroup: z.ZodOptional<z.ZodString>;
690
758
  invited: z.ZodNumber;
691
759
  }, "strip", z.ZodTypeAny, {
692
760
  invited: number;
693
761
  cycleId: string;
694
- yearGroup?: number | undefined;
762
+ yearGroup?: string | undefined;
695
763
  }, {
696
764
  invited: number;
697
765
  cycleId: string;
698
- yearGroup?: number | undefined;
766
+ yearGroup?: string | undefined;
699
767
  }>, "many">;
700
- skippedEmpty: z.ZodArray<z.ZodNumber, "many">;
768
+ skippedEmpty: z.ZodArray<z.ZodString, "many">;
701
769
  skippedNoEmail: z.ZodNumber;
702
770
  academicYear: z.ZodString;
703
771
  }, "strip", z.ZodTypeAny, {
704
772
  created: {
705
773
  invited: number;
706
774
  cycleId: string;
707
- yearGroup?: number | undefined;
775
+ yearGroup?: string | undefined;
708
776
  }[];
709
777
  academicYear: string;
710
- skippedEmpty: number[];
778
+ skippedEmpty: string[];
711
779
  skippedNoEmail: number;
712
780
  }, {
713
781
  created: {
714
782
  invited: number;
715
783
  cycleId: string;
716
- yearGroup?: number | undefined;
784
+ yearGroup?: string | undefined;
717
785
  }[];
718
786
  academicYear: string;
719
- skippedEmpty: number[];
787
+ skippedEmpty: string[];
720
788
  skippedNoEmail: number;
721
789
  }>;
722
790
  };
@@ -736,20 +804,20 @@ export declare const callableGroups: {
736
804
  }>;
737
805
  response: z.ZodObject<{
738
806
  cycleId: z.ZodString;
739
- yearGroup: z.ZodOptional<z.ZodNumber>;
807
+ yearGroup: z.ZodOptional<z.ZodString>;
740
808
  invited: z.ZodNumber;
741
809
  skippedNoEmail: z.ZodOptional<z.ZodNumber>;
742
810
  alreadyScheduled: z.ZodOptional<z.ZodBoolean>;
743
811
  }, "strip", z.ZodTypeAny, {
744
812
  invited: number;
745
813
  cycleId: string;
746
- yearGroup?: number | undefined;
814
+ yearGroup?: string | undefined;
747
815
  skippedNoEmail?: number | undefined;
748
816
  alreadyScheduled?: boolean | undefined;
749
817
  }, {
750
818
  invited: number;
751
819
  cycleId: string;
752
- yearGroup?: number | undefined;
820
+ yearGroup?: string | undefined;
753
821
  skippedNoEmail?: number | undefined;
754
822
  alreadyScheduled?: boolean | undefined;
755
823
  }>;
@@ -899,6 +967,74 @@ export declare const callableGroups: {
899
967
  deleted: number;
900
968
  }>;
901
969
  };
970
+ "surveys-saveSurveyCohortSetup": {
971
+ request: z.ZodObject<{
972
+ oId: z.ZodString;
973
+ scope: z.ZodEnum<[string, ...string[]]>;
974
+ cohort: z.ZodString;
975
+ studentSelection: z.ZodOptional<z.ZodString>;
976
+ selectionSummary: z.ZodOptional<z.ZodString>;
977
+ emailTemplateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
978
+ applyToExisting: z.ZodOptional<z.ZodBoolean>;
979
+ }, "strip", z.ZodTypeAny, {
980
+ oId: string;
981
+ scope: string;
982
+ cohort: string;
983
+ emailTemplateId?: string | null | undefined;
984
+ studentSelection?: string | undefined;
985
+ selectionSummary?: string | undefined;
986
+ applyToExisting?: boolean | undefined;
987
+ }, {
988
+ oId: string;
989
+ scope: string;
990
+ cohort: string;
991
+ emailTemplateId?: string | null | undefined;
992
+ studentSelection?: string | undefined;
993
+ selectionSummary?: string | undefined;
994
+ applyToExisting?: boolean | undefined;
995
+ }>;
996
+ response: z.ZodObject<{
997
+ saved: z.ZodBoolean;
998
+ updatedCycles: z.ZodNumber;
999
+ invited: z.ZodNumber;
1000
+ }, "strip", z.ZodTypeAny, {
1001
+ invited: number;
1002
+ saved: boolean;
1003
+ updatedCycles: number;
1004
+ }, {
1005
+ invited: number;
1006
+ saved: boolean;
1007
+ updatedCycles: number;
1008
+ }>;
1009
+ };
1010
+ "surveys-provisionSurveysNow": {
1011
+ request: z.ZodObject<{
1012
+ oId: z.ZodString;
1013
+ scope: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
1014
+ nextYear: z.ZodOptional<z.ZodBoolean>;
1015
+ }, "strip", z.ZodTypeAny, {
1016
+ oId: string;
1017
+ scope?: string | undefined;
1018
+ nextYear?: boolean | undefined;
1019
+ }, {
1020
+ oId: string;
1021
+ scope?: string | undefined;
1022
+ nextYear?: boolean | undefined;
1023
+ }>;
1024
+ response: z.ZodObject<{
1025
+ created: z.ZodNumber;
1026
+ academicYear: z.ZodString;
1027
+ rolledForward: z.ZodBoolean;
1028
+ }, "strip", z.ZodTypeAny, {
1029
+ created: number;
1030
+ academicYear: string;
1031
+ rolledForward: boolean;
1032
+ }, {
1033
+ created: number;
1034
+ academicYear: string;
1035
+ rolledForward: boolean;
1036
+ }>;
1037
+ };
902
1038
  "surveys-getMySurveyRequest": {
903
1039
  request: z.ZodObject<{
904
1040
  requestId: z.ZodString;
@@ -5,7 +5,7 @@ export declare const surveyCallables: {
5
5
  oId: z.ZodString;
6
6
  kind: z.ZodEnum<[string, ...string[]]>;
7
7
  /** One cycle per year group. Omitted for institute-wide kinds. */
8
- yearGroups: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
8
+ yearGroups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
9
  scheduledSendDate: z.ZodString;
10
10
  /** Overrides the year derived from the send date — the leaver thread's
11
11
  * Christmas leg sends in the year after the cohort's own. */
@@ -43,7 +43,7 @@ export declare const surveyCallables: {
43
43
  scheduledSendDate: string;
44
44
  title?: string | undefined;
45
45
  description?: string | undefined;
46
- yearGroups?: number[] | undefined;
46
+ yearGroups?: string[] | undefined;
47
47
  students?: string | undefined;
48
48
  draft?: boolean | undefined;
49
49
  academicYear?: string | undefined;
@@ -65,7 +65,7 @@ export declare const surveyCallables: {
65
65
  scheduledSendDate: string;
66
66
  title?: string | undefined;
67
67
  description?: string | undefined;
68
- yearGroups?: number[] | undefined;
68
+ yearGroups?: string[] | undefined;
69
69
  students?: string | undefined;
70
70
  draft?: boolean | undefined;
71
71
  academicYear?: string | undefined;
@@ -85,37 +85,37 @@ export declare const surveyCallables: {
85
85
  response: z.ZodObject<{
86
86
  created: z.ZodArray<z.ZodObject<{
87
87
  cycleId: z.ZodString;
88
- yearGroup: z.ZodOptional<z.ZodNumber>;
88
+ yearGroup: z.ZodOptional<z.ZodString>;
89
89
  invited: z.ZodNumber;
90
90
  }, "strip", z.ZodTypeAny, {
91
91
  invited: number;
92
92
  cycleId: string;
93
- yearGroup?: number | undefined;
93
+ yearGroup?: string | undefined;
94
94
  }, {
95
95
  invited: number;
96
96
  cycleId: string;
97
- yearGroup?: number | undefined;
97
+ yearGroup?: string | undefined;
98
98
  }>, "many">;
99
- skippedEmpty: z.ZodArray<z.ZodNumber, "many">;
99
+ skippedEmpty: z.ZodArray<z.ZodString, "many">;
100
100
  skippedNoEmail: z.ZodNumber;
101
101
  academicYear: z.ZodString;
102
102
  }, "strip", z.ZodTypeAny, {
103
103
  created: {
104
104
  invited: number;
105
105
  cycleId: string;
106
- yearGroup?: number | undefined;
106
+ yearGroup?: string | undefined;
107
107
  }[];
108
108
  academicYear: string;
109
- skippedEmpty: number[];
109
+ skippedEmpty: string[];
110
110
  skippedNoEmail: number;
111
111
  }, {
112
112
  created: {
113
113
  invited: number;
114
114
  cycleId: string;
115
- yearGroup?: number | undefined;
115
+ yearGroup?: string | undefined;
116
116
  }[];
117
117
  academicYear: string;
118
- skippedEmpty: number[];
118
+ skippedEmpty: string[];
119
119
  skippedNoEmail: number;
120
120
  }>;
121
121
  };
@@ -135,20 +135,20 @@ export declare const surveyCallables: {
135
135
  }>;
136
136
  response: z.ZodObject<{
137
137
  cycleId: z.ZodString;
138
- yearGroup: z.ZodOptional<z.ZodNumber>;
138
+ yearGroup: z.ZodOptional<z.ZodString>;
139
139
  invited: z.ZodNumber;
140
140
  skippedNoEmail: z.ZodOptional<z.ZodNumber>;
141
141
  alreadyScheduled: z.ZodOptional<z.ZodBoolean>;
142
142
  }, "strip", z.ZodTypeAny, {
143
143
  invited: number;
144
144
  cycleId: string;
145
- yearGroup?: number | undefined;
145
+ yearGroup?: string | undefined;
146
146
  skippedNoEmail?: number | undefined;
147
147
  alreadyScheduled?: boolean | undefined;
148
148
  }, {
149
149
  invited: number;
150
150
  cycleId: string;
151
- yearGroup?: number | undefined;
151
+ yearGroup?: string | undefined;
152
152
  skippedNoEmail?: number | undefined;
153
153
  alreadyScheduled?: boolean | undefined;
154
154
  }>;
@@ -302,6 +302,84 @@ export declare const surveyCallables: {
302
302
  deleted: number;
303
303
  }>;
304
304
  };
305
+ "surveys-saveSurveyCohortSetup": {
306
+ request: z.ZodObject<{
307
+ oId: z.ZodString;
308
+ scope: z.ZodEnum<[string, ...string[]]>;
309
+ /** Year group ("9") or skills group id ("all", "yg9", a mapping id). */
310
+ cohort: z.ZodString;
311
+ /** JSON-serialised DataViewerSelectionBackend. */
312
+ studentSelection: z.ZodOptional<z.ZodString>;
313
+ selectionSummary: z.ZodOptional<z.ZodString>;
314
+ /** null clears the cohort's template and falls back to the default copy. */
315
+ emailTemplateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
316
+ /** false → store the answer for future years only, leaving the cycles
317
+ * already provisioned alone. Defaults to true. */
318
+ applyToExisting: z.ZodOptional<z.ZodBoolean>;
319
+ }, "strip", z.ZodTypeAny, {
320
+ oId: string;
321
+ scope: string;
322
+ cohort: string;
323
+ emailTemplateId?: string | null | undefined;
324
+ studentSelection?: string | undefined;
325
+ selectionSummary?: string | undefined;
326
+ applyToExisting?: boolean | undefined;
327
+ }, {
328
+ oId: string;
329
+ scope: string;
330
+ cohort: string;
331
+ emailTemplateId?: string | null | undefined;
332
+ studentSelection?: string | undefined;
333
+ selectionSummary?: string | undefined;
334
+ applyToExisting?: boolean | undefined;
335
+ }>;
336
+ response: z.ZodObject<{
337
+ saved: z.ZodBoolean;
338
+ /** Cycles that picked the answer up, and how many people they now reach. */
339
+ updatedCycles: z.ZodNumber;
340
+ invited: z.ZodNumber;
341
+ }, "strip", z.ZodTypeAny, {
342
+ invited: number;
343
+ saved: boolean;
344
+ updatedCycles: number;
345
+ }, {
346
+ invited: number;
347
+ saved: boolean;
348
+ updatedCycles: number;
349
+ }>;
350
+ };
351
+ "surveys-provisionSurveysNow": {
352
+ request: z.ZodObject<{
353
+ oId: z.ZodString;
354
+ /** Omit for every programme the institute runs. */
355
+ scope: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
356
+ /** Provision the upcoming academic year rather than the current one. */
357
+ nextYear: z.ZodOptional<z.ZodBoolean>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ oId: string;
360
+ scope?: string | undefined;
361
+ nextYear?: boolean | undefined;
362
+ }, {
363
+ oId: string;
364
+ scope?: string | undefined;
365
+ nextYear?: boolean | undefined;
366
+ }>;
367
+ response: z.ZodObject<{
368
+ created: z.ZodNumber;
369
+ academicYear: z.ZodString;
370
+ /** True when the current year had nothing left to create and the next
371
+ * academic year was provisioned instead. */
372
+ rolledForward: z.ZodBoolean;
373
+ }, "strip", z.ZodTypeAny, {
374
+ created: number;
375
+ academicYear: string;
376
+ rolledForward: boolean;
377
+ }, {
378
+ created: number;
379
+ academicYear: string;
380
+ rolledForward: boolean;
381
+ }>;
382
+ };
305
383
  "surveys-getMySurveyRequest": {
306
384
  request: z.ZodObject<{
307
385
  requestId: z.ZodString;
@@ -12,6 +12,7 @@ const types_1 = require("../surveys/types");
12
12
  * hook that drives every staff survey page (`useSurveyAdmin`) calls all of them.
13
13
  */
14
14
  const surveyKind = zod_1.z.enum(types_1.SURVEY_KINDS_LIST);
15
+ const cohortScope = zod_1.z.enum(types_1.SURVEY_COHORT_SCOPES);
15
16
  const raters = zod_1.z.object({
16
17
  students: zod_1.z.boolean().optional(),
17
18
  parents: zod_1.z.boolean().optional(),
@@ -23,7 +24,7 @@ exports.surveyCallables = {
23
24
  oId: zod_1.z.string(),
24
25
  kind: surveyKind,
25
26
  /** One cycle per year group. Omitted for institute-wide kinds. */
26
- yearGroups: zod_1.z.array(zod_1.z.number()).optional(),
27
+ yearGroups: zod_1.z.array(zod_1.z.string()).optional(),
27
28
  scheduledSendDate: zod_1.z.string(), // ISO
28
29
  /** Overrides the year derived from the send date — the leaver thread's
29
30
  * Christmas leg sends in the year after the cohort's own. */
@@ -47,10 +48,10 @@ exports.surveyCallables = {
47
48
  response: zod_1.z.object({
48
49
  created: zod_1.z.array(zod_1.z.object({
49
50
  cycleId: zod_1.z.string(),
50
- yearGroup: zod_1.z.number().optional(),
51
+ yearGroup: zod_1.z.string().optional(),
51
52
  invited: zod_1.z.number(),
52
53
  })),
53
- skippedEmpty: zod_1.z.array(zod_1.z.number()),
54
+ skippedEmpty: zod_1.z.array(zod_1.z.string()),
54
55
  skippedNoEmail: zod_1.z.number(),
55
56
  academicYear: zod_1.z.string(),
56
57
  }),
@@ -63,7 +64,7 @@ exports.surveyCallables = {
63
64
  }),
64
65
  response: zod_1.z.object({
65
66
  cycleId: zod_1.z.string(),
66
- yearGroup: zod_1.z.number().optional(),
67
+ yearGroup: zod_1.z.string().optional(),
67
68
  invited: zod_1.z.number(),
68
69
  skippedNoEmail: zod_1.z.number().optional(),
69
70
  alreadyScheduled: zod_1.z.boolean().optional(),
@@ -114,6 +115,44 @@ exports.surveyCallables = {
114
115
  request: zod_1.z.object({ cycleId: zod_1.z.string(), jobId: zod_1.z.string().optional() }),
115
116
  response: zod_1.z.object({ deleted: zod_1.z.number() }),
116
117
  },
118
+ "surveys-saveSurveyCohortSetup": {
119
+ request: zod_1.z.object({
120
+ oId: zod_1.z.string(),
121
+ scope: cohortScope,
122
+ /** Year group ("9") or skills group id ("all", "yg9", a mapping id). */
123
+ cohort: zod_1.z.string(),
124
+ /** JSON-serialised DataViewerSelectionBackend. */
125
+ studentSelection: zod_1.z.string().optional(),
126
+ selectionSummary: zod_1.z.string().optional(),
127
+ /** null clears the cohort's template and falls back to the default copy. */
128
+ emailTemplateId: zod_1.z.string().nullable().optional(),
129
+ /** false → store the answer for future years only, leaving the cycles
130
+ * already provisioned alone. Defaults to true. */
131
+ applyToExisting: zod_1.z.boolean().optional(),
132
+ }),
133
+ response: zod_1.z.object({
134
+ saved: zod_1.z.boolean(),
135
+ /** Cycles that picked the answer up, and how many people they now reach. */
136
+ updatedCycles: zod_1.z.number(),
137
+ invited: zod_1.z.number(),
138
+ }),
139
+ },
140
+ "surveys-provisionSurveysNow": {
141
+ request: zod_1.z.object({
142
+ oId: zod_1.z.string(),
143
+ /** Omit for every programme the institute runs. */
144
+ scope: cohortScope.optional(),
145
+ /** Provision the upcoming academic year rather than the current one. */
146
+ nextYear: zod_1.z.boolean().optional(),
147
+ }),
148
+ response: zod_1.z.object({
149
+ created: zod_1.z.number(),
150
+ academicYear: zod_1.z.string(),
151
+ /** True when the current year had nothing left to create and the next
152
+ * academic year was provisioned instead. */
153
+ rolledForward: zod_1.z.boolean(),
154
+ }),
155
+ },
117
156
  "surveys-getMySurveyRequest": {
118
157
  request: zod_1.z.object({ requestId: zod_1.z.string() }),
119
158
  // Shape varies by kind (see HYDRATE in surveys.ts), so left open.
@@ -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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"}
@@ -249,3 +249,12 @@ export declare const SIC_SECTIONS: Record<string, string>;
249
249
  export declare const CAREER_INTEREST_CATEGORIES: string[];
250
250
  /** Job values options used in Form A */
251
251
  export declare const JOB_VALUES: string[];
252
+ /**
253
+ * The `UserData.details` key holding a student's year group tag.
254
+ *
255
+ * A defined standard key rather than one of the dynamic upload columns: the Wonde
256
+ * sync writes it, the manual spreadsheet upload always offers it, and every survey's
257
+ * recipient filter resolves a cohort by matching `details.year` against a tag from
258
+ * `InstituteData.yearGroups`. The tag is opaque — matched as a string, never parsed.
259
+ */
260
+ export declare const STUDENT_YEAR_FIELD = "year";