placementt-core 1.400.1140 → 1.400.1141

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 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const registry_1 = require("../registry");
4
+ const schema = registry_1.allCallables["activities-bulkAdd"].request;
5
+ const activity = {
6
+ type: "extracurricular",
7
+ activityType: "volunteering",
8
+ title: "Food bank",
9
+ description: "Sorting donations",
10
+ };
11
+ describe("activities-bulkAdd request", () => {
12
+ it("accepts a filter selection", () => {
13
+ const parsed = schema.safeParse({ oId: "school", activity,
14
+ students: { allSelected: true, filters: [{ k: "details.year", e: "==", v: "10" }] } });
15
+ expect(parsed.success).toBe(true);
16
+ });
17
+ it("accepts a list of uids", () => {
18
+ expect(schema.safeParse({ oId: "school", activity, students: ["a", "b"] }).success).toBe(true);
19
+ });
20
+ it("drops fields the server owns", () => {
21
+ const parsed = schema.parse({ oId: "school", students: ["a"],
22
+ activity: { ...activity, uid: "someoneElse", verificationStatus: "schoolVerified", createdBy: "student" } });
23
+ expect(parsed.activity).not.toHaveProperty("uid");
24
+ expect(parsed.activity).not.toHaveProperty("verificationStatus");
25
+ expect(parsed.activity).not.toHaveProperty("createdBy");
26
+ });
27
+ it("rejects an activity with no title or category", () => {
28
+ expect(schema.safeParse({ oId: "school", students: ["a"], activity: { ...activity, title: "" } }).success).toBe(false);
29
+ expect(schema.safeParse({ oId: "school", students: ["a"], activity: { ...activity, type: "other" } }).success).toBe(false);
30
+ });
31
+ });
32
+ //# sourceMappingURL=activities.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activities.test.js","sourceRoot":"","sources":["../../../src/callables/__tests__/activities.test.ts"],"names":[],"mappings":";;AAAA,0CAAyC;AAEzC,MAAM,MAAM,GAAG,uBAAY,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAE1D,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,iBAAiB;IACvB,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,mBAAmB;CACnC,CAAC;AAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ;YACpD,QAAQ,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC,EAAC,EAAC,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;YACvD,QAAQ,EAAE,EAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAC,EAAC,CAAC,CAAC;QAC9G,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3H,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,224 @@
1
+ import { z } from "zod";
2
+ /** What staff fill in on the activity builder. Everything the server owns (who
3
+ * it belongs to, who made it, how it is verified, when) is set there, never sent. */
4
+ declare const staffActivity: z.ZodObject<{
5
+ type: z.ZodEnum<["extracurricular", "supercurricular", "curricular"]>;
6
+ activityType: z.ZodString;
7
+ title: z.ZodString;
8
+ description: z.ZodString;
9
+ organisationName: z.ZodOptional<z.ZodString>;
10
+ typeDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
+ locationType: z.ZodOptional<z.ZodEnum<["inPerson", "online", "hybrid"]>>;
12
+ startDate: z.ZodOptional<z.ZodString>;
13
+ endDate: z.ZodOptional<z.ZodString>;
14
+ isOngoing: z.ZodOptional<z.ZodBoolean>;
15
+ isRecurring: z.ZodOptional<z.ZodBoolean>;
16
+ timeCommitment: z.ZodOptional<z.ZodEnum<["1to2Hours", "halfDay", "fullDay", "multipleDays"]>>;
17
+ recurringFrequency: z.ZodOptional<z.ZodEnum<["daily", "weekly", "fortnightly", "monthly"]>>;
18
+ hoursPerSession: z.ZodOptional<z.ZodNumber>;
19
+ daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]>, "many">>;
20
+ skillsDeveloped: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ type: "extracurricular" | "supercurricular" | "curricular";
23
+ title: string;
24
+ description: string;
25
+ activityType: string;
26
+ organisationName?: string | undefined;
27
+ typeDetails?: Record<string, unknown> | undefined;
28
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
29
+ startDate?: string | undefined;
30
+ endDate?: string | undefined;
31
+ isOngoing?: boolean | undefined;
32
+ isRecurring?: boolean | undefined;
33
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
34
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
35
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
36
+ hoursPerSession?: number | undefined;
37
+ skillsDeveloped?: string[] | undefined;
38
+ }, {
39
+ type: "extracurricular" | "supercurricular" | "curricular";
40
+ title: string;
41
+ description: string;
42
+ activityType: string;
43
+ organisationName?: string | undefined;
44
+ typeDetails?: Record<string, unknown> | undefined;
45
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
46
+ startDate?: string | undefined;
47
+ endDate?: string | undefined;
48
+ isOngoing?: boolean | undefined;
49
+ isRecurring?: boolean | undefined;
50
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
51
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
52
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
53
+ hoursPerSession?: number | undefined;
54
+ skillsDeveloped?: string[] | undefined;
55
+ }>;
56
+ export type StaffActivityInput = z.infer<typeof staffActivity>;
57
+ export declare const activitiesCallables: {
58
+ /**
59
+ * Adds one activity to every selected student, as a staff-reported activity.
60
+ * Students outside the caller's student visibility are skipped. Reflection and
61
+ * skill ratings are left for each student to add.
62
+ */
63
+ "activities-bulkAdd": {
64
+ request: z.ZodObject<{
65
+ /** The school the students belong to. */
66
+ oId: z.ZodString;
67
+ students: z.ZodUnion<[z.ZodObject<{
68
+ allSelected: z.ZodBoolean;
69
+ search: z.ZodOptional<z.ZodString>;
70
+ filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
71
+ k: z.ZodString;
72
+ e: z.ZodOptional<z.ZodString>;
73
+ v: z.ZodUnknown;
74
+ }, "strip", z.ZodTypeAny, {
75
+ k: string;
76
+ v?: unknown;
77
+ e?: string | undefined;
78
+ }, {
79
+ k: string;
80
+ v?: unknown;
81
+ e?: string | undefined;
82
+ }>, "many">>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ allSelected: boolean;
85
+ search?: string | undefined;
86
+ filters?: {
87
+ k: string;
88
+ v?: unknown;
89
+ e?: string | undefined;
90
+ }[] | undefined;
91
+ }, {
92
+ allSelected: boolean;
93
+ search?: string | undefined;
94
+ filters?: {
95
+ k: string;
96
+ v?: unknown;
97
+ e?: string | undefined;
98
+ }[] | undefined;
99
+ }>, z.ZodArray<z.ZodString, "many">]>;
100
+ activity: z.ZodObject<{
101
+ type: z.ZodEnum<["extracurricular", "supercurricular", "curricular"]>;
102
+ activityType: z.ZodString;
103
+ title: z.ZodString;
104
+ description: z.ZodString;
105
+ organisationName: z.ZodOptional<z.ZodString>;
106
+ typeDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
107
+ locationType: z.ZodOptional<z.ZodEnum<["inPerson", "online", "hybrid"]>>;
108
+ startDate: z.ZodOptional<z.ZodString>;
109
+ endDate: z.ZodOptional<z.ZodString>;
110
+ isOngoing: z.ZodOptional<z.ZodBoolean>;
111
+ isRecurring: z.ZodOptional<z.ZodBoolean>;
112
+ timeCommitment: z.ZodOptional<z.ZodEnum<["1to2Hours", "halfDay", "fullDay", "multipleDays"]>>;
113
+ recurringFrequency: z.ZodOptional<z.ZodEnum<["daily", "weekly", "fortnightly", "monthly"]>>;
114
+ hoursPerSession: z.ZodOptional<z.ZodNumber>;
115
+ daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]>, "many">>;
116
+ skillsDeveloped: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ type: "extracurricular" | "supercurricular" | "curricular";
119
+ title: string;
120
+ description: string;
121
+ activityType: string;
122
+ organisationName?: string | undefined;
123
+ typeDetails?: Record<string, unknown> | undefined;
124
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
125
+ startDate?: string | undefined;
126
+ endDate?: string | undefined;
127
+ isOngoing?: boolean | undefined;
128
+ isRecurring?: boolean | undefined;
129
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
130
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
131
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
132
+ hoursPerSession?: number | undefined;
133
+ skillsDeveloped?: string[] | undefined;
134
+ }, {
135
+ type: "extracurricular" | "supercurricular" | "curricular";
136
+ title: string;
137
+ description: string;
138
+ activityType: string;
139
+ organisationName?: string | undefined;
140
+ typeDetails?: Record<string, unknown> | undefined;
141
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
142
+ startDate?: string | undefined;
143
+ endDate?: string | undefined;
144
+ isOngoing?: boolean | undefined;
145
+ isRecurring?: boolean | undefined;
146
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
147
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
148
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
149
+ hoursPerSession?: number | undefined;
150
+ skillsDeveloped?: string[] | undefined;
151
+ }>;
152
+ /** Set by `useExecuteCallableJob`. */
153
+ jobId: z.ZodOptional<z.ZodString>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ oId: string;
156
+ students: string[] | {
157
+ allSelected: boolean;
158
+ search?: string | undefined;
159
+ filters?: {
160
+ k: string;
161
+ v?: unknown;
162
+ e?: string | undefined;
163
+ }[] | undefined;
164
+ };
165
+ activity: {
166
+ type: "extracurricular" | "supercurricular" | "curricular";
167
+ title: string;
168
+ description: string;
169
+ activityType: string;
170
+ organisationName?: string | undefined;
171
+ typeDetails?: Record<string, unknown> | undefined;
172
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
173
+ startDate?: string | undefined;
174
+ endDate?: string | undefined;
175
+ isOngoing?: boolean | undefined;
176
+ isRecurring?: boolean | undefined;
177
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
178
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
179
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
180
+ hoursPerSession?: number | undefined;
181
+ skillsDeveloped?: string[] | undefined;
182
+ };
183
+ jobId?: string | undefined;
184
+ }, {
185
+ oId: string;
186
+ students: string[] | {
187
+ allSelected: boolean;
188
+ search?: string | undefined;
189
+ filters?: {
190
+ k: string;
191
+ v?: unknown;
192
+ e?: string | undefined;
193
+ }[] | undefined;
194
+ };
195
+ activity: {
196
+ type: "extracurricular" | "supercurricular" | "curricular";
197
+ title: string;
198
+ description: string;
199
+ activityType: string;
200
+ organisationName?: string | undefined;
201
+ typeDetails?: Record<string, unknown> | undefined;
202
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
203
+ startDate?: string | undefined;
204
+ endDate?: string | undefined;
205
+ isOngoing?: boolean | undefined;
206
+ isRecurring?: boolean | undefined;
207
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
208
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
209
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
210
+ hoursPerSession?: number | undefined;
211
+ skillsDeveloped?: string[] | undefined;
212
+ };
213
+ jobId?: string | undefined;
214
+ }>;
215
+ response: z.ZodObject<{
216
+ added: z.ZodNumber;
217
+ }, "strip", z.ZodTypeAny, {
218
+ added: number;
219
+ }, {
220
+ added: number;
221
+ }>;
222
+ };
223
+ };
224
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.activitiesCallables = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Contracts for staff adding student activities
7
+ * (`Placementt-Backend/functions/src/activities.ts`).
8
+ */
9
+ /** The students picked in the student table, as DataViewerSelectionBackend:
10
+ * a filter (with an optional search), or a list of uids. */
11
+ const studentSelection = zod_1.z.union([
12
+ zod_1.z.object({
13
+ allSelected: zod_1.z.boolean(),
14
+ search: zod_1.z.string().optional(),
15
+ filters: zod_1.z.array(zod_1.z.object({
16
+ k: zod_1.z.string(),
17
+ e: zod_1.z.string().optional(),
18
+ v: zod_1.z.unknown(),
19
+ })).optional(),
20
+ }),
21
+ zod_1.z.array(zod_1.z.string().min(1).max(128)).max(5000),
22
+ ]);
23
+ /** What staff fill in on the activity builder. Everything the server owns (who
24
+ * it belongs to, who made it, how it is verified, when) is set there, never sent. */
25
+ const staffActivity = zod_1.z.object({
26
+ type: zod_1.z.enum(["extracurricular", "supercurricular", "curricular"]),
27
+ activityType: zod_1.z.string().min(1),
28
+ title: zod_1.z.string().min(1),
29
+ description: zod_1.z.string(),
30
+ organisationName: zod_1.z.string().optional(),
31
+ typeDetails: zod_1.z.record(zod_1.z.unknown()).optional(),
32
+ locationType: zod_1.z.enum(["inPerson", "online", "hybrid"]).optional(),
33
+ startDate: zod_1.z.string().optional(),
34
+ endDate: zod_1.z.string().optional(),
35
+ isOngoing: zod_1.z.boolean().optional(),
36
+ isRecurring: zod_1.z.boolean().optional(),
37
+ timeCommitment: zod_1.z.enum(["1to2Hours", "halfDay", "fullDay", "multipleDays"]).optional(),
38
+ recurringFrequency: zod_1.z.enum(["daily", "weekly", "fortnightly", "monthly"]).optional(),
39
+ hoursPerSession: zod_1.z.number().optional(),
40
+ daysOfWeek: zod_1.z.array(zod_1.z.enum(["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"])).optional(),
41
+ skillsDeveloped: zod_1.z.array(zod_1.z.string()).optional(),
42
+ });
43
+ exports.activitiesCallables = {
44
+ /**
45
+ * Adds one activity to every selected student, as a staff-reported activity.
46
+ * Students outside the caller's student visibility are skipped. Reflection and
47
+ * skill ratings are left for each student to add.
48
+ */
49
+ "activities-bulkAdd": {
50
+ request: zod_1.z.object({
51
+ /** The school the students belong to. */
52
+ oId: zod_1.z.string().min(1).max(128),
53
+ students: studentSelection,
54
+ activity: staffActivity,
55
+ /** Set by `useExecuteCallableJob`. */
56
+ jobId: zod_1.z.string().optional(),
57
+ }),
58
+ response: zod_1.z.object({
59
+ added: zod_1.z.number(),
60
+ }),
61
+ },
62
+ };
63
+ //# sourceMappingURL=activities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activities.js","sourceRoot":"","sources":["../../src/callables/activities.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAGtB;;;GAGG;AAEH;4DAC4D;AAC5D,MAAM,gBAAgB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC7B,OAAC,CAAC,MAAM,CAAC;QACL,WAAW,EAAE,OAAC,CAAC,OAAO,EAAE;QACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;YACtB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;YACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACxB,CAAC,EAAE,OAAC,CAAC,OAAO,EAAE;SACjB,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjB,CAAC;IACF,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CAChD,CAAC,CAAC;AAEH;qFACqF;AACrF,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAClE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,cAAc,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtF,kBAAkB,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpF,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtH,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAIU,QAAA,mBAAmB,GAAG;IAC/B;;;;OAIG;IACH,oBAAoB,EAAE;QAClB,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,yCAAyC;YACzC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC/B,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,aAAa;YACvB,sCAAsC;YACtC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC;QACF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;SACpB,CAAC;KACL;CACoB,CAAC"}
@@ -15,3 +15,4 @@ export * from "./misSync";
15
15
  export * from "./userManagement";
