placementt-core 1.400.1222 → 1.400.1224

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,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const registry_1 = require("../registry");
4
+ const join = registry_1.allCallables["events-employerJoinEvent"].request;
5
+ describe("events-employerJoinEvent request", () => {
6
+ it("accepts a self sign-up with the unused fields sent as null", () => {
7
+ const parsed = join.safeParse({ eventId: "event", providerContactId: "contact",
8
+ externalEventAttendeeId: null, capacity: null, proposedDates: null });
9
+ expect(parsed.success).toBe(true);
10
+ });
11
+ it("still accepts an invited join", () => {
12
+ const parsed = join.parse({ eventId: "event", externalEventAttendeeId: "attendee", capacity: 5,
13
+ proposedDates: [{ startDate: "2026-11-20" }] });
14
+ expect(parsed.externalEventAttendeeId).toBe("attendee");
15
+ expect(parsed.capacity).toBe(5);
16
+ });
17
+ it("still needs an event", () => {
18
+ expect(join.safeParse({ providerContactId: "contact" }).success).toBe(false);
19
+ });
20
+ });
21
+ //# sourceMappingURL=events.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/callables/__tests__/events.test.ts"],"names":[],"mappings":";;AAAA,0CAAyC;AAEzC,MAAM,IAAI,GAAG,uBAAY,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC;AAE9D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS;YACzE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACzF,aAAa,EAAE,CAAC,EAAC,SAAS,EAAE,YAAY,EAAC,CAAC,EAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,iBAAiB,EAAE,SAAS,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -121,17 +121,20 @@ export declare const eventsCallables: {
121
121
  invited: z.ZodNumber;
122
122
  linked: z.ZodNumber;
123
123
  skipped: z.ZodNumber;
124
+ duplicates: z.ZodOptional<z.ZodNumber>;
124
125
  remaining: z.ZodNumber;
125
126
  }, "strip", z.ZodTypeAny, {
126
127
  skipped: number;
127
128
  linked: number;
128
129
  invited: number;
129
130
  remaining: number;
131
+ duplicates?: number | undefined;
130
132
  }, {
131
133
  skipped: number;
132
134
  linked: number;
133
135
  invited: number;
134
136
  remaining: number;
137
+ duplicates?: number | undefined;
135
138
  }>;
136
139
  };
137
140
  "events-getNonUserSchoolInvite": {
@@ -252,16 +255,47 @@ export declare const eventsCallables: {
252
255
  students?: number | undefined;
253
256
  }>]>;
254
257
  response: z.ZodObject<{
255
- code: z.ZodEnum<["updated", "emailed", "hasAccount"]>;
258
+ code: z.ZodEnum<["updated", "emailed", "hasAccount", "alreadySignedUp"]>;
256
259
  eventSchoolId: z.ZodOptional<z.ZodString>;
257
260
  }, "strip", z.ZodTypeAny, {
258
- code: "updated" | "emailed" | "hasAccount";
261
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
259
262
  eventSchoolId?: string | undefined;
260
263
  }, {
261
- code: "updated" | "emailed" | "hasAccount";
264
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
262
265
  eventSchoolId?: string | undefined;
263
266
  }>;
264
267
  };
