placementt-core 1.400.1182 → 1.400.1184
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.
- package/lib/eventTimeSlots.d.ts +15 -7
- package/lib/eventTimeSlots.js +31 -22
- package/lib/eventTimeSlots.js.map +1 -1
- package/lib/eventTimeSlots.test.js +46 -17
- package/lib/eventTimeSlots.test.js.map +1 -1
- package/lib/firebase/firebase.d.ts +2 -1
- package/lib/firebase/firebase.js.map +1 -1
- package/lib/typeDefinitions.d.ts +22 -3
- package/lib/typeDefinitions.js.map +1 -1
- package/package.json +1 -1
- package/src/eventTimeSlots.test.ts +53 -18
- package/src/eventTimeSlots.ts +34 -30
- package/src/firebase/firebase.tsx +3 -2
- package/src/typeDefinitions.ts +26 -6
package/lib/eventTimeSlots.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import { ExternalEvent } from "./typeDefinitions";
|
|
2
|
-
export type EventTimeSlot = {
|
|
3
|
-
id: string;
|
|
1
|
+
import { EventTimeSlotSetting, ExternalEvent } from "./typeDefinitions";
|
|
2
|
+
export type EventTimeSlot = EventTimeSlotSetting & {
|
|
4
3
|
date: string;
|
|
5
|
-
start: string;
|
|
6
|
-
end: string;
|
|
7
4
|
};
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
5
|
+
export declare const getEventDateRange: (event: Pick<ExternalEvent, "startDate" | "endDate">) => string[];
|
|
6
|
+
export declare const getEventTimeSlots: (event: Pick<ExternalEvent, "timeSlots" | "startDate" | "endDate">) => EventTimeSlot[];
|
|
7
|
+
export declare const getSlotPlacesLeft: (event: Pick<ExternalEvent, "timeSlots" | "slotBookings" | "startDate" | "endDate">, slotId: string) => number;
|
|
8
|
+
export type SlotBookingChange = {
|
|
9
|
+
slotId: string;
|
|
10
|
+
before: number;
|
|
11
|
+
after: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const getSlotBookingChanges: (before?: {
|
|
14
|
+
[slotId: string]: number;
|
|
15
|
+
}, after?: {
|
|
16
|
+
[slotId: string]: number;
|
|
17
|
+
}) => SlotBookingChange[];
|
package/lib/eventTimeSlots.js
CHANGED
|
@@ -1,33 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSlotPlacesLeft = exports.getEventTimeSlots = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
const toTime = (minutes) => `${String(Math.floor(minutes / 60)).padStart(2, "0")}:${String(minutes % 60).padStart(2, "0")}`;
|
|
9
|
-
// Every slot for the event, one run of slotMinutes-long slots per day between
|
|
10
|
-
// startDate and endDate (inclusive). A final slot that would overrun endTime is dropped.
|
|
11
|
-
const getEventTimeSlots = (event) => {
|
|
12
|
-
const { timeSlots, startDate, startTime, endTime } = event;
|
|
13
|
-
if (!timeSlots?.slotMinutes || !startDate || !startTime || !endTime)
|
|
3
|
+
exports.getSlotBookingChanges = exports.getSlotPlacesLeft = exports.getEventTimeSlots = exports.getEventDateRange = void 0;
|
|
4
|
+
// Every date from startDate to endDate (inclusive), as "YYYY-MM-DD".
|
|
5
|
+
const getEventDateRange = (event) => {
|
|
6
|
+
if (!event.startDate)
|
|
14
7
|
return [];
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const first = new Date(`${startDate.slice(0, 10)}T00:00:00Z`);
|
|
18
|
-
const last = new Date(`${(event.endDate || startDate).slice(0, 10)}T00:00:00Z`);
|
|
8
|
+
const first = new Date(`${event.startDate.slice(0, 10)}T00:00:00Z`);
|
|
9
|
+
const last = new Date(`${(event.endDate || event.startDate).slice(0, 10)}T00:00:00Z`);
|
|
19
10
|
if (isNaN(first.getTime()) || isNaN(last.getTime()))
|
|
20
11
|
return [];
|
|
21
|
-
const
|
|
12
|
+
const dates = [];
|
|
22
13
|
for (const day = first; day <= last; day.setUTCDate(day.getUTCDate() + 1)) {
|
|
23
|
-
|
|
24
|
-
for (let t = dayStart; t + timeSlots.slotMinutes <= dayEnd; t += timeSlots.slotMinutes) {
|
|
25
|
-
slots.push({ id: `${date}T${toTime(t)}`, date, start: toTime(t), end: toTime(t + timeSlots.slotMinutes) });
|
|
26
|
-
}
|
|
14
|
+
dates.push(day.toISOString().slice(0, 10));
|
|
27
15
|
}
|
|
28
|
-
return
|
|
16
|
+
return dates;
|
|
17
|
+
};
|
|
18
|
+
exports.getEventDateRange = getEventDateRange;
|
|
19
|
+
// Every bookable slot, in date then start time order. Slots set up for a date that is no
|
|
20
|
+
// longer in the event's date range are left out, as are incomplete rows.
|
|
21
|
+
const getEventTimeSlots = (event) => {
|
|
22
|
+
const days = event.timeSlots?.days;
|
|
23
|
+
if (!days)
|
|
24
|
+
return [];
|
|
25
|
+
return (0, exports.getEventDateRange)(event).flatMap((date) => (days[date] || [])
|
|
26
|
+
.filter((slot) => slot.id && slot.start && slot.end && slot.capacity > 0)
|
|
27
|
+
.map((slot) => ({ ...slot, date }))
|
|
28
|
+
.sort((a, b) => a.start.localeCompare(b.start)));
|
|
29
29
|
};
|
|
30
30
|
exports.getEventTimeSlots = getEventTimeSlots;
|
|
31
|
-
const getSlotPlacesLeft = (event, slotId) =>
|
|
31
|
+
const getSlotPlacesLeft = (event, slotId) => {
|
|
32
|
+
const slot = (0, exports.getEventTimeSlots)(event).find((s) => s.id === slotId);
|
|
33
|
+
return Math.max(0, (slot?.capacity || 0) - (event.slotBookings?.[slotId] || 0));
|
|
34
|
+
};
|
|
32
35
|
exports.getSlotPlacesLeft = getSlotPlacesLeft;
|
|
36
|
+
// What changed between two versions of a school's booking, in slot order where the slots still exist.
|
|
37
|
+
const getSlotBookingChanges = (before = {}, after = {}) => [...new Set([...Object.keys(before), ...Object.keys(after)])]
|
|
38
|
+
.map((slotId) => ({ slotId, before: before[slotId] || 0, after: after[slotId] || 0 }))
|
|
39
|
+
.filter((c) => c.before !== c.after)
|
|
40
|
+
.sort((a, b) => a.slotId.localeCompare(b.slotId));
|
|
41
|
+
exports.getSlotBookingChanges = getSlotBookingChanges;
|
|
33
42
|
//# sourceMappingURL=eventTimeSlots.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventTimeSlots.js","sourceRoot":"","sources":["../src/eventTimeSlots.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"eventTimeSlots.js","sourceRoot":"","sources":["../src/eventTimeSlots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const eventTimeSlots_1 = require("./eventTimeSlots");
|
|
4
|
+
const slot = (id, start, end, capacity = 30) => ({ id, start, end, capacity });
|
|
5
|
+
describe("getEventDateRange", () => {
|
|
6
|
+
it("lists every date in the range", () => {
|
|
7
|
+
expect((0, eventTimeSlots_1.getEventDateRange)({ startDate: "2026-11-02", endDate: "2026-11-04" })).toEqual(["2026-11-02", "2026-11-03", "2026-11-04"]);
|
|
8
|
+
});
|
|
9
|
+
it("uses the start date alone for a single-day event", () => {
|
|
10
|
+
expect((0, eventTimeSlots_1.getEventDateRange)({ startDate: "2026-11-02" })).toEqual(["2026-11-02"]);
|
|
11
|
+
expect((0, eventTimeSlots_1.getEventDateRange)({})).toEqual([]);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
4
14
|
describe("getEventTimeSlots", () => {
|
|
5
|
-
const timeSlots = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
const timeSlots = {
|
|
16
|
+
capacityUnit: "students",
|
|
17
|
+
days: {
|
|
18
|
+
"2026-11-02": [slot("b", "11:00", "12:00"), slot("a", "09:00", "10:00", 20)],
|
|
19
|
+
"2026-11-03": [slot("c", "13:00", "14:00"), slot("incomplete", "", "14:00")],
|
|
20
|
+
"2026-11-09": [slot("outOfRange", "09:00", "10:00")],
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
it("returns slots in date and start time order, with the date attached", () => {
|
|
24
|
+
const slots = (0, eventTimeSlots_1.getEventTimeSlots)({ timeSlots, startDate: "2026-11-02", endDate: "2026-11-03" });
|
|
25
|
+
expect(slots.map((s) => s.id)).toEqual(["a", "b", "c"]);
|
|
26
|
+
expect(slots[0]).toEqual({ id: "a", start: "09:00", end: "10:00", capacity: 20, date: "2026-11-02" });
|
|
11
27
|
});
|
|
12
|
-
it("
|
|
13
|
-
const
|
|
14
|
-
expect(
|
|
28
|
+
it("leaves out dates outside the event range and incomplete rows", () => {
|
|
29
|
+
const ids = (0, eventTimeSlots_1.getEventTimeSlots)({ timeSlots, startDate: "2026-11-02", endDate: "2026-11-03" }).map((s) => s.id);
|
|
30
|
+
expect(ids).not.toContain("outOfRange");
|
|
31
|
+
expect(ids).not.toContain("incomplete");
|
|
15
32
|
});
|
|
16
|
-
it("returns nothing without slot settings
|
|
17
|
-
expect((0, eventTimeSlots_1.getEventTimeSlots)({ startDate: "2026-11-02"
|
|
18
|
-
expect((0, eventTimeSlots_1.getEventTimeSlots)({ timeSlots, startDate: "2026-11-02" })).toEqual([]);
|
|
33
|
+
it("returns nothing without slot settings", () => {
|
|
34
|
+
expect((0, eventTimeSlots_1.getEventTimeSlots)({ startDate: "2026-11-02" })).toEqual([]);
|
|
19
35
|
});
|
|
20
36
|
});
|
|
21
37
|
describe("getSlotPlacesLeft", () => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
expect((0, eventTimeSlots_1.getSlotPlacesLeft)({
|
|
25
|
-
expect((0, eventTimeSlots_1.getSlotPlacesLeft)({
|
|
26
|
-
expect((0, eventTimeSlots_1.getSlotPlacesLeft)(
|
|
38
|
+
const event = { startDate: "2026-11-02", timeSlots: { capacityUnit: "students", days: { "2026-11-02": [slot("a", "09:00", "10:00", 30)] } } };
|
|
39
|
+
it("subtracts bookings from the slot's own capacity and never goes negative", () => {
|
|
40
|
+
expect((0, eventTimeSlots_1.getSlotPlacesLeft)({ ...event, slotBookings: { a: 12 } }, "a")).toBe(18);
|
|
41
|
+
expect((0, eventTimeSlots_1.getSlotPlacesLeft)({ ...event, slotBookings: { a: 40 } }, "a")).toBe(0);
|
|
42
|
+
expect((0, eventTimeSlots_1.getSlotPlacesLeft)(event, "missing")).toBe(0);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe("getSlotBookingChanges", () => {
|
|
46
|
+
it("lists added, removed and resized slots", () => {
|
|
47
|
+
expect((0, eventTimeSlots_1.getSlotBookingChanges)({ a: 10, b: 5, c: 3 }, { a: 10, b: 8, d: 2 })).toEqual([
|
|
48
|
+
{ slotId: "b", before: 5, after: 8 },
|
|
49
|
+
{ slotId: "c", before: 3, after: 0 },
|
|
50
|
+
{ slotId: "d", before: 0, after: 2 },
|
|
51
|
+
]);
|
|
52
|
+
});
|
|
53
|
+
it("returns nothing when the booking is unchanged", () => {
|
|
54
|
+
expect((0, eventTimeSlots_1.getSlotBookingChanges)({ a: 10 }, { a: 10 })).toEqual([]);
|
|
55
|
+
expect((0, eventTimeSlots_1.getSlotBookingChanges)()).toEqual([]);
|
|
27
56
|
});
|
|
28
57
|
});
|
|
29
58
|
//# sourceMappingURL=eventTimeSlots.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventTimeSlots.test.js","sourceRoot":"","sources":["../src/eventTimeSlots.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"eventTimeSlots.test.js","sourceRoot":"","sources":["../src/eventTimeSlots.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SetStateAction } from "react";
|
|
2
|
-
import { UserData } from "../typeDefinitions";
|
|
2
|
+
import { MarketingConsent, UserData } from "../typeDefinitions";
|
|
3
3
|
import { CallableName, CallableContracts } from "../callables/registry";
|
|
4
4
|
export declare const authListener: (setUser: SetStateAction<any>) => import("@firebase/util").Unsubscribe;
|
|
5
5
|
export declare const login: (credentials: {
|
|
@@ -17,6 +17,7 @@ export type RegistrationData = {
|
|
|
17
17
|
country: string;
|
|
18
18
|
first_name: string;
|
|
19
19
|
family_name: string;
|
|
20
|
+
marketingConsent?: MarketingConsent;
|
|
20
21
|
};
|
|
21
22
|
export declare const register: (credentials: RegistrationData, type: "Institute" | "Provider" | "Student") => Promise<string>;
|
|
22
23
|
export declare const executeCallable: <K extends string>(functionName: K, data: K extends CallableName ? CallableContracts[K]["request"] : unknown, options?: {
|
|
@@ -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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"}
|
package/lib/typeDefinitions.d.ts
CHANGED
|
@@ -376,6 +376,18 @@ export type WondeParentContact = {
|
|
|
376
376
|
relationship: string;
|
|
377
377
|
email: string;
|
|
378
378
|
};
|
|
379
|
+
/**
|
|
380
|
+
* Proof of a user's choice about CareerThread marketing emails. Brevo only lets
|
|
381
|
+
* opted-in contacts receive marketing, so the exact wording shown and when it was
|
|
382
|
+
* given are kept, and a declined choice is recorded too.
|
|
383
|
+
*/
|
|
384
|
+
export type MarketingConsent = {
|
|
385
|
+
granted: boolean;
|
|
386
|
+
wording: string;
|
|
387
|
+
source: "register";
|
|
388
|
+
at: string;
|
|
389
|
+
recordedAt?: string;
|
|
390
|
+
};
|
|
379
391
|
/**
|
|
380
392
|
* Why a student was marked as a leaver. The MIS paths (Wonde and the MIS file
|
|
381
393
|
* sync) mark them automatically; staff mark them by removing students from a
|
|
@@ -591,6 +603,7 @@ export type UserData = {
|
|
|
591
603
|
readUpdates?: string[];
|
|
592
604
|
contactProviderConsent?: boolean;
|
|
593
605
|
contactProviderConsentDate?: boolean;
|
|
606
|
+
marketingConsent?: MarketingConsent;
|
|
594
607
|
referrals?: number;
|
|
595
608
|
shareNameWithReferralLeaderboardConsent?: boolean;
|
|
596
609
|
shareNameWithReferralLeaderboardConsentDate?: boolean;
|
|
@@ -2385,10 +2398,10 @@ export type ExternalEvent = {
|
|
|
2385
2398
|
maxSchools?: number;
|
|
2386
2399
|
maxStudents?: number;
|
|
2387
2400
|
timeSlots?: {
|
|
2388
|
-
slotMinutes: number;
|
|
2389
|
-
capacity: number;
|
|
2390
2401
|
capacityUnit: "students" | "schools";
|
|
2391
|
-
|
|
2402
|
+
days?: {
|
|
2403
|
+
[date: string]: EventTimeSlotSetting[];
|
|
2404
|
+
};
|
|
2392
2405
|
};
|
|
2393
2406
|
slotBookings?: {
|
|
2394
2407
|
[slotId: string]: number;
|
|
@@ -3375,6 +3388,12 @@ export type ExternalEventAttendee = {
|
|
|
3375
3388
|
};
|
|
3376
3389
|
};
|
|
3377
3390
|
};
|
|
3391
|
+
export type EventTimeSlotSetting = {
|
|
3392
|
+
id: string;
|
|
3393
|
+
start: string;
|
|
3394
|
+
end: string;
|
|
3395
|
+
capacity: number;
|
|
3396
|
+
};
|
|
3378
3397
|
export type ExternalEventCareersSchool = {
|
|
3379
3398
|
oId: string;
|
|
3380
3399
|
instituteId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AA+pIA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AAlpED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AA8jEzC;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
|
@@ -1,31 +1,66 @@
|
|
|
1
|
-
import {getEventTimeSlots, getSlotPlacesLeft} from "./eventTimeSlots";
|
|
1
|
+
import {getEventDateRange, getEventTimeSlots, getSlotBookingChanges, getSlotPlacesLeft} from "./eventTimeSlots";
|
|
2
|
+
|
|
3
|
+
const slot = (id: string, start: string, end: string, capacity = 30) => ({id, start, end, capacity});
|
|
4
|
+
|
|
5
|
+
describe("getEventDateRange", () => {
|
|
6
|
+
it("lists every date in the range", () => {
|
|
7
|
+
expect(getEventDateRange({startDate: "2026-11-02", endDate: "2026-11-04"})).toEqual(["2026-11-02", "2026-11-03", "2026-11-04"]);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it("uses the start date alone for a single-day event", () => {
|
|
11
|
+
expect(getEventDateRange({startDate: "2026-11-02"})).toEqual(["2026-11-02"]);
|
|
12
|
+
expect(getEventDateRange({})).toEqual([]);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
2
15
|
|
|
3
16
|
describe("getEventTimeSlots", () => {
|
|
4
|
-
const timeSlots = {
|
|
17
|
+
const timeSlots = {
|
|
18
|
+
capacityUnit: "students" as const,
|
|
19
|
+
days: {
|
|
20
|
+
"2026-11-02": [slot("b", "11:00", "12:00"), slot("a", "09:00", "10:00", 20)],
|
|
21
|
+
"2026-11-03": [slot("c", "13:00", "14:00"), slot("incomplete", "", "14:00")],
|
|
22
|
+
"2026-11-09": [slot("outOfRange", "09:00", "10:00")],
|
|
23
|
+
},
|
|
24
|
+
};
|
|
5
25
|
|
|
6
|
-
it("
|
|
7
|
-
const slots = getEventTimeSlots({timeSlots, startDate: "2026-11-02", endDate: "2026-11-
|
|
8
|
-
expect(slots).
|
|
9
|
-
expect(slots[0]).toEqual({id: "
|
|
10
|
-
expect(slots[8].id).toBe("2026-11-04T11:00");
|
|
26
|
+
it("returns slots in date and start time order, with the date attached", () => {
|
|
27
|
+
const slots = getEventTimeSlots({timeSlots, startDate: "2026-11-02", endDate: "2026-11-03"});
|
|
28
|
+
expect(slots.map((s) => s.id)).toEqual(["a", "b", "c"]);
|
|
29
|
+
expect(slots[0]).toEqual({id: "a", start: "09:00", end: "10:00", capacity: 20, date: "2026-11-02"});
|
|
11
30
|
});
|
|
12
31
|
|
|
13
|
-
it("
|
|
14
|
-
const
|
|
15
|
-
expect(
|
|
32
|
+
it("leaves out dates outside the event range and incomplete rows", () => {
|
|
33
|
+
const ids = getEventTimeSlots({timeSlots, startDate: "2026-11-02", endDate: "2026-11-03"}).map((s) => s.id);
|
|
34
|
+
expect(ids).not.toContain("outOfRange");
|
|
35
|
+
expect(ids).not.toContain("incomplete");
|
|
16
36
|
});
|
|
17
37
|
|
|
18
|
-
it("returns nothing without slot settings
|
|
19
|
-
expect(getEventTimeSlots({startDate: "2026-11-02"
|
|
20
|
-
expect(getEventTimeSlots({timeSlots, startDate: "2026-11-02"})).toEqual([]);
|
|
38
|
+
it("returns nothing without slot settings", () => {
|
|
39
|
+
expect(getEventTimeSlots({startDate: "2026-11-02"})).toEqual([]);
|
|
21
40
|
});
|
|
22
41
|
});
|
|
23
42
|
|
|
24
43
|
describe("getSlotPlacesLeft", () => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
expect(getSlotPlacesLeft({
|
|
29
|
-
expect(getSlotPlacesLeft({
|
|
44
|
+
const event = {startDate: "2026-11-02", timeSlots: {capacityUnit: "students" as const, days: {"2026-11-02": [slot("a", "09:00", "10:00", 30)]}}};
|
|
45
|
+
|
|
46
|
+
it("subtracts bookings from the slot's own capacity and never goes negative", () => {
|
|
47
|
+
expect(getSlotPlacesLeft({...event, slotBookings: {a: 12}}, "a")).toBe(18);
|
|
48
|
+
expect(getSlotPlacesLeft({...event, slotBookings: {a: 40}}, "a")).toBe(0);
|
|
49
|
+
expect(getSlotPlacesLeft(event, "missing")).toBe(0);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe("getSlotBookingChanges", () => {
|
|
54
|
+
it("lists added, removed and resized slots", () => {
|
|
55
|
+
expect(getSlotBookingChanges({a: 10, b: 5, c: 3}, {a: 10, b: 8, d: 2})).toEqual([
|
|
56
|
+
{slotId: "b", before: 5, after: 8},
|
|
57
|
+
{slotId: "c", before: 3, after: 0},
|
|
58
|
+
{slotId: "d", before: 0, after: 2},
|
|
59
|
+
]);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("returns nothing when the booking is unchanged", () => {
|
|
63
|
+
expect(getSlotBookingChanges({a: 10}, {a: 10})).toEqual([]);
|
|
64
|
+
expect(getSlotBookingChanges()).toEqual([]);
|
|
30
65
|
});
|
|
31
66
|
});
|
package/src/eventTimeSlots.ts
CHANGED
|
@@ -1,40 +1,44 @@
|
|
|
1
|
-
import {ExternalEvent} from "./typeDefinitions";
|
|
1
|
+
import {EventTimeSlotSetting, ExternalEvent} from "./typeDefinitions";
|
|
2
2
|
|
|
3
|
-
export type EventTimeSlot = {
|
|
4
|
-
id: string, // "YYYY-MM-DDTHH:mm", stable as long as the event dates and times don't change
|
|
3
|
+
export type EventTimeSlot = EventTimeSlotSetting & {
|
|
5
4
|
date: string, // "YYYY-MM-DD"
|
|
6
|
-
start: string, // "HH:mm"
|
|
7
|
-
end: string, // "HH:mm"
|
|
8
5
|
};
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const toTime = (minutes: number) => `${String(Math.floor(minutes / 60)).padStart(2, "0")}:${String(minutes % 60).padStart(2, "0")}`;
|
|
16
|
-
|
|
17
|
-
// Every slot for the event, one run of slotMinutes-long slots per day between
|
|
18
|
-
// startDate and endDate (inclusive). A final slot that would overrun endTime is dropped.
|
|
19
|
-
export const getEventTimeSlots = (event: Pick<ExternalEvent, "timeSlots"|"startDate"|"endDate"|"startTime"|"endTime">): EventTimeSlot[] => {
|
|
20
|
-
const {timeSlots, startDate, startTime, endTime} = event;
|
|
21
|
-
if (!timeSlots?.slotMinutes || !startDate || !startTime || !endTime) return [];
|
|
22
|
-
|
|
23
|
-
const dayStart = toMinutes(startTime);
|
|
24
|
-
const dayEnd = toMinutes(endTime);
|
|
25
|
-
const first = new Date(`${startDate.slice(0, 10)}T00:00:00Z`);
|
|
26
|
-
const last = new Date(`${(event.endDate || startDate).slice(0, 10)}T00:00:00Z`);
|
|
7
|
+
// Every date from startDate to endDate (inclusive), as "YYYY-MM-DD".
|
|
8
|
+
export const getEventDateRange = (event: Pick<ExternalEvent, "startDate"|"endDate">): string[] => {
|
|
9
|
+
if (!event.startDate) return [];
|
|
10
|
+
const first = new Date(`${event.startDate.slice(0, 10)}T00:00:00Z`);
|
|
11
|
+
const last = new Date(`${(event.endDate || event.startDate).slice(0, 10)}T00:00:00Z`);
|
|
27
12
|
if (isNaN(first.getTime()) || isNaN(last.getTime())) return [];
|
|
28
13
|
|
|
29
|
-
const
|
|
14
|
+
const dates: string[] = [];
|
|
30
15
|
for (const day = first; day <= last; day.setUTCDate(day.getUTCDate() + 1)) {
|
|
31
|
-
|
|
32
|
-
for (let t = dayStart; t + timeSlots.slotMinutes <= dayEnd; t += timeSlots.slotMinutes) {
|
|
33
|
-
slots.push({id: `${date}T${toTime(t)}`, date, start: toTime(t), end: toTime(t + timeSlots.slotMinutes)});
|
|
34
|
-
}
|
|
16
|
+
dates.push(day.toISOString().slice(0, 10));
|
|
35
17
|
}
|
|
36
|
-
return
|
|
18
|
+
return dates;
|
|
37
19
|
};
|
|
38
20
|
|
|
39
|
-
|
|
40
|
-
|
|
21
|
+
// Every bookable slot, in date then start time order. Slots set up for a date that is no
|
|
22
|
+
// longer in the event's date range are left out, as are incomplete rows.
|
|
23
|
+
export const getEventTimeSlots = (event: Pick<ExternalEvent, "timeSlots"|"startDate"|"endDate">): EventTimeSlot[] => {
|
|
24
|
+
const days = event.timeSlots?.days;
|
|
25
|
+
if (!days) return [];
|
|
26
|
+
return getEventDateRange(event).flatMap((date) => (days[date] || [])
|
|
27
|
+
.filter((slot) => slot.id && slot.start && slot.end && slot.capacity > 0)
|
|
28
|
+
.map((slot) => ({...slot, date}))
|
|
29
|
+
.sort((a, b) => a.start.localeCompare(b.start)));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const getSlotPlacesLeft = (event: Pick<ExternalEvent, "timeSlots"|"slotBookings"|"startDate"|"endDate">, slotId: string) => {
|
|
33
|
+
const slot = getEventTimeSlots(event).find((s) => s.id === slotId);
|
|
34
|
+
return Math.max(0, (slot?.capacity || 0) - (event.slotBookings?.[slotId] || 0));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type SlotBookingChange = {slotId: string, before: number, after: number}; // 0 = not booked
|
|
38
|
+
|
|
39
|
+
// What changed between two versions of a school's booking, in slot order where the slots still exist.
|
|
40
|
+
export const getSlotBookingChanges = (before: {[slotId: string]: number} = {}, after: {[slotId: string]: number} = {}): SlotBookingChange[] =>
|
|
41
|
+
[...new Set([...Object.keys(before), ...Object.keys(after)])]
|
|
42
|
+
.map((slotId) => ({slotId, before: before[slotId] || 0, after: after[slotId] || 0}))
|
|
43
|
+
.filter((c) => c.before !== c.after)
|
|
44
|
+
.sort((a, b) => a.slotId.localeCompare(b.slotId));
|
|
@@ -2,7 +2,7 @@ import {onAuthStateChanged, signInWithEmailAndPassword} from "firebase/auth";
|
|
|
2
2
|
import {httpsCallable} from "firebase/functions";
|
|
3
3
|
import {SetStateAction} from "react";
|
|
4
4
|
import {getUser} from "./readDatabase";
|
|
5
|
-
import {ExternalEvent, UserData} from "../typeDefinitions";
|
|
5
|
+
import {ExternalEvent, MarketingConsent, UserData} from "../typeDefinitions";
|
|
6
6
|
import FirebaseQuery from "./firebaseQuery";
|
|
7
7
|
import {auth, functions} from "./firebaseConfig";
|
|
8
8
|
import {addJob, Job, updateJob} from "../features/jobs/jobsSlice";
|
|
@@ -42,7 +42,8 @@ export type RegistrationData = {
|
|
|
42
42
|
postal_code: string,
|
|
43
43
|
country: string,
|
|
44
44
|
first_name: string,
|
|
45
|
-
family_name: string
|
|
45
|
+
family_name: string,
|
|
46
|
+
marketingConsent?: MarketingConsent,
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
export const register = async (credentials: RegistrationData, type:"Institute"|"Provider"|"Student") => {
|
package/src/typeDefinitions.ts
CHANGED
|
@@ -393,6 +393,19 @@ export type WondeParentContact = {
|
|
|
393
393
|
email: string,
|
|
394
394
|
};
|
|
395
395
|
|
|
396
|
+
/**
|
|
397
|
+
* Proof of a user's choice about CareerThread marketing emails. Brevo only lets
|
|
398
|
+
* opted-in contacts receive marketing, so the exact wording shown and when it was
|
|
399
|
+
* given are kept, and a declined choice is recorded too.
|
|
400
|
+
*/
|
|
401
|
+
export type MarketingConsent = {
|
|
402
|
+
granted: boolean,
|
|
403
|
+
wording: string, // The checkbox text exactly as shown.
|
|
404
|
+
source: "register",
|
|
405
|
+
at: string, // ISO timestamp from the user's browser.
|
|
406
|
+
recordedAt?: string, // ISO timestamp set by the server when stored.
|
|
407
|
+
}
|
|
408
|
+
|
|
396
409
|
/**
|
|
397
410
|
* Why a student was marked as a leaver. The MIS paths (Wonde and the MIS file
|
|
398
411
|
* sync) mark them automatically; staff mark them by removing students from a
|
|
@@ -633,6 +646,7 @@ export type UserData = {
|
|
|
633
646
|
readUpdates?: string[],
|
|
634
647
|
contactProviderConsent?: boolean,
|
|
635
648
|
contactProviderConsentDate?: boolean
|
|
649
|
+
marketingConsent?: MarketingConsent,
|
|
636
650
|
referrals?: number,
|
|
637
651
|
shareNameWithReferralLeaderboardConsent?: boolean,
|
|
638
652
|
shareNameWithReferralLeaderboardConsentDate?: boolean,
|
|
@@ -2393,14 +2407,13 @@ export type ExternalEvent = {
|
|
|
2393
2407
|
maxExternalAttendees?: number, // max number of employers
|
|
2394
2408
|
maxSchools?: number, // max number of employers
|
|
2395
2409
|
maxStudents?: number, // max number of employers
|
|
2396
|
-
// Timed slots:
|
|
2397
|
-
// and
|
|
2398
|
-
// only happens through the events-bookEventSlots /
|
|
2410
|
+
// Timed slots: the hub lists slots for each event date, each with its own capacity.
|
|
2411
|
+
// Only dates between startDate and endDate are offered (see getEventTimeSlots). Booking
|
|
2412
|
+
// and freeing places only happens through the events-bookEventSlots /
|
|
2413
|
+
// events-removeEventSlotBooking callables.
|
|
2399
2414
|
timeSlots?: {
|
|
2400
|
-
slotMinutes: number,
|
|
2401
|
-
capacity: number, // places per slot
|
|
2402
2415
|
capacityUnit: "students"|"schools",
|
|
2403
|
-
|
|
2416
|
+
days?: {[date: string]: EventTimeSlotSetting[]}, // keyed "YYYY-MM-DD"
|
|
2404
2417
|
},
|
|
2405
2418
|
slotBookings?: {[slotId: string]: number}, // places used per slot
|
|
2406
2419
|
studentJoinCode: number,
|
|
@@ -3362,6 +3375,13 @@ export type ExternalEventAttendee = {
|
|
|
3362
3375
|
|
|
3363
3376
|
|
|
3364
3377
|
|
|
3378
|
+
export type EventTimeSlotSetting = {
|
|
3379
|
+
id: string, // Kept when the times change, so bookings follow the slot
|
|
3380
|
+
start: string, // "HH:mm"
|
|
3381
|
+
end: string, // "HH:mm"
|
|
3382
|
+
capacity: number, // places in this slot
|
|
3383
|
+
};
|
|
3384
|
+
|
|
3365
3385
|
export type ExternalEventCareersSchool = {
|
|
3366
3386
|
oId: string,
|
|
3367
3387
|
instituteId: string,
|