16
16
  export * from "./outreach";
17
17
  export * from "./formImport";
18
+ export * from "./activities";
@@ -31,4 +31,5 @@ __exportStar(require("./misSync"), exports);
31
31
  __exportStar(require("./userManagement"), exports);
32
32
  __exportStar(require("./outreach"), exports);
33
33
  __exportStar(require("./formImport"), exports);
34
+ __exportStar(require("./activities"), exports);
34
35
  //# 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;AAC1B,oDAAkC;AAClC,wCAAsB;AACtB,0CAAwB;AACxB,4CAA0B;AAC1B,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B"}
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;AAClC,wCAAsB;AACtB,0CAAwB;AACxB,4CAA0B;AAC1B,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B"}
@@ -11,6 +11,164 @@ import { z } from "zod";
11
11
  * equals the sum of the group key counts.
12
12
  */
13
13
  export declare const allCallables: {
14
+ "activities-bulkAdd": {
15
+ request: z.ZodObject<{
16
+ oId: z.ZodString;
17
+ students: z.ZodUnion<[z.ZodObject<{
18
+ allSelected: z.ZodBoolean;
19
+ search: z.ZodOptional<z.ZodString>;
20
+ filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
21
+ k: z.ZodString;
22
+ e: z.ZodOptional<z.ZodString>;
23
+ v: z.ZodUnknown;
24
+ }, "strip", z.ZodTypeAny, {
25
+ k: string;
26
+ v?: unknown;
27
+ e?: string | undefined;
28
+ }, {
29
+ k: string;
30
+ v?: unknown;
31
+ e?: string | undefined;
32
+ }>, "many">>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ allSelected: boolean;
35
+ search?: string | undefined;
36
+ filters?: {
37
+ k: string;
38
+ v?: unknown;
39
+ e?: string | undefined;
40
+ }[] | undefined;
41
+ }, {
42
+ allSelected: boolean;
43
+ search?: string | undefined;
44
+ filters?: {
45
+ k: string;
46
+ v?: unknown;
47
+ e?: string | undefined;
48
+ }[] | undefined;
49
+ }>, z.ZodArray<z.ZodString, "many">]>;
50
+ activity: z.ZodObject<{
51
+ type: z.ZodEnum<["extracurricular", "supercurricular", "curricular"]>;
52
+ activityType: z.ZodString;
53
+ title: z.ZodString;
54
+ description: z.ZodString;
55
+ organisationName: z.ZodOptional<z.ZodString>;
56
+ typeDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
57
+ locationType: z.ZodOptional<z.ZodEnum<["inPerson", "online", "hybrid"]>>;
58
+ startDate: z.ZodOptional<z.ZodString>;
59
+ endDate: z.ZodOptional<z.ZodString>;
60
+ isOngoing: z.ZodOptional<z.ZodBoolean>;
61
+ isRecurring: z.ZodOptional<z.ZodBoolean>;
62
+ timeCommitment: z.ZodOptional<z.ZodEnum<["1to2Hours", "halfDay", "fullDay", "multipleDays"]>>;
63
+ recurringFrequency: z.ZodOptional<z.ZodEnum<["daily", "weekly", "fortnightly", "monthly"]>>;
64
+ hoursPerSession: z.ZodOptional<z.ZodNumber>;
65
+ daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]>, "many">>;
66
+ skillsDeveloped: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ type: "extracurricular" | "supercurricular" | "curricular";
69
+ title: string;
70
+ description: string;
71
+ activityType: string;
72
+ organisationName?: string | undefined;
73
+ typeDetails?: Record<string, unknown> | undefined;
74
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
75
+ startDate?: string | undefined;
76
+ endDate?: string | undefined;
77
+ isOngoing?: boolean | undefined;
78
+ isRecurring?: boolean | undefined;
79
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
80
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
81
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
82
+ hoursPerSession?: number | undefined;
83
+ skillsDeveloped?: string[] | undefined;
84
+ }, {
85
+ type: "extracurricular" | "supercurricular" | "curricular";
86
+ title: string;
87
+ description: string;
88
+ activityType: string;
89
+ organisationName?: string | undefined;
90
+ typeDetails?: Record<string, unknown> | undefined;
91
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
92
+ startDate?: string | undefined;
93
+ endDate?: string | undefined;
94
+ isOngoing?: boolean | undefined;
95
+ isRecurring?: boolean | undefined;
96
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
97
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
98
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
99
+ hoursPerSession?: number | undefined;
100
+ skillsDeveloped?: string[] | undefined;
101
+ }>;
102
+ jobId: z.ZodOptional<z.ZodString>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ oId: string;
105
+ students: string[] | {
106
+ allSelected: boolean;
107
+ search?: string | undefined;
108
+ filters?: {
109
+ k: string;
110
+ v?: unknown;
111
+ e?: string | undefined;
112
+ }[] | undefined;
113
+ };
114
+ activity: {
115
+ type: "extracurricular" | "supercurricular" | "curricular";
116
+ title: string;
117
+ description: string;
118
+ activityType: string;
119
+ organisationName?: string | undefined;
120
+ typeDetails?: Record<string, unknown> | undefined;
121
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
122
+ startDate?: string | undefined;
123
+ endDate?: string | undefined;
124
+ isOngoing?: boolean | undefined;
125
+ isRecurring?: boolean | undefined;
126
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
127
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
128
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
129
+ hoursPerSession?: number | undefined;
130
+ skillsDeveloped?: string[] | undefined;
131
+ };
132
+ jobId?: string | undefined;
133
+ }, {
134
+ oId: string;
135
+ students: string[] | {
136
+ allSelected: boolean;
137
+ search?: string | undefined;
138
+ filters?: {
139
+ k: string;
140
+ v?: unknown;
141
+ e?: string | undefined;
142
+ }[] | undefined;
143
+ };
144
+ activity: {
145
+ type: "extracurricular" | "supercurricular" | "curricular";
146
+ title: string;
147
+ description: string;
148
+ activityType: string;
149
+ organisationName?: string | undefined;
150
+ typeDetails?: Record<string, unknown> | undefined;
151
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
152
+ startDate?: string | undefined;
153
+ endDate?: string | undefined;
154
+ isOngoing?: boolean | undefined;
155
+ isRecurring?: boolean | undefined;
156
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
157
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
158
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
159
+ hoursPerSession?: number | undefined;
160
+ skillsDeveloped?: string[] | undefined;
161
+ };
162
+ jobId?: string | undefined;
163
+ }>;
164
+ response: z.ZodObject<{
165
+ added: z.ZodNumber;
166
+ }, "strip", z.ZodTypeAny, {
167
+ added: number;
168
+ }, {
169
+ added: number;
170
+ }>;
171
+ };
14
172
  "formImport-generateFormSchema": {
15
173
  request: z.ZodObject<{
16
174
  oId: z.ZodString;
@@ -4133,4 +4291,164 @@ export declare const callableGroups: {
4133
4291
  }>;
4134
4292
  };
4135
4293
  };