268
+ "events-employerJoinEvent": {
269
+ request: z.ZodObject<{
270
+ eventId: z.ZodString;
271
+ externalEventAttendeeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
+ providerContactId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
274
+ proposedDates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>>;
275
+ }, "strip", z.ZodTypeAny, {
276
+ eventId: string;
277
+ providerContactId?: string | null | undefined;
278
+ externalEventAttendeeId?: string | null | undefined;
279
+ capacity?: number | null | undefined;
280
+ proposedDates?: Record<string, unknown>[] | null | undefined;
281
+ }, {
282
+ eventId: string;
283
+ providerContactId?: string | null | undefined;
284
+ externalEventAttendeeId?: string | null | undefined;
285
+ capacity?: number | null | undefined;
286
+ proposedDates?: Record<string, unknown>[] | null | undefined;
287
+ }>;
288
+ response: z.ZodOptional<z.ZodObject<{
289
+ code: z.ZodEnum<["joined", "notFound", "notAccepting"]>;
290
+ externalEventAttendeeId: z.ZodOptional<z.ZodString>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ code: "notFound" | "joined" | "notAccepting";
293
+ externalEventAttendeeId?: string | undefined;
294
+ }, {
295
+ code: "notFound" | "joined" | "notAccepting";
296
+ externalEventAttendeeId?: string | undefined;
297
+ }>>;
298
+ };
265
299
  "events-removeEventSlotBooking": {
266
300
  request: z.ZodObject<{
267
301
  eventSchoolId: z.ZodString;
@@ -69,6 +69,11 @@ exports.eventsCallables = {
69
69
  invited: zod_1.z.number(),
70
70
  linked: zod_1.z.number(),
71
71
  skipped: zod_1.z.number(),
72
+ // Addresses left out because the same school is already on the event (by account,
73
+ // address, school name, or a shared school domain with a close name). Its existing
74
+ // invite is resent instead. A shared domain or close name alone lets the school in,
75
+ // flagged with ExternalEventCareersSchool.possibleDuplicateOf.
76
+ duplicates: zod_1.z.number().optional(),
72
77
  remaining: zod_1.z.number(),
73
78
  }),
74
79
  },
@@ -100,7 +105,9 @@ exports.eventsCallables = {
100
105
  // and email are then required, and the response carries the new eventSchoolId, or
101
106
  // "emailed" when that address already has an invite (its link is emailed, not returned), or
102
107
  // "hasAccount" when it belongs to a school already in the hub, which is invited through its
103
- // account instead and accepts after logging in.
108
+ // account instead and accepts after logging in, or "alreadySignedUp" when the same school is
109
+ // already on the event under another address (matched as for inviteNonUserSchools'
110
+ // duplicates): no record is made and the link is emailed to whoever registered it.
104
111
  zod_1.z.object({
105
112
  action: zod_1.z.literal("accept"),
106
113
  eventSchoolId: zod_1.z.string().min(1).optional(),
@@ -128,10 +135,29 @@ exports.eventsCallables = {
128
135
  }),
129
136
  ]),
130
137
  response: zod_1.z.object({
131
- code: zod_1.z.enum(["updated", "emailed", "hasAccount"]),
138
+ code: zod_1.z.enum(["updated", "emailed", "hasAccount", "alreadySignedUp"]),
132
139
  eventSchoolId: zod_1.z.string().optional(),
133
140
  }),
134
141
  },
142
+ // Public: an employer joining an event. With externalEventAttendeeId it's the invited attendee
143
+ // from the email link (the id is the credential) accepting. Without, it's a self sign-up from
144
+ // the public event link for the providerContactId the employer just gave: the attendee is made
145
+ // "providerAvailable" and its id returned, so the page can show the invite tasks (forms,
146
+ // uploads, files to review) straight after. An employer already on the event gets its id back.
147
+ "events-employerJoinEvent": {
148
+ request: zod_1.z.object({
149
+ eventId: zod_1.z.string().min(1),
150
+ // Nullish, as the callable client sends an undefined field as null.
151
+ externalEventAttendeeId: zod_1.z.string().min(1).nullish(),
152
+ providerContactId: zod_1.z.string().min(1).nullish(),
153
+ capacity: zod_1.z.number().nullish(),
154
+ proposedDates: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())).nullish(),
155
+ }),
156
+ response: zod_1.z.object({
157
+ code: zod_1.z.enum(["joined", "notFound", "notAccepting"]),
158
+ externalEventAttendeeId: zod_1.z.string().optional(),
159
+ }).optional(),
160
+ },
135
161
  // Hub staff only. Frees the school's places in one slot.
