placementt-core 11.0.533 → 11.10.151

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.
Files changed (69) hide show
  1. package/lib/constants.d.ts +1 -0
  2. package/lib/constants.js +6 -0
  3. package/lib/constants.js.map +1 -1
  4. package/lib/features/analytics/useAnalytics.d.ts +2 -0
  5. package/lib/features/analytics/useAnalytics.js +21 -16
  6. package/lib/features/analytics/useAnalytics.js.map +1 -1
  7. package/lib/features/global/downtime/useDowntime.d.ts +1 -0
  8. package/lib/features/global/downtime/useDowntime.js +9 -7
  9. package/lib/features/global/downtime/useDowntime.js.map +1 -1
  10. package/lib/features/global/users/useUserFunctions.js +1 -1
  11. package/lib/features/global/users/useUserFunctions.js.map +1 -1
  12. package/lib/features/placements/studentPlacements/activePlacement.d.ts +5 -1
  13. package/lib/features/placements/studentPlacements/activePlacement.js +7 -3
  14. package/lib/features/placements/studentPlacements/activePlacement.js.map +1 -1
  15. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.d.ts +3 -2
  16. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.js +4 -1
  17. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.js.map +1 -1
  18. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.d.ts +2 -2
  19. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.js +1 -1
  20. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.js.map +1 -1
  21. package/lib/features/placements/studentPlacements/useStudentPlacements.d.ts +2 -12
  22. package/lib/features/placements/studentPlacements/useStudentPlacements.js +1 -26
  23. package/lib/features/placements/studentPlacements/useStudentPlacements.js.map +1 -1
  24. package/lib/features/updates/useUpdates.d.ts +1 -0
  25. package/lib/features/updates/useUpdates.js +13 -12
  26. package/lib/features/updates/useUpdates.js.map +1 -1
  27. package/lib/firebase/firebase.d.ts +3 -1
  28. package/lib/firebase/firebase.js +4 -3
  29. package/lib/firebase/firebase.js.map +1 -1
  30. package/lib/firebase/firebaseQuery.d.ts +3 -1
  31. package/lib/firebase/firebaseQuery.js +8 -1
  32. package/lib/firebase/firebaseQuery.js.map +1 -1
  33. package/lib/firebase/readDatabase.d.ts +2 -4
  34. package/lib/firebase/readDatabase.js +28 -5
  35. package/lib/firebase/readDatabase.js.map +1 -1
  36. package/lib/firebase/writeDatabase.d.ts +6 -2
  37. package/lib/firebase/writeDatabase.js +2 -1
  38. package/lib/firebase/writeDatabase.js.map +1 -1
  39. package/lib/hooks.d.ts +108 -9
  40. package/lib/hooks.js +547 -58
  41. package/lib/hooks.js.map +1 -1
  42. package/lib/reduxHooks.d.ts +41 -3
  43. package/lib/reduxHooks.js +61 -18
  44. package/lib/reduxHooks.js.map +1 -1
  45. package/lib/tasksAndTips.d.ts +1 -1
  46. package/lib/tasksAndTips.js +179 -8
  47. package/lib/tasksAndTips.js.map +1 -1
  48. package/lib/typeDefinitions.d.ts +14 -22
  49. package/lib/util.js +14 -8
  50. package/lib/util.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/constants.ts +7 -1
  53. package/src/features/analytics/useAnalytics.tsx +24 -15
  54. package/src/features/global/downtime/useDowntime.tsx +11 -7
  55. package/src/features/global/users/useUserFunctions.tsx +1 -1
  56. package/src/features/placements/studentPlacements/activePlacement.ts +8 -3
  57. package/src/features/placements/studentPlacements/completedStudentPlacementsSlice.ts +5 -2
  58. package/src/features/placements/studentPlacements/upcomingStudentPlacementsSlice.ts +2 -2
  59. package/src/features/placements/studentPlacements/useStudentPlacements.tsx +4 -28
  60. package/src/features/updates/useUpdates.tsx +14 -12
  61. package/src/firebase/firebase.tsx +5 -3
  62. package/src/firebase/firebaseQuery.tsx +8 -1
  63. package/src/firebase/readDatabase.tsx +33 -6
  64. package/src/firebase/writeDatabase.tsx +3 -1
  65. package/src/hooks.tsx +695 -61
  66. package/src/reduxHooks.ts +68 -20
  67. package/src/tasksAndTips.ts +184 -11
  68. package/src/typeDefinitions.ts +14 -20
  69. package/src/util.ts +14 -9