4294
+ activitiesCallables: {
4295
+ "activities-bulkAdd": {
4296
+ request: z.ZodObject<{
4297
+ oId: z.ZodString;
4298
+ students: z.ZodUnion<[z.ZodObject<{
4299
+ allSelected: z.ZodBoolean;
4300
+ search: z.ZodOptional<z.ZodString>;
4301
+ filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
4302
+ k: z.ZodString;
4303
+ e: z.ZodOptional<z.ZodString>;
4304
+ v: z.ZodUnknown;
4305
+ }, "strip", z.ZodTypeAny, {
4306
+ k: string;
4307
+ v?: unknown;
4308
+ e?: string | undefined;
4309
+ }, {
4310
+ k: string;
4311
+ v?: unknown;
4312
+ e?: string | undefined;
4313
+ }>, "many">>;
4314
+ }, "strip", z.ZodTypeAny, {
4315
+ allSelected: boolean;
4316
+ search?: string | undefined;
4317
+ filters?: {
4318
+ k: string;
4319
+ v?: unknown;
4320
+ e?: string | undefined;
4321
+ }[] | undefined;
4322
+ }, {
4323
+ allSelected: boolean;
4324
+ search?: string | undefined;
4325
+ filters?: {
4326
+ k: string;
4327
+ v?: unknown;
4328
+ e?: string | undefined;
4329
+ }[] | undefined;
4330
+ }>, z.ZodArray<z.ZodString, "many">]>;
4331
+ activity: z.ZodObject<{
4332
+ type: z.ZodEnum<["extracurricular", "supercurricular", "curricular"]>;
4333
+ activityType: z.ZodString;
4334
+ title: z.ZodString;
4335
+ description: z.ZodString;
4336
+ organisationName: z.ZodOptional<z.ZodString>;
4337
+ typeDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4338
+ locationType: z.ZodOptional<z.ZodEnum<["inPerson", "online", "hybrid"]>>;
4339
+ startDate: z.ZodOptional<z.ZodString>;
4340
+ endDate: z.ZodOptional<z.ZodString>;
4341
+ isOngoing: z.ZodOptional<z.ZodBoolean>;
4342
+ isRecurring: z.ZodOptional<z.ZodBoolean>;
4343
+ timeCommitment: z.ZodOptional<z.ZodEnum<["1to2Hours", "halfDay", "fullDay", "multipleDays"]>>;
4344
+ recurringFrequency: z.ZodOptional<z.ZodEnum<["daily", "weekly", "fortnightly", "monthly"]>>;
4345
+ hoursPerSession: z.ZodOptional<z.ZodNumber>;
4346
+ daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]>, "many">>;
4347
+ skillsDeveloped: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4348
+ }, "strip", z.ZodTypeAny, {
4349
+ type: "extracurricular" | "supercurricular" | "curricular";
4350
+ title: string;
4351
+ description: string;
4352
+ activityType: string;
4353
+ organisationName?: string | undefined;
4354
+ typeDetails?: Record<string, unknown> | undefined;
4355
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
4356
+ startDate?: string | undefined;
4357
+ endDate?: string | undefined;
4358
+ isOngoing?: boolean | undefined;
4359
+ isRecurring?: boolean | undefined;
4360
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
4361
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
4362
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
4363
+ hoursPerSession?: number | undefined;
4364
+ skillsDeveloped?: string[] | undefined;
4365
+ }, {
4366
+ type: "extracurricular" | "supercurricular" | "curricular";
4367
+ title: string;
4368
+ description: string;
4369
+ activityType: string;
4370
+ organisationName?: string | undefined;
4371
+ typeDetails?: Record<string, unknown> | undefined;
4372
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
4373
+ startDate?: string | undefined;
4374
+ endDate?: string | undefined;
4375
+ isOngoing?: boolean | undefined;
4376
+ isRecurring?: boolean | undefined;
4377
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
4378
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
4379
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
4380
+ hoursPerSession?: number | undefined;
4381
+ skillsDeveloped?: string[] | undefined;
4382
+ }>;
4383
+ jobId: z.ZodOptional<z.ZodString>;
4384
+ }, "strip", z.ZodTypeAny, {
4385
+ oId: string;
4386
+ students: string[] | {
4387
+ allSelected: boolean;
4388
+ search?: string | undefined;
4389
+ filters?: {
4390
+ k: string;
4391
+ v?: unknown;
4392
+ e?: string | undefined;
4393
+ }[] | undefined;
4394
+ };
4395
+ activity: {
4396
+ type: "extracurricular" | "supercurricular" | "curricular";
4397
+ title: string;
4398
+ description: string;
4399
+ activityType: string;
4400
+ organisationName?: string | undefined;
4401
+ typeDetails?: Record<string, unknown> | undefined;
4402
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
4403
+ startDate?: string | undefined;
4404
+ endDate?: string | undefined;
4405
+ isOngoing?: boolean | undefined;
4406
+ isRecurring?: boolean | undefined;
4407
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
4408
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
4409
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
4410
+ hoursPerSession?: number | undefined;
4411
+ skillsDeveloped?: string[] | undefined;
4412
+ };
4413
+ jobId?: string | undefined;
4414
+ }, {
4415
+ oId: string;
4416
+ students: string[] | {
4417
+ allSelected: boolean;
4418
+ search?: string | undefined;
4419
+ filters?: {
4420
+ k: string;
4421
+ v?: unknown;
4422
+ e?: string | undefined;
4423
+ }[] | undefined;
4424
+ };
4425
+ activity: {
4426
+ type: "extracurricular" | "supercurricular" | "curricular";
4427
+ title: string;
4428
+ description: string;
4429
+ activityType: string;
4430
+ organisationName?: string | undefined;
4431
+ typeDetails?: Record<string, unknown> | undefined;
4432
+ locationType?: "hybrid" | "online" | "inPerson" | undefined;
4433
+ startDate?: string | undefined;
4434
+ endDate?: string | undefined;
4435
+ isOngoing?: boolean | undefined;
4436
+ isRecurring?: boolean | undefined;
4437
+ timeCommitment?: "1to2Hours" | "halfDay" | "fullDay" | "multipleDays" | undefined;
4438
+ recurringFrequency?: "daily" | "weekly" | "monthly" | "fortnightly" | undefined;
4439
+ daysOfWeek?: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday")[] | undefined;
4440
+ hoursPerSession?: number | undefined;
4441
+ skillsDeveloped?: string[] | undefined;
4442
+ };
4443
+ jobId?: string | undefined;
4444
+ }>;
4445
+ response: z.ZodObject<{
4446
+ added: z.ZodNumber;
4447
+ }, "strip", z.ZodTypeAny, {
4448
+ added: number;
4449
+ }, {
4450
+ added: number;
4451
+ }>;
4452
+ };
4453
+ };
4136
4454
  };