136
162
  "events-removeEventSlotBooking": {
137
163
  request: zod_1.z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/callables/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/callables/events.ts"],"names":[],"mappings":"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"}
@@ -3319,17 +3319,20 @@ export declare const allCallables: {
3319
3319
  invited: z.ZodNumber;
3320
3320
  linked: z.ZodNumber;
3321
3321
  skipped: z.ZodNumber;
3322
+ duplicates: z.ZodOptional<z.ZodNumber>;
3322
3323
  remaining: z.ZodNumber;
3323
3324
  }, "strip", z.ZodTypeAny, {
3324
3325
  skipped: number;
3325
3326
  linked: number;
3326
3327
  invited: number;
3327
3328
  remaining: number;
3329
+ duplicates?: number | undefined;
3328
3330
  }, {
3329
3331
  skipped: number;
3330
3332
  linked: number;
3331
3333
  invited: number;
3332
3334
  remaining: number;
3335
+ duplicates?: number | undefined;
3333
3336
  }>;
3334
3337
  };
3335
3338
  "events-getNonUserSchoolInvite": {
@@ -3450,16 +3453,47 @@ export declare const allCallables: {
3450
3453
  students?: number | undefined;
3451
3454
  }>]>;
3452
3455
  response: z.ZodObject<{
3453
- code: z.ZodEnum<["updated", "emailed", "hasAccount"]>;
3456
+ code: z.ZodEnum<["updated", "emailed", "hasAccount", "alreadySignedUp"]>;
3454
3457
  eventSchoolId: z.ZodOptional<z.ZodString>;
3455
3458
  }, "strip", z.ZodTypeAny, {
3456
- code: "updated" | "emailed" | "hasAccount";
3459
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
3457
3460
  eventSchoolId?: string | undefined;
3458
3461
  }, {
3459
- code: "updated" | "emailed" | "hasAccount";
3462
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
3460
3463
  eventSchoolId?: string | undefined;
3461
3464
  }>;
3462
3465
  };
3466
+ "events-employerJoinEvent": {
3467
+ request: z.ZodObject<{
3468
+ eventId: z.ZodString;
3469
+ externalEventAttendeeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3470
+ providerContactId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3471
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3472
+ proposedDates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>>;
3473
+ }, "strip", z.ZodTypeAny, {
3474
+ eventId: string;
3475
+ providerContactId?: string | null | undefined;
3476
+ externalEventAttendeeId?: string | null | undefined;
3477
+ capacity?: number | null | undefined;
3478
+ proposedDates?: Record<string, unknown>[] | null | undefined;
3479
+ }, {
3480
+ eventId: string;
3481
+ providerContactId?: string | null | undefined;
3482
+ externalEventAttendeeId?: string | null | undefined;
3483
+ capacity?: number | null | undefined;
3484
+ proposedDates?: Record<string, unknown>[] | null | undefined;
3485
+ }>;
3486
+ response: z.ZodOptional<z.ZodObject<{
3487
+ code: z.ZodEnum<["joined", "notFound", "notAccepting"]>;
3488
+ externalEventAttendeeId: z.ZodOptional<z.ZodString>;
3489
+ }, "strip", z.ZodTypeAny, {
3490
+ code: "notFound" | "joined" | "notAccepting";
3491
+ externalEventAttendeeId?: string | undefined;
3492
+ }, {
3493
+ code: "notFound" | "joined" | "notAccepting";
3494
+ externalEventAttendeeId?: string | undefined;
3495
+ }>>;
3496
+ };
3463
3497
  "events-removeEventSlotBooking": {
3464
3498
  request: z.ZodObject<{
3465
3499
  eventSchoolId: z.ZodString;
@@ -3711,17 +3745,20 @@ export declare const callableGroups: {
3711
3745
  invited: z.ZodNumber;
3712
3746
  linked: z.ZodNumber;
3713
3747
  skipped: z.ZodNumber;
3748
+ duplicates: z.ZodOptional<z.ZodNumber>;
3714
3749
  remaining: z.ZodNumber;
3715
3750
  }, "strip", z.ZodTypeAny, {
3716
3751
  skipped: number;
3717
3752
  linked: number;
3718
3753
  invited: number;
3719
3754
  remaining: number;
3755
+ duplicates?: number | undefined;
3720
3756
  }, {
3721
3757
  skipped: number;
3722
3758
  linked: number;
3723
3759
  invited: number;
3724
3760
  remaining: number;
3761
+ duplicates?: number | undefined;
3725
3762
  }>;
3726
3763
  };
3727
3764
  "events-getNonUserSchoolInvite": {
@@ -3842,16 +3879,47 @@ export declare const callableGroups: {
3842
3879
  students?: number | undefined;
3843
3880
  }>]>;
3844
3881
  response: z.ZodObject<{
3845
- code: z.ZodEnum<["updated", "emailed", "hasAccount"]>;
3882
+ code: z.ZodEnum<["updated", "emailed", "hasAccount", "alreadySignedUp"]>;
3846
3883
  eventSchoolId: z.ZodOptional<z.ZodString>;
3847
3884
  }, "strip", z.ZodTypeAny, {
3848
- code: "updated" | "emailed" | "hasAccount";
3885
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
3849
3886
  eventSchoolId?: string | undefined;
3850
3887
  }, {
3851
- code: "updated" | "emailed" | "hasAccount";
3888
+ code: "updated" | "emailed" | "hasAccount" | "alreadySignedUp";
3852
3889
  eventSchoolId?: string | undefined;
3853
3890
  }>;
3854
3891
  };