@@ -102,13 +102,32 @@ export declare function useStudent({ user }: {
102
102
  [key: string]: unknown;
103
103
  };
104
104
  };
105
+ fetchContacts: () => void;
105
106
  getById: (item: string) => Promise<import("@firebase/firestore").DocumentData>;
106
107
  };
107
108
  placements: {
108
109
  add: (formData: StudentPlacementData) => Promise<void>;
109
- update: (placementId: string, data: StudentPlacementData) => Promise<void>;
110
+ update: (placementId: string, attributes: Partial<StudentPlacementData>) => Promise<void>;
110
111
  delete: (id: string) => Promise<void>;
112
+ getUserPlacements: () => Promise<void | import("@firebase/firestore").QuerySnapshot<import("@firebase/firestore").DocumentData> | {
113
+ [k: string]: any;
114
+ }>;
115
+ getPlacementsStart: (start: Date, end: Date) => Promise<{
116
+ [key: string]: StudentPlacementData;
117
+ }>;
118
+ getPlacementsEnd: (end: Date) => Promise<{
119
+ [key: string]: StudentPlacementData;
120
+ }>;
111
121
  activePlacement: StudentPlacementData | undefined;
122
+ editActivePlacement: (attributes: Partial<StudentPlacementData>) => {
123
+ payload: any;
124
+ type: "activePlacement/editActivePlacement";
125
+ };
126
+ updateActivePlacement: () => void;
127
+ updateUpcomingPlacement: () => void;
128
+ fetchUpcomingPlacements: () => void;
129
+ fetchCompletedPlacements: () => void;
130
+ dispatchActivePlacement: () => void;
112
131
  upcoming: StudentPlacementData | undefined;
113
132
  upcomingPlacements: {
114
133
  [key: string]: StudentPlacementData;
@@ -120,7 +139,7 @@ export declare function useStudent({ user }: {
120
139
  };
121
140
  applications: {
122
141
  [key: string]: Application & {
123
- listing: PlacementListing;
142
+ listing: PlacementListing | false;
124
143
  provider: ProviderData;
125
144
  address: Address;
126
145
  };
@@ -235,13 +254,32 @@ export declare function useInstituteStudent({ user }: {
235
254
  [key: string]: unknown;
236
255
  };
237
256
  };
257
+ fetchContacts: () => void;
238
258
  getById: (item: string) => Promise<import("@firebase/firestore").DocumentData>;
239
259
  } | undefined;
240
260
  placements: {
241
261
  add: (formData: StudentPlacementData) => Promise<void>;
242
- update: (placementId: string, data: StudentPlacementData) => Promise<void>;
262
+ update: (placementId: string, attributes: Partial<StudentPlacementData>) => Promise<void>;
243
263
  delete: (id: string) => Promise<void>;
264
+ getUserPlacements: () => Promise<void | import("@firebase/firestore").QuerySnapshot<import("@firebase/firestore").DocumentData> | {
265
+ [k: string]: any;
266
+ }>;
267
+ getPlacementsStart: (start: Date, end: Date) => Promise<{
268
+ [key: string]: StudentPlacementData;
269
+ }>;
270
+ getPlacementsEnd: (end: Date) => Promise<{
271
+ [key: string]: StudentPlacementData;
272
+ }>;
244
273
  activePlacement: StudentPlacementData | undefined;
274
+ editActivePlacement: (attributes: Partial<StudentPlacementData>) => {
275
+ payload: any;
276
+ type: "activePlacement/editActivePlacement";
277
+ };
278
+ updateActivePlacement: () => void;
279
+ updateUpcomingPlacement: () => void;
280
+ fetchUpcomingPlacements: () => void;
281
+ fetchCompletedPlacements: () => void;
282
+ dispatchActivePlacement: () => void;
245
283
  upcoming: StudentPlacementData | undefined;
246
284
  upcomingPlacements: {
247
285
  [key: string]: StudentPlacementData;
package/lib/reduxHooks.js CHANGED
@@ -17,6 +17,8 @@ const activePlacement_1 = require("./features/placements/studentPlacements/activ
17
17
  const completedStudentPlacementsSlice_1 = require("./features/placements/studentPlacements/completedStudentPlacementsSlice");
18
18
  const upcomingStudentPlacementsSlice_1 = require("./features/placements/studentPlacements/upcomingStudentPlacementsSlice");
19
19
  const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
20
+ const readDatabase_1 = require("./firebase/readDatabase");
21
+ const util_1 = require("./firebase/util");
20
22
  exports.useAppSelector = react_redux_1.useSelector;
21
23
  const useAppDispatch = () => (0, react_redux_1.useDispatch)();
22
24
  exports.useAppDispatch = useAppDispatch;
@@ -43,27 +45,46 @@ function useStudent({ user }) {
43
45
  firebaseQuery.collectionSnapshot(async (fApplications) => {
44
46
  const applicationsWithProviderAndListing = Object.fromEntries(await Promise.all(Object.entries(fApplications).map(async ([id, application]) => {
45
47
  const provider = await firebaseQuery.getDocData(["providers", application.providerId]);
46
- const listing = await firebaseQuery.getDocData(["placementListings", application.listingId]);
47
- const address = listing.addressId && await firebaseQuery.getDocData(["addresses", listing.addressId]);
48
+ const listing = await firebaseQuery.getDocData(["placementListings", application.listingId]).catch(() => false);
49
+ const address = listing && (listing === null || listing === void 0 ? void 0 : listing.addressId) && await firebaseQuery.getDocData(["addresses", listing.addressId]);
48
50
  return [id, { ...application, listing: listing, provider: provider, address: address }];
49
51
  })));
50
52
  setApplications(applicationsWithProviderAndListing);
51
53
  }, "applications", applicationsConstraints);
52
- }, [dispatch, user.id]);
53
- (0, react_1.useEffect)(() => {
54
- if (!user.id)
55
- return;
56
- dispatch((0, activePlacement_1.fetchActivePlacement)({ userId: user.id }));
57
- }, [dispatch, user.id, upcomingPlacements]);
58
- (0, react_1.useEffect)(() => {
59
- console.log("UPDATE UPCOMING");
54
+ }, [user.id]);
55
+ /*
56
+ useEffect(() => {
57
+ if (!user.id) return
58
+ dispatch(fetchActivePlacement({userId: user.id}))
59
+ }, [dispatch, user.id, upcomingPlacements]);
60
+ */
61
+ const fetchUpcomingPlacements = () => {
62
+ const constraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("inProgress", "==", true), (0, firestore_1.orderBy)("startDate")];
63
+ firebaseQuery.collectionSnapshot(upcomingStudentPlacementsSlice_1.setUpcomingStudentPlacements, "placements", constraints, dispatch);
64
+ };
65
+ const fetchCompletedPlacements = () => {
66
+ const constraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("completed", "==", true), (0, firestore_1.orderBy)("startDate")];
67
+ firebaseQuery.collectionSnapshot(completedStudentPlacementsSlice_1.setCompletedStudentPlacements, "placements", constraints, dispatch);
68
+ };
69
+ const fetchContacts = () => {
70
+ const constraints = [(0, firestore_1.where)("uid", "==", user.id)];
71
+ firebaseQuery.collectionSnapshot(contactsSlice_1.setContacts, "contacts", constraints, dispatch);
72
+ };
73
+ const updateUpcomingPlacement = () => {
60
74
  if (!upcomingPlacements || !Object.entries(upcomingPlacements).length) {
61
75
  dispatch((0, upcomingStudentPlacementsSlice_1.setUpcoming)(undefined));
62
76
  return;
63
77
  }
64
78
  const upcomingPlacement = Object.entries(upcomingPlacements).find(([, v]) => new Date(v.startDate).getTime() > today.getTime());
65
79
  upcomingPlacement ? dispatch((0, upcomingStudentPlacementsSlice_1.setUpcoming)(upcomingPlacement[1])) : dispatch((0, upcomingStudentPlacementsSlice_1.setUpcoming)(undefined));
66
- }, [dispatch, upcomingPlacements]);
80
+ };
81
+ const updateActivePlacement = () => {
82
+ const key = Object.keys(upcomingPlacements).find((key) => {
83
+ const placement = upcomingPlacements[key];
84
+ return placement.active;
85
+ });
86
+ key ? dispatch((0, activePlacement_1.setActivePlacement)(upcomingPlacements[key])) : dispatch((0, activePlacement_1.setActivePlacement)(null));
87
+ };
67
88
  const getItemById = async (path, id) => {
68
89
  return await firebaseQuery.getDocData([path, id]);
69
90
  };
@@ -73,11 +94,11 @@ function useStudent({ user }) {
73
94
  else
74
95
  dispatch((0, completedStudentPlacementsSlice_1.deleteCompletedStudentPlacement)({ placementId: id }));
75
96
  };
76
- const handleUpdatePlacement = async (id, data) => {
97
+ const handleUpdatePlacement = async (id, attributes) => {
77
98
  if (upcomingPlacements[id])
78
- dispatch((0, upcomingStudentPlacementsSlice_1.updateUpcomingStudentPlacement)({ placementId: id, attributes: data }));
99
+ dispatch((0, upcomingStudentPlacementsSlice_1.updateUpcomingStudentPlacement)({ placementId: id, attributes }));
79
100
  else
80
- dispatch((0, completedStudentPlacementsSlice_1.updateCompletedStudentPlacement)({ placementId: id, attributes: data }));
101
+ dispatch((0, completedStudentPlacementsSlice_1.updateCompletedStudentPlacement)({ placementId: id, attributes }));
81
102
  };
82
103
  const handleAddPlacement = async (formData) => {
83
104
  if (formData.completed)
@@ -85,19 +106,41 @@ function useStudent({ user }) {
85
106
  else
86
107
  dispatch((0, upcomingStudentPlacementsSlice_1.addUpcomingStudentPlacements)({ formData }));
87
108
  };
109
+ const getUserPlacements = async () => {
110
+ return await (0, readDatabase_1.getPlacementsWhere)({ w: (0, firestore_1.where)("uid", "==", user === null || user === void 0 ? void 0 : user.id) });
111
+ };
112
+ const getPlacementsStart = async (start, end) => {
113
+ return await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("uid", "==", user === null || user === void 0 ? void 0 : user.id), (0, firestore_1.where)("startDate", ">=", (0, util_1.convertDate)(start, "dbstring")), (0, firestore_1.where)("startDate", "<=", (0, util_1.convertDate)(end, "dbstring"))]);
114
+ };
115
+ const getPlacementsEnd = async (end) => {
116
+ return await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("uid", "==", user === null || user === void 0 ? void 0 : user.id), (0, firestore_1.where)("endDate", ">=", (0, util_1.convertDate)(end, "dbstring")), (0, firestore_1.where)("endDate", "<=", (0, util_1.convertDate)(end, "dbstring"))]);
117
+ };
118
+ const dispatchActivePlacement = () => {
119
+ dispatch((0, activePlacement_1.fetchActivePlacement)({ userId: user.id }));
120
+ };
88
121
  return {
89
122
  contacts: {
90
- add: async (contactForm) => dispatch((0, contactsSlice_1.addContact)({ contactForm: contactForm, userId: user.id })),
91
- update: async (contactId, data) => dispatch((0, contactsSlice_1.updateContact)({ contactId: contactId, attributes: data })),
92
- delete: async (contactId) => dispatch((0, contactsSlice_1.deleteContact)({ contactId: contactId })),
123
+ add: async (contactForm) => await dispatch((0, contactsSlice_1.addContact)({ contactForm: contactForm, userId: user.id })),
124
+ update: async (contactId, data) => await dispatch((0, contactsSlice_1.updateContact)({ contactId: contactId, attributes: data })),
125
+ delete: async (contactId) => await dispatch((0, contactsSlice_1.deleteContact)({ contactId: contactId })),
93
126
  contacts,
127
+ fetchContacts,
94
128
  getById: async (item) => await getItemById("contacts", item)
95
129
  },
96
130
  placements: {
97
131
  add: async (formData) => await handleAddPlacement(formData),
98
- update: async (placementId, data) => handleUpdatePlacement(placementId, data),
132
+ update: async (placementId, attributes) => await handleUpdatePlacement(placementId, attributes),
99
133
  delete: async (id) => await handleDeletePlacement(id),
134
+ getUserPlacements,
135
+ getPlacementsStart,
136
+ getPlacementsEnd,
100
137
  activePlacement,
138
+ editActivePlacement: (attributes) => dispatch((0, activePlacement_1.editActivePlacement)(attributes)),
139
+ updateActivePlacement,
140
+ updateUpcomingPlacement,
141
+ fetchUpcomingPlacements,
142
+ fetchCompletedPlacements,
143
+ dispatchActivePlacement,
101
144
  upcoming,
102
145
  upcomingPlacements: upcomingPlacements || {},
103
146
  completedPlacements: completedPlacements || {},
@@ -1 +1 @@
1
- {"version":3,"file":"reduxHooks.js","sourceRoot":"","sources":["../src/reduxHooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reduxHooks.js","sourceRoot":"","sources":["../src/reduxHooks.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ type ProviderTipNames = string;
4
4
  type StudentTipNames = string;
5
5
  export type InstituteTaskNames = "missingParentEmail" | "verifyInsurance" | "verifyRiskAssessment" | "verifyDbsCheck" | "inactiveStudents" | "uploadStudents" | "inactiveStaff" | "requiredStage" | "approveExternalPlacement" | "overdueStage";
6
6
  export type StudentTaskNames = "completeOnboarding";
7
- export type ProviderTaskNames = "applicationRequireReview" | "requestedVisiblePlacementListings" | "requestedVisibleAddresses" | "completeStudentDocs" | "reviewOnboarding" | "completeListing" | "completeAddress" | "registrationRequests" | "placementStarting" | "completeFeedback" | "setUpFeedback";
7
+ export type ProviderTaskNames = "applicationRequireReview" | "activateStaff" | "requestedVisiblePlacementListings" | "requestedVisibleAddresses" | "completeStudentDocs" | "uploadOnboarding" | "reviewOnboarding" | "completeListing" | "completeAddress" | "registrationRequests" | "placementStarting" | "completeFeedback" | "setUpFeedback";
8
8
  export type TaskQueryReturnObject = {
9
9
  itemName?: InstituteTaskNames | InstituteTipNames | StudentTipNames | ProviderTipNames;
10
10
  title?: string;
@@ -460,11 +460,13 @@ const studentTasks = {
460
460
  const providerTasks = {
461
461
  requestedVisibleAddresses: {
462
462
  callback: async (user) => {
463
- const accessRequests = await firebaseQuery.getCount("users", [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.orderBy)("requestedVisibleAddresses")]);
463
+ if (!(0, util_1.getAccess)(user, "addStaff"))
464
+ return;
465
+ const accessRequests = await firebaseQuery.getCount("users", [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.orderBy)("requestedVisibleAddresses")]) - ((Array.isArray(user === null || user === void 0 ? void 0 : user.requestedVisibleAddresses) && (user === null || user === void 0 ? void 0 : user.requestedVisibleAddresses.length) > 0) ? 1 : 0);
464
466
  if (accessRequests === 0)
465
467
  return;
466
468
  if (accessRequests === 1) {
467
- const userRequestingAccess = Object.entries(await firebaseQuery.getDocsWhere("users", [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.orderBy)("requestedVisibleAddresses")]) || {})[0];
469
+ const userRequestingAccess = Object.entries(await firebaseQuery.getDocsWhere("users", [(0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.orderBy)("requestedVisibleAddresses")]) || {})[0];
468
470
  return {
469
471
  dismissible: false,
470
472
  severity: "primary",
@@ -486,7 +488,10 @@ const providerTasks = {
486
488
  },
487
489
  requestedVisiblePlacementListings: {
488
490
  callback: async (user) => {
489
- const accessRequests = await firebaseQuery.getCount("users", [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.orderBy)("requestedVisibleListings")]);
491
+ if (!(0, util_1.getAccess)(user, "addStaff"))
492
+ return;
493
+ const accessRequests = await firebaseQuery.getCount("users", [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.orderBy)("requestedVisibleListings")]) - ((Array.isArray(user === null || user === void 0 ? void 0 : user.requestedVisibleListings) && (user === null || user === void 0 ? void 0 : user.requestedVisibleListings.length) > 0) ? 1 : 0);
494
+ ;
490
495
  if (accessRequests === 0)
491
496
  return;
492
497
  if (accessRequests === 1) {
@@ -527,41 +532,207 @@ const providerTasks = {
527
532
  },
528
533
  completeStudentDocs: {
529
534
  callback: async (user) => {
535
+ return;
530
536
  return {};
531
537
  },
532
538
  },
533
539
  reviewOnboarding: {
534
540
  callback: async (user) => {
535
- return {};
541
+ const toReview = await firebaseQuery.getCount("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("onboarding.completed.accepted", "==", false), (0, firestore_1.where)("onboarding.completed.submitted", "==", true), (0, firestore_1.where)("endDate", ">=", (0, util_1.dateToString)(new Date()))]);
542
+ if (toReview === 0)
543
+ return;
544
+ if (toReview === 1) {
545
+ const placement = Object.entries(await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("onboarding.completed.accepted", "==", false), (0, firestore_1.where)("onboarding.completed.submitted", "==", true), (0, firestore_1.where)("endDate", ">=", (0, util_1.dateToString)(new Date()))]) || {})[0];
546
+ const student = await firebaseQuery.getDocData(["users", placement[1].uid]);
547
+ return {
548
+ dismissible: false,
549
+ severity: "primary",
550
+ title: `${student.details.forename} ${student.details.surname} has completed their onboarding for their placement from ${(0, util_2.convertDate)(placement[1].startDate, "visual")} to ${(0, util_2.convertDate)(placement[1].endDate, "visual")}`,
551
+ message: `Click to view the placement and review the onboarding.`,
552
+ link: `/${user.product}/placements/${placement[0]}`,
553
+ buttonTitle: "View",
554
+ };
555
+ }
556
+ return {
557
+ dismissible: false,
558
+ severity: "primary",
559
+ title: `${toReview} student have completed their onboarding.`,
560
+ message: `Click to view your placements and approve completed onboarding`,
561
+ link: `/${user.product}/placementListings/placements`,
562
+ buttonTitle: "View placements",
563
+ };
564
+ },
565
+ },
566
+ uploadOnboarding: {
567
+ callback: async (user) => {
568
+ const withoutOnboarding = await firebaseQuery.getCount("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("onboarding", "==", null), (0, firestore_1.where)("endDate", ">=", (0, util_1.dateToString)(new Date()))]);
569
+ if (withoutOnboarding === 0)
570
+ return;
571
+ if (withoutOnboarding === 1) {
572
+ const placement = Object.entries(await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("onboarding", "==", null), (0, firestore_1.where)("endDate", ">=", (0, util_1.dateToString)(new Date()))]) || {})[0];
573
+ const student = await firebaseQuery.getDocData(["users", placement[1].uid]);
574
+ return {
575
+ dismissible: false,
576
+ severity: "primary",
577
+ title: `Send onboarding documents to ${student.details.forename} ${student.details.surname}'s placement from ${(0, util_2.convertDate)(placement[1].startDate, "visual")} to ${(0, util_2.convertDate)(placement[1].endDate, "visual")}`,
578
+ message: `Click to view the placement and add or dismiss onboarding reminders.`,
579
+ link: `/${user.product}/placements/${placement[0]}`,
580
+ buttonTitle: "View",
581
+ };
582
+ }
583
+ return {
584
+ dismissible: false,
585
+ severity: "primary",
586
+ title: `Set up onboarding for ${withoutOnboarding} placements to prepare yourself and your students.`,
587
+ message: `Click to view your placements and add or dismiss onboarding reminders.`,
588
+ link: `/${user.product}/placementListings/placements`,
589
+ buttonTitle: "View placements",
590
+ };
536
591
  },
537
592
  },
538
593
  completeListing: {
539
594
  callback: async (user) => {
540
- return {};
595
+ const incompleteListings = await firebaseQuery.getCount("placementListings", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("status", "==", "draft")]);
596
+ if (incompleteListings === 0)
597
+ return;
598
+ if (incompleteListings === 1) {
599
+ const incompleteListing = Object.entries(await firebaseQuery.getDocsWhere("placementListings", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("status", "==", "draft")]) || {})[0];
600
+ const address = incompleteListing[1].addressId ? await firebaseQuery.getDocData(["addresses", incompleteListing[1].addressId]) : undefined;
601
+ return {
602
+ dismissible: false,
603
+ severity: "info",
604
+ title: `Your listing '${incompleteListing[1].title || "unnamed"}' at ${address ? `${address["address-line1"]}, ${address.postal_code.toUpperCase()}, ${(0, util_1.capitaliseWords)((0, util_1.camelCaseToNormal)(address.country))}` : "unknown address"} requires more information before publishing.`,
605
+ message: `Click to complete and publish the placement listing.`,
606
+ link: `/${user.product}/addListing/${incompleteListing[0]}`,
607
+ buttonTitle: "View listing",
608
+ };
609
+ }
610
+ return {
611
+ dismissible: false,
612
+ severity: "info",
613
+ title: `You have ${incompleteListings} draft listings waiting to be published.`,
614
+ message: `Click to review and publish the placement listings.`,
615
+ link: `/${user.product}/placementListings/listings`,
616
+ buttonTitle: "View listings",
617
+ };
541
618
  },
542
619
  },
543
620
  completeAddress: {
544
621
  callback: async (user) => {
545
- return {};
622
+ const incompleteAddresses = await firebaseQuery.getCount("addresses", [(0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("stage", "!=", "complete")]);
623
+ if (incompleteAddresses === 0)
624
+ return;
625
+ if (incompleteAddresses === 1) {
626
+ const address = Object.entries(await firebaseQuery.getDocsWhere("addresses", [(0, firestore_1.where)("product", "==", "providers"), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("stage", "!=", "complete")]) || {})[0];
627
+ return {
628
+ dismissible: false,
629
+ severity: "info",
630
+ title: `Your address: ${address[1]["address-line1"]}, ${address[1].postal_code.toUpperCase()}, ${(0, util_1.capitaliseWords)((0, util_1.camelCaseToNormal)(address[1].country))} is currently incomplete.`,
631
+ message: `Click to complete the addresses.`,
632
+ link: `/${user.product}/addAddress/${address[0]}`,
633
+ buttonTitle: "View address",
634
+ };
635
+ }
636
+ return {
637
+ dismissible: false,
638
+ severity: "info",
639
+ title: `You have ${incompleteAddresses} draft addresses waiting to be published.`,
640
+ message: `Click to review the addresses.`,
641
+ link: `/${user.product}/organisation/addresses`,
642
+ buttonTitle: "View addresses",
643
+ };
546
644
  },
547
645
  },
548
646
  registrationRequests: {
549
647
  callback: async (user) => {
550
- return {};
648
+ const regRequests = await firebaseQuery.getCount("requests", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId)]);
649
+ if (regRequests === 0)
650
+ return;
651
+ if (regRequests === 1) {
652
+ const request = Object.entries(await firebaseQuery.getDocsWhere("requests", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId)]) || {})[0];
653
+ return {
654
+ dismissible: false,
655
+ severity: "primary",
656
+ title: `${request[1].forename} ${request[1].surname} has requested to access your organisation.`,
657
+ message: `Click to review these request.`,
658
+ link: `/${user.product}/organisation/staff/requests`,
659
+ buttonTitle: "View requests",
660
+ };
661
+ }
662
+ return {
663
+ dismissible: false,
664
+ severity: "primary",
665
+ title: `${regRequests} people have requested to register with your organisation.`,
666
+ message: `Click to review these requests.`,
667
+ link: `/${user.product}/organisation/staff/requests`,
668
+ buttonTitle: "View requests",
669
+ };
670
+ },
671
+ },
672
+ activateStaff: {
673
+ callback: async (user) => {
674
+ const inactiveAccounts = await firebaseQuery.getCount("users", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("status", "==", "inactive")]);
675
+ if (inactiveAccounts === 0)
676
+ return;
677
+ if (inactiveAccounts === 1) {
678
+ const account = Object.entries(await firebaseQuery.getDocsWhere("users", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("status", "==", "inactive")]) || {})[0];
679
+ return {
680
+ dismissible: false,
681
+ severity: "info",
682
+ title: `Activate ${account[1].details.forename} ${account[1].details.surname}'s staff account.`,
683
+ message: "Activate this account to give the user access to Placementt.",
684
+ link: `/${user.product}/organisation/staff/all`,
685
+ buttonTitle: "View accounts",
686
+ };
687
+ }
688
+ return {
689
+ dismissible: false,
690
+ severity: "info",
691
+ title: `${inactiveAccounts} staff have inactive active accounts.`,
692
+ message: "Activate these accounts to give the user access to Placementt.",
693
+ link: `/${user.product}/organisation/staff/all`,
694
+ buttonTitle: "View accounts",
695
+ };
551
696
  },
552
697
  },
553
698
  placementStarting: {
554
699
  callback: async (user) => {
555
- return {};
700
+ const sevenDaysInFuture = new Date();
701
+ sevenDaysInFuture.setDate(sevenDaysInFuture.getDate() + 7);
702
+ const placementsStartingSoon = await firebaseQuery.getCount("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("startDate", "<=", (0, util_2.convertDate)(sevenDaysInFuture, "dbstring")), (0, firestore_1.where)("startDate", ">", (0, util_1.dateToString)(new Date()))]);
703
+ if (placementsStartingSoon === 0)
704
+ return;
705
+ if (placementsStartingSoon === 1) {
706
+ const placement = Object.entries(await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("startDate", "<=", (0, util_2.convertDate)(sevenDaysInFuture, "dbstring")), (0, firestore_1.where)("startDate", ">", (0, util_1.dateToString)(new Date()))]) || {})[0];
707
+ const student = await firebaseQuery.getDocData(["users", placement[1].uid]);
708
+ return {
709
+ dismissible: false,
710
+ severity: "success",
711
+ title: `${student.details.forename} ${student.details.surname}'s placement from ${(0, util_2.convertDate)(placement[1].startDate, "visual")} to ${(0, util_2.convertDate)(placement[1].endDate, "visual")} is starting in less than a week.`,
712
+ message: `Click to view the placement and acquaint yourself with the student.`,
713
+ link: `/${user.product}/placements/${placement[0]}`,
714
+ buttonTitle: "View",
715
+ };
716
+ }
717
+ return {
718
+ dismissible: false,
719
+ severity: "success",
720
+ title: `${placementsStartingSoon} placements starting soon.`,
721
+ message: `Click to view scheduled placements.`,
722
+ link: `/${user.product}/placementListings/placements`,
723
+ buttonTitle: "View placements",
724
+ };
556
725
  },
557
726
  },
558
727
  completeFeedback: {
559
728
  callback: async (user) => {
729
+ return;
560
730
  return {};
561
731
  },
562
732
  },
563
733
  setUpFeedback: {
564
734
  callback: async (user) => {
735
+ return;
565
736
  return {};
566
737
  },
567
738
  },