@@ -19,6 +19,7 @@ const misSync_1 = require("./misSync");
19
19
  const userManagement_1 = require("./userManagement");
20
20
  const outreach_1 = require("./outreach");
21
21
  const formImport_1 = require("./formImport");
22
+ const activities_1 = require("./activities");
22
23
  /**
23
24
  * The single source of truth for every typed callable. Add a feature group's
24
25
  * spread here and its callables are automatically covered by:
@@ -49,6 +50,7 @@ exports.allCallables = {
49
50
  ...userManagement_1.userManagementCallables,
50
51
  ...outreach_1.outreachCallables,
51
52
  ...formImport_1.formImportCallables,
53
+ ...activities_1.activitiesCallables,
52
54
  };
53
55
  /** The per-group maps, exported so tests can assert no key collisions. */
54
56
  exports.callableGroups = {
@@ -70,5 +72,6 @@ exports.callableGroups = {
70
72
  userManagementCallables: userManagement_1.userManagementCallables,
71
73
  outreachCallables: outreach_1.outreachCallables,
72
74
  formImportCallables: formImport_1.formImportCallables,
75
+ activitiesCallables: activities_1.activitiesCallables,
73
76
  };
74
77
  //# 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,uDAAyD;AACzD,uCAA2C;AAC3C,yCAA6C;AAC7C,uDAA2D;AAC3D,+BAAmC;AACnC,mCAAuC;AACvC,uCAA2C;AAC3C,qDAAyD;AACzD,yCAA6C;AAC7C,6CAAiD;AAEjD;;;;;;;;;;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,wCAAsB;IACzB,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;IACpB,GAAG,0CAAwB;IAC3B,GAAG,kBAAY;IACf,GAAG,sBAAc;IACjB,GAAG,0BAAgB;IACnB,GAAG,wCAAuB;IAC1B,GAAG,4BAAiB;IACpB,GAAG,gCAAmB;CACD,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG;IAC1B,2BAA2B,EAA3B,gDAA2B;IAC3B,kBAAkB,EAAlB,8BAAkB;IAClB,eAAe,EAAf,wBAAe;IACf,eAAe,EAAf,yBAAe;IACf,eAAe,EAAf,wBAAe;IACf,mBAAmB,EAAnB,gCAAmB;IACnB,wBAAwB,EAAxB,0CAAwB;IACxB,WAAW,EAAX,gBAAW;IACX,sBAAsB,EAAtB,wCAAsB;IACtB,gBAAgB,EAAhB,0BAAgB;IAChB,iBAAiB,EAAjB,4BAAiB;IACjB,wBAAwB,EAAxB,0CAAwB;IACxB,YAAY,EAAZ,kBAAY;IACZ,cAAc,EAAd,sBAAc;IACd,gBAAgB,EAAhB,0BAAgB;IAChB,uBAAuB,EAAvB,wCAAuB;IACvB,iBAAiB,EAAjB,4BAAiB;IACjB,mBAAmB,EAAnB,gCAAmB;CACtB,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,uDAAyD;AACzD,uCAA2C;AAC3C,yCAA6C;AAC7C,uDAA2D;AAC3D,+BAAmC;AACnC,mCAAuC;AACvC,uCAA2C;AAC3C,qDAAyD;AACzD,yCAA6C;AAC7C,6CAAiD;AACjD,6CAAiD;AAEjD;;;;;;;;;;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,wCAAsB;IACzB,GAAG,0BAAgB;IACnB,GAAG,4BAAiB;IACpB,GAAG,0CAAwB;IAC3B,GAAG,kBAAY;IACf,GAAG,sBAAc;IACjB,GAAG,0BAAgB;IACnB,GAAG,wCAAuB;IAC1B,GAAG,4BAAiB;IACpB,GAAG,gCAAmB;IACtB,GAAG,gCAAmB;CACD,CAAC;AAiB1B,0EAA0E;AAC7D,QAAA,cAAc,GAAG;IAC1B,2BAA2B,EAA3B,gDAA2B;IAC3B,kBAAkB,EAAlB,8BAAkB;IAClB,eAAe,EAAf,wBAAe;IACf,eAAe,EAAf,yBAAe;IACf,eAAe,EAAf,wBAAe;IACf,mBAAmB,EAAnB,gCAAmB;IACnB,wBAAwB,EAAxB,0CAAwB;IACxB,WAAW,EAAX,gBAAW;IACX,sBAAsB,EAAtB,wCAAsB;IACtB,gBAAgB,EAAhB,0BAAgB;IAChB,iBAAiB,EAAjB,4BAAiB;IACjB,wBAAwB,EAAxB,0CAAwB;IACxB,YAAY,EAAZ,kBAAY;IACZ,cAAc,EAAd,sBAAc;IACd,gBAAgB,EAAhB,0BAAgB;IAChB,uBAAuB,EAAvB,wCAAuB;IACvB,iBAAiB,EAAjB,4BAAiB;IACjB,mBAAmB,EAAnB,gCAAmB;IACnB,mBAAmB,EAAnB,gCAAmB;CACtB,CAAC"}
@@ -84,6 +84,9 @@ exports.CALLABLE_JOB_CONTEXT = {
84
84
  collectionItemId: (data) => d(data)?.cohortId,
85
85
  },
86
86
  // ─── Placements ────────────────────────────────────────────────────────────
87
+ "activities-bulkAdd": {
88
+ collectionLink: "studentActivities",
89
+ },
87
90
  "placement-bulkUpload": {
88
91
  collectionLink: "placements",
89
92
  collectionItemId: (data) => d(data)?.cohortId,
@@ -1 +1 @@
1
- {"version":3,"file":"callableJobContext.js","sourceRoot":"","sources":["../../src/firebase/callableJobContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callableJobContext.js","sourceRoot":"","sources":["../../src/firebase/callableJobContext.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export declare const executeCallable: <K extends string>(functionName: K, data:
31
31
  export declare function useExecuteCallableJob({ user }: {
32
32
  user: UserData;
33
33
  }): {
34
- execute: (functionName: "checks-generateChecks" | "events-sendExternalEventInvites" | "events-sendEmployerConfirmations" | "events-addStudents" | "events-studentJoinEvent" | "events-careersHubAddSchool" | "userManagement-addUsers" | "userManagement-activateUsers" | "userManagement-deactivateUsers" | "userManagement-deleteUsers" | "userManagement-uploadAnalytics" | "userManagement-sendParentWelcomeEmail" | "userManagement-addStudentsToCohort" | "userManagement-removeFromCohort" | "providerContacts-add" | "providerContacts-delete" | "providerContacts-resendEmployerInvite" | "providerContacts-approveEmployerContacts" | "placementListing-addToCohort" | "placementListing-delist" | "placement-bulkUpload" | "placement-sendBulkExternalEmails" | "registration-registerInstitutes" | "registration-resendSchoolInvites" | "registration-deleteSchoolInvites" | "admissions-createCohort" | "parents-add" | "parents-bulkApprove" | "surveys-sendSurveyCycleNow" | "surveys-provisionSurveysNow" | "destinationsConfig-provisionDestinationsNow" | "launches-launchToStudents" | "aspirations-sendLeaverCheckpointNow" | "aspirations-sendAspirationCycleNow" | "aspirations-sendLeaverGroupNow" | "aspirations-deleteAspirationCycle", data: {
34
+ execute: (functionName: "checks-generateChecks" | "events-sendExternalEventInvites" | "events-sendEmployerConfirmations" | "events-addStudents" | "events-studentJoinEvent" | "events-careersHubAddSchool" | "userManagement-addUsers" | "userManagement-activateUsers" | "userManagement-deactivateUsers" | "userManagement-deleteUsers" | "userManagement-uploadAnalytics" | "userManagement-sendParentWelcomeEmail" | "userManagement-addStudentsToCohort" | "userManagement-removeFromCohort" | "providerContacts-add" | "providerContacts-delete" | "providerContacts-resendEmployerInvite" | "providerContacts-approveEmployerContacts" | "placementListing-addToCohort" | "placementListing-delist" | "activities-bulkAdd" | "placement-bulkUpload" | "placement-sendBulkExternalEmails" | "registration-registerInstitutes" | "registration-resendSchoolInvites" | "registration-deleteSchoolInvites" | "admissions-createCohort" | "parents-add" | "parents-bulkApprove" | "surveys-sendSurveyCycleNow" | "surveys-provisionSurveysNow" | "destinationsConfig-provisionDestinationsNow" | "launches-launchToStudents" | "aspirations-sendLeaverCheckpointNow" | "aspirations-sendAspirationCycleNow" | "aspirations-sendLeaverGroupNow" | "aspirations-deleteAspirationCycle", data: {
35
35
  [key: string]: unknown;
36
36
  }, options?: {
37
37
  reloadKeys?: string[];
@@ -335,6 +335,14 @@ function useExecuteCallableJob({ user }) {
335
335
  `Who can see ${label} has been updated. No students are being emailed.`,
336
336
  };
337
337
  }
338
+ case "activities-bulkAdd": {
339
+ const count = data.count;
340
+ const title = data.activity?.title;
341
+ return {
342
+ title: `Adding activity${title ? `: ${title}` : ""}`,
343
+ description: `Adding this activity to ${count ? `${count} student${count === 1 ? "" : "s"}` : "the selected students"}. It appears on each student's record once complete.`,
344
+ };
345
+ }
338
346
  default:
339
347
  return;
340
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/firebase/firebase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/firebase/firebase.tsx"],"names":[],"mappings":"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"}
@@ -3934,7 +3934,7 @@ export type StudentActivity = {
3934
3934
  dateCreated: string;
3935
3935
  dateUpdated?: string;
3936
3936
  createdBy: "student" | "staff";
3937
- verificationStatus: "selfReported" | "schoolVerified" | "employerVerified";
3937
+ verificationStatus: "selfReported" | "staffReported" | "schoolVerified" | "employerVerified";
3938
3938
  reviewedByUid?: string;
3939
3939
  reviewDate?: string;
3940
3940
  isArchived?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAkmIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA/nED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA2iEzC;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"}
1
+ {"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAomIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AAjoED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA6iEzC;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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.400.1140",
5
+ "version": "1.400.1141",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -0,0 +1,35 @@
1
+ import {allCallables} from "../registry";
2
+
3
+ const schema = allCallables["activities-bulkAdd"].request;
4
+
5
+ const activity = {
6
+ type: "extracurricular",
7
+ activityType: "volunteering",
8
+ title: "Food bank",
9
+ description: "Sorting donations",
10
+ };
11
+
12
+ describe("activities-bulkAdd request", () => {
13
+ it("accepts a filter selection", () => {
14
+ const parsed = schema.safeParse({oId: "school", activity,
15
+ students: {allSelected: true, filters: [{k: "details.year", e: "==", v: "10"}]}});
16
+ expect(parsed.success).toBe(true);
17
+ });
18
+
19
+ it("accepts a list of uids", () => {
20
+ expect(schema.safeParse({oId: "school", activity, students: ["a", "b"]}).success).toBe(true);
21
+ });
22
+
23
+ it("drops fields the server owns", () => {
24
+ const parsed = schema.parse({oId: "school", students: ["a"],
25
+ activity: {...activity, uid: "someoneElse", verificationStatus: "schoolVerified", createdBy: "student"}});
26
+ expect(parsed.activity).not.toHaveProperty("uid");
27
+ expect(parsed.activity).not.toHaveProperty("verificationStatus");
28
+ expect(parsed.activity).not.toHaveProperty("createdBy");
29
+ });
30
+
31
+ it("rejects an activity with no title or category", () => {
32
+ expect(schema.safeParse({oId: "school", students: ["a"], activity: {...activity, title: ""}}).success).toBe(false);
33
+ expect(schema.safeParse({oId: "school", students: ["a"], activity: {...activity, type: "other"}}).success).toBe(false);
34
+ });
35
+ });
@@ -0,0 +1,66 @@
1
+ import {z} from "zod";
2
+ import {CallableGroup} from "./types";
3
+
4
+ /**
5
+ * Contracts for staff adding student activities
6
+ * (`Placementt-Backend/functions/src/activities.ts`).
7
+ */
8
+
9
+ /** The students picked in the student table, as DataViewerSelectionBackend:
10
+ * a filter (with an optional search), or a list of uids. */
11
+ const studentSelection = z.union([
12
+ z.object({
13
+ allSelected: z.boolean(),
14
+ search: z.string().optional(),
15
+ filters: z.array(z.object({
16
+ k: z.string(),
17
+ e: z.string().optional(),
18
+ v: z.unknown(),
19
+ })).optional(),
20
+ }),
21
+ z.array(z.string().min(1).max(128)).max(5000),
22
+ ]);
23
+
24
+ /** What staff fill in on the activity builder. Everything the server owns (who
25
+ * it belongs to, who made it, how it is verified, when) is set there, never sent. */
26
+ const staffActivity = z.object({
27
+ type: z.enum(["extracurricular", "supercurricular", "curricular"]),
28
+ activityType: z.string().min(1),
29
+ title: z.string().min(1),
30
+ description: z.string(),
31
+ organisationName: z.string().optional(),
32
+ typeDetails: z.record(z.unknown()).optional(),
33
+ locationType: z.enum(["inPerson", "online", "hybrid"]).optional(),
34
+ startDate: z.string().optional(),
35
+ endDate: z.string().optional(),
36
+ isOngoing: z.boolean().optional(),
37
+ isRecurring: z.boolean().optional(),
38
+ timeCommitment: z.enum(["1to2Hours", "halfDay", "fullDay", "multipleDays"]).optional(),
39
+ recurringFrequency: z.enum(["daily", "weekly", "fortnightly", "monthly"]).optional(),
40
+ hoursPerSession: z.number().optional(),
41
+ daysOfWeek: z.array(z.enum(["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"])).optional(),
42
+ skillsDeveloped: z.array(z.string()).optional(),
43
+ });
44
+
45
+ export type StaffActivityInput = z.infer<typeof staffActivity>;
46
+
47
+ export const activitiesCallables = {
48
+ /**
49
+ * Adds one activity to every selected student, as a staff-reported activity.
50
+ * Students outside the caller's student visibility are skipped. Reflection and
51
+ * skill ratings are left for each student to add.
52
+ */
53
+ "activities-bulkAdd": {
54
+ request: z.object({
55
+ /** The school the students belong to. */
56
+ oId: z.string().min(1).max(128),
57
+ students: studentSelection,
58
+ activity: staffActivity,
59
+ /** Set by `useExecuteCallableJob`. */
60
+ jobId: z.string().optional(),
61
+ }),
62
+ response: z.object({
63
+ added: z.number(),
64
+ }),
65
+ },
66
+ } satisfies CallableGroup;
@@ -15,3 +15,4 @@ export * from "./misSync";
15
15
  export * from "./userManagement";
16
16
  export * from "./outreach";
17
17
  export * from "./formImport";
18
+ export * from "./activities";
@@ -18,6 +18,7 @@ import {misSyncCallables} from "./misSync";
18
18
  import {userManagementCallables} from "./userManagement";
19
19
  import {outreachCallables} from "./outreach";
20
20
  import {formImportCallables} from "./formImport";
21
+ import {activitiesCallables} from "./activities";
21
22
 
22
23
  /**
23
24
  * The single source of truth for every typed callable. Add a feature group's
@@ -49,6 +50,7 @@ export const allCallables = {
49
50
  ...userManagementCallables,
50
51
  ...outreachCallables,
51
52
  ...formImportCallables,
53
+ ...activitiesCallables,
52
54
  } satisfies CallableGroup;
53
55
 
54
56
  /** Every registered callable name. */
@@ -86,4 +88,5 @@ export const callableGroups = {
86
88
  userManagementCallables,
87
89
  outreachCallables,
88
90
  formImportCallables,
91
+ activitiesCallables,
89
92
  };
@@ -93,6 +93,9 @@ export const CALLABLE_JOB_CONTEXT: Record<string, CallableJobContext> = {
93
93
  },
94
94
 
95
95
  // ─── Placements ────────────────────────────────────────────────────────────
96
+ "activities-bulkAdd": {
97
+ collectionLink: "studentActivities",
98
+ },
96
99
  "placement-bulkUpload": {
97
100
  collectionLink: "placements",
98
101
  collectionItemId: (data) => d(data)?.cohortId as string | undefined,
@@ -167,7 +167,7 @@ export function useExecuteCallableJob({user}:{user: UserData}) {
167
167
  "parents-add"|"parents-bulkApprove"|"placement-sendBulkExternalEmails"|"aspirations-sendLeaverCheckpointNow"|"aspirations-sendAspirationCycleNow"|
168
168
  "aspirations-sendLeaverGroupNow"|"aspirations-deleteAspirationCycle"|"checks-generateChecks"|
169
169
  "surveys-sendSurveyCycleNow"|"surveys-provisionSurveysNow"|"destinationsConfig-provisionDestinationsNow"|
170
- "launches-launchToStudents"
170
+ "launches-launchToStudents"|"activities-bulkAdd"
171
171
 
172
172
  const dispatch = useAppDispatch();
173
173
 
@@ -380,6 +380,15 @@ export function useExecuteCallableJob({user}:{user: UserData}) {
380
380
  };
381
381
  }
382
382
 
383
+ case "activities-bulkAdd": {
384
+ const count = (data as {count?: number}).count;
385
+ const title = (data as {activity?: {title?: string}}).activity?.title;
386
+ return {
387
+ title: `Adding activity${title ? `: ${title}` : ""}`,
388
+ description: `Adding this activity to ${count ? `${count} student${count === 1 ? "" : "s"}` : "the selected students"}. It appears on each student's record once complete.`,
389
+ };
390
+ }
391
+
383
392
  default:
384
393
  return;
385
394
  }
@@ -3956,8 +3956,10 @@ export type StudentActivity = {
3956
3956
 
3957
3957
  createdBy: "student" | "staff";
3958
3958
 
3959
+ // staffReported: added by staff on the student's behalf, so the school vouches for it.
3959
3960
  verificationStatus:
3960
3961
  | "selfReported"
3962
+ | "staffReported"
3961
3963
  | "schoolVerified"
3962
3964
  | "employerVerified";
3963
3965