3892
+ "events-employerJoinEvent": {
3893
+ request: z.ZodObject<{
3894
+ eventId: z.ZodString;
3895
+ externalEventAttendeeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3896
+ providerContactId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3897
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3898
+ proposedDates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>>;
3899
+ }, "strip", z.ZodTypeAny, {
3900
+ eventId: string;
3901
+ providerContactId?: string | null | undefined;
3902
+ externalEventAttendeeId?: string | null | undefined;
3903
+ capacity?: number | null | undefined;
3904
+ proposedDates?: Record<string, unknown>[] | null | undefined;
3905
+ }, {
3906
+ eventId: string;
3907
+ providerContactId?: string | null | undefined;
3908
+ externalEventAttendeeId?: string | null | undefined;
3909
+ capacity?: number | null | undefined;
3910
+ proposedDates?: Record<string, unknown>[] | null | undefined;
3911
+ }>;
3912
+ response: z.ZodOptional<z.ZodObject<{
3913
+ code: z.ZodEnum<["joined", "notFound", "notAccepting"]>;
3914
+ externalEventAttendeeId: z.ZodOptional<z.ZodString>;
3915
+ }, "strip", z.ZodTypeAny, {
3916
+ code: "notFound" | "joined" | "notAccepting";
3917
+ externalEventAttendeeId?: string | undefined;
3918
+ }, {
3919
+ code: "notFound" | "joined" | "notAccepting";
3920
+ externalEventAttendeeId?: string | undefined;
3921
+ }>>;
3922
+ };
3855
3923
  "events-removeEventSlotBooking": {
3856
3924
  request: z.ZodObject<{
3857
3925
  eventSchoolId: z.ZodString;
@@ -20,6 +20,7 @@ export type RegistrationData = {
20
20
  marketingConsent?: MarketingConsent;
21
21
  };
22
22
  export declare const register: (credentials: RegistrationData, type: "Institute" | "Provider" | "Student") => Promise<string>;
23
+ export declare function stripUndefined(data: unknown): unknown;
23
24
  export declare const executeCallable: <K extends string>(functionName: K, data: K extends CallableName ? CallableContracts[K]["request"] : unknown, options?: {
24
25
  timeout?: number;
25
26
  reloadKeys?: string[];
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.executeCallable = exports.register = exports.login = exports.authListener = void 0;
7
+ exports.stripUndefined = stripUndefined;
7
8
  exports.useExecuteCallableJob = useExecuteCallableJob;
8
9
  const auth_1 = require("firebase/auth");
9
10
  const functions_1 = require("firebase/functions");
@@ -79,6 +80,17 @@ const isAdminImpersonating = () => typeof window !== "undefined" && Boolean(wind
79
80
  // data / `{data: any}` - i.e. today's behaviour - so nothing breaks until a
80
81
  // callable has a contract. There is no permissive overload to silently swallow
81
82
  // a wrong payload on a registered name.
83
+ // The callable client sends an undefined field as null, which an `.optional()`
84
+ // request schema rejects. Dropping them sends a missing field instead.
85
+ function stripUndefined(data) {
86
+ if (Array.isArray(data))
87
+ return data.map(stripUndefined);
88
+ if (!data || Object.prototype.toString.call(data) !== "[object Object]")
89
+ return data;
90
+ return Object.fromEntries(Object.entries(data)
91
+ .filter(([, v]) => v !== undefined)
92
+ .map(([k, v]) => [k, stripUndefined(v)]));
93
+ }
82
94
  const executeCallable = async (functionName, data, options) => {
83
95
  const currentUser = firebaseConfig_1.auth.currentUser;
84
96
  const firebaseQuery = new firebaseQuery_1.default();
@@ -119,7 +131,7 @@ const executeCallable = async (functionName, data, options) => {
119
131
  const reloadKeys = options?.reloadKeys ?? [context?.collectionLink];
120
132
  const funcCallable = (0, functions_1.httpsCallable)(firebaseConfig_1.functions, functionName, options);
121
133
  try {
122
- const res = await funcCallable(data);
134
+ const res = await funcCallable(stripUndefined(data));
123
135
  updateJob({ status: "complete", updated: new Date().toISOString() });
124
136
  (0, dataViewerReload_1.triggerDataViewerReload)(reloadKeys);
125
137
  return res;
@@ -382,7 +394,7 @@ function useExecuteCallableJob({ user }) {
382
394
  const reloadKeys = options?.reloadKeys ?? [context?.collectionLink];
383
395
  const funcCallable = (0, functions_1.httpsCallable)(firebaseConfig_1.functions, functionName);
384
396
  console.log(items);
385
- funcCallable(items).then(async () => {
397
+ funcCallable(stripUndefined(items)).then(async () => {
386
398
  const jobResolved = await firebaseQuery.getDocData(["jobs", jobId]);
387
399
  dispatch((0, jobsSlice_1.updateJob)({
388
400
  jobId: jobId,
@@ -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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"}
@@ -1467,6 +1467,9 @@ export type CustomFormSchemaField = {
1467
1467
  max?: number;
1468
1468
  minRows?: number;
1469
1469
  options?: string[];
1470
+ multiple?: boolean;
1471
+ maxSelections?: number;
1472
+ inputType?: "email" | "tel";
1470
1473
  levels?: number;
1471
1474
  };
1472
1475
  };
@@ -3385,6 +3388,7 @@ export type ExternalEventAttendee = {
3385
3388
  schoolId?: string;
3386
3389
  eventId: string;
3387
3390
  providerContactId: string;
3391
+ source?: "link";
3388
3392
  finished?: boolean;
3389
3393
  students?: string[];
3390
3394
  schools?: {
@@ -3486,6 +3490,8 @@ export type ExternalEventCareersSchool = {
3486
3490
  schoolName?: string;
3487
3491
  staffName?: string;
3488
3492
  };
3493
+ source?: "link" | "email" | "hub";
3494
+ possibleDuplicateOf?: string;
3489
3495
  eventId: string;
3490
3496
  status: "invited" | "available" | "finalConfirmationSent" | "confirmed" | "feedbackSent" | "declined" | "removed" | "visibleTo" | "creator";
3491
3497
  slots?: {
@@ -1 +1 @@
1
- {"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAiwIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AAtqED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AAklEzC;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":";;;AA6wIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA/qED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA2lEzC;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.1222",
5
+ "version": "1.400.1224",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -0,0 +1,22 @@
1
+ import {allCallables} from "../registry";
2
+
3
+ const join = allCallables["events-employerJoinEvent"].request;
4
+
5
+ describe("events-employerJoinEvent request", () => {
6
+ it("accepts a self sign-up with the unused fields sent as null", () => {
7
+ const parsed = join.safeParse({eventId: "event", providerContactId: "contact",
8
+ externalEventAttendeeId: null, capacity: null, proposedDates: null});
9
+ expect(parsed.success).toBe(true);
10
+ });
11
+
12
+ it("still accepts an invited join", () => {
13
+ const parsed = join.parse({eventId: "event", externalEventAttendeeId: "attendee", capacity: 5,
14
+ proposedDates: [{startDate: "2026-11-20"}]});
15
+ expect(parsed.externalEventAttendeeId).toBe("attendee");
16
+ expect(parsed.capacity).toBe(5);
17
+ });
18
+
19
+ it("still needs an event", () => {
20
+ expect(join.safeParse({providerContactId: "contact"}).success).toBe(false);
21
+ });
22
+ });
@@ -68,6 +68,11 @@ export const eventsCallables = {
68
68
  invited: z.number(),
69
69
  linked: z.number(),
70
70
  skipped: z.number(),
71
+ // Addresses left out because the same school is already on the event (by account,
72
+ // address, school name, or a shared school domain with a close name). Its existing
73
+ // invite is resent instead. A shared domain or close name alone lets the school in,
74
+ // flagged with ExternalEventCareersSchool.possibleDuplicateOf.
75
+ duplicates: z.number().optional(),
71
76
  remaining: z.number(),
72
77
  }),
73
78
  },
@@ -99,7 +104,9 @@ export const eventsCallables = {
99
104
  // and email are then required, and the response carries the new eventSchoolId, or
100
105
  // "emailed" when that address already has an invite (its link is emailed, not returned), or
101
106
  // "hasAccount" when it belongs to a school already in the hub, which is invited through its
102
- // account instead and accepts after logging in.
107
+ // account instead and accepts after logging in, or "alreadySignedUp" when the same school is
108
+ // already on the event under another address (matched as for inviteNonUserSchools'
109
+ // duplicates): no record is made and the link is emailed to whoever registered it.
103
110
  z.object({
104
111
  action: z.literal("accept"),
105
112
  eventSchoolId: z.string().min(1).optional(),
@@ -127,10 +134,29 @@ export const eventsCallables = {
127
134
  }),
128
135
  ]),
129
136
  response: z.object({
130
- code: z.enum(["updated", "emailed", "hasAccount"]),
137
+ code: z.enum(["updated", "emailed", "hasAccount", "alreadySignedUp"]),
131
138
  eventSchoolId: z.string().optional(),
132
139
  }),
133
140
  },
141
+ // Public: an employer joining an event. With externalEventAttendeeId it's the invited attendee
142
+ // from the email link (the id is the credential) accepting. Without, it's a self sign-up from
143
+ // the public event link for the providerContactId the employer just gave: the attendee is made
144
+ // "providerAvailable" and its id returned, so the page can show the invite tasks (forms,
145
+ // uploads, files to review) straight after. An employer already on the event gets its id back.
146
+ "events-employerJoinEvent": {
147
+ request: z.object({
148
+ eventId: z.string().min(1),
149
+ // Nullish, as the callable client sends an undefined field as null.
150
+ externalEventAttendeeId: z.string().min(1).nullish(),
151
+ providerContactId: z.string().min(1).nullish(),
152
+ capacity: z.number().nullish(),
153
+ proposedDates: z.array(z.record(z.string(), z.unknown())).nullish(),
154
+ }),
155
+ response: z.object({
156
+ code: z.enum(["joined", "notFound", "notAccepting"]),
157
+ externalEventAttendeeId: z.string().optional(),
158
+ }).optional(),
159
+ },
134
160
  // Hub staff only. Frees the school's places in one slot.
135
161
  "events-removeEventSlotBooking": {
136
162
  request: z.object({
@@ -95,6 +95,16 @@ const isAdminImpersonating = () => typeof window !== "undefined" && Boolean(wind
95
95
  // data / `{data: any}` - i.e. today's behaviour - so nothing breaks until a
96
96
  // callable has a contract. There is no permissive overload to silently swallow
97
97
  // a wrong payload on a registered name.
98
+ // The callable client sends an undefined field as null, which an `.optional()`
99
+ // request schema rejects. Dropping them sends a missing field instead.
100
+ export function stripUndefined(data: unknown): unknown {
101
+ if (Array.isArray(data)) return data.map(stripUndefined);
102
+ if (!data || Object.prototype.toString.call(data) !== "[object Object]") return data;
103
+ return Object.fromEntries(Object.entries(data as Record<string, unknown>)
104
+ .filter(([, v]) => v !== undefined)
105
+ .map(([k, v]) => [k, stripUndefined(v)]));
106
+ }
107
+
98
108
  export const executeCallable = async <K extends string>(
99
109
  functionName: K,
100
110
  data: K extends CallableName ? CallableContracts[K]["request"] : unknown,
@@ -144,7 +154,7 @@ export const executeCallable = async <K extends string>(
144
154
 
145
155
  const funcCallable = httpsCallable(functions, functionName, options);
146
156
  try {
147
- const res = await funcCallable(data);
157
+ const res = await funcCallable(stripUndefined(data));
148
158
  updateJob({status: "complete", updated: new Date().toISOString()});
149
159
  triggerDataViewerReload(reloadKeys);
150
160
  return res as any;
@@ -436,7 +446,7 @@ export function useExecuteCallableJob({user}:{user: UserData}) {
436
446
 
437
447
  const funcCallable = httpsCallable(functions, functionName);
438
448
  console.log(items);
439
- funcCallable(items).then(async () => {
449
+ funcCallable(stripUndefined(items)).then(async () => {
440
450
  const jobResolved = await firebaseQuery.getDocData(["jobs", jobId]) as Job;
441
451
  dispatch(updateJob({
442
452
  jobId: jobId,
@@ -1494,6 +1494,9 @@ export type CustomFormSchemaField = {
1494
1494
  max?: number /* type: number */
1495
1495
  minRows?: number /* type: long */
1496
1496
  options?: string[] // from dropdown only
1497
+ multiple?: boolean // type: dropdown. Pick any number of options; the answer is a string[].
1498
+ maxSelections?: number // type: dropdown with multiple. Most options that can be picked, e.g. "select up to 3".
1499
+ inputType?: "email"|"tel" // type: short. Validates and labels the answer as an email address or phone number.
1497
1500
  levels?: number // For ratings, number of stars.
1498
1501
  }
1499
1502
  }
@@ -3389,6 +3392,7 @@ export type ExternalEventAttendee = {
3389
3392
  schoolId?: string,
3390
3393
  eventId: string,
3391
3394
  providerContactId: string,
3395
+ source?: "link", // Set when the employer signed itself up from the event's public link. Unset when invited.
3392
3396
  finished?: boolean,
3393
3397
  students?: string[],
3394
3398
  schools?: {[key: string]: number}, // NOTE ID with number of students
@@ -3478,6 +3482,14 @@ export type ExternalEventCareersSchool = {
3478
3482
  schoolName?: string,
3479
3483
  staffName?: string,
3480
3484
  },
3485
+ // How the school was added: "link" when it signed itself up from the hub's shareable link,
3486
+ // "email" when the hub invited it by email address, "hub" when the hub invited its account.
3487
+ // Unset on older records, which are "email" with nonUserSchool and "hub" without.
3488
+ source?: "link"|"email"|"hub",
3489
+ // The externalEventSchools id of a school already on the event that this one might be, set when
3490
+ // they share an email domain or have a close name but not closely enough to block the sign-up
3491
+ // (academies in a trust, or a local authority domain). The hub merges or dismisses it.
3492
+ possibleDuplicateOf?: string,
3481
3493
  eventId: string,
3482
3494
  status: "invited"|"available"|"finalConfirmationSent"|"confirmed"|"feedbackSent"|"declined"|"removed"|"visibleTo"|"creator", // "removed": taken off the event by the hub. Hidden from the school, kept for the hub.
3483
3495
  slots?: {[slotId: string]: number}, // Timed slot bookings, with students per slot (1 when the event counts schools)