placementt-core 1.20.197 → 11.0.533

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 (135) hide show
  1. package/.eslintrc.js +40 -40
  2. package/.gitattributes +2 -2
  3. package/lib/config.d.ts +0 -1
  4. package/lib/constants.d.ts +5 -2
  5. package/lib/constants.js +130 -136
  6. package/lib/constants.js.map +1 -1
  7. package/lib/features/analytics/useAnalytics.d.ts +0 -1
  8. package/lib/features/analytics/useAnalytics.js +3 -4
  9. package/lib/features/analytics/useAnalytics.js.map +1 -1
  10. package/lib/features/config.d.ts +133 -133
  11. package/lib/features/config.js +35 -35
  12. package/lib/features/contacts/contacts.d.ts +75 -75
  13. package/lib/features/contacts/contacts.js +105 -105
  14. package/lib/features/contacts/contactsSlice.d.ts +5 -5
  15. package/lib/features/contacts/useContacts.js +1 -2
  16. package/lib/features/contacts/useContacts.js.map +1 -1
  17. package/lib/features/downtime/useDowntime.d.ts +11 -11
  18. package/lib/features/downtime/useDowntime.js +22 -22
  19. package/lib/features/dropdown/useDropdown.d.ts +2 -3
  20. package/lib/features/dropdown/useDropdown.js +1 -2
  21. package/lib/features/dropdown/useDropdown.js.map +1 -1
  22. package/lib/features/global/downtime/useDowntime.d.ts +0 -1
  23. package/lib/features/global/downtime/useDowntime.js +3 -2
  24. package/lib/features/global/downtime/useDowntime.js.map +1 -1
  25. package/lib/features/global/users/useUserFunctions.d.ts +0 -1
  26. package/lib/features/global/users/useUserFunctions.js +6 -7
  27. package/lib/features/global/users/useUserFunctions.js.map +1 -1
  28. package/lib/features/placements/studentPlacements/activePlacement.d.ts +1 -1
  29. package/lib/features/placements/studentPlacements/activePlacement.js +1 -1
  30. package/lib/features/placements/studentPlacements/activePlacement.js.map +1 -1
  31. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.d.ts +4 -5
  32. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.js +1 -4
  33. package/lib/features/placements/studentPlacements/completedStudentPlacementsSlice.js.map +1 -1
  34. package/lib/features/placements/studentPlacements/studentPlacementsSlice.d.ts +63 -63
  35. package/lib/features/placements/studentPlacements/studentPlacementsSlice.js +81 -81
  36. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.d.ts +4 -4
  37. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.js +1 -1
  38. package/lib/features/placements/studentPlacements/upcomingStudentPlacementsSlice.js.map +1 -1
  39. package/lib/features/placements/studentPlacements/useStudentPlacements.d.ts +0 -1
  40. package/lib/features/placements/studentPlacements/useStudentPlacements.js +1 -2
  41. package/lib/features/placements/studentPlacements/useStudentPlacements.js.map +1 -1
  42. package/lib/features/providerPlacements/providerPlacementsSlice.d.ts +19 -19
  43. package/lib/features/providerPlacements/providerPlacementsSlice.js +24 -24
  44. package/lib/features/referrals/useReferrals.d.ts +0 -1
  45. package/lib/features/referrals/useReferrals.js +1 -2
  46. package/lib/features/referrals/useReferrals.js.map +1 -1
  47. package/lib/features/studentPlacements/studentPlacementsSlice.d.ts +62 -62
  48. package/lib/features/studentPlacements/studentPlacementsSlice.js +87 -87
  49. package/lib/features/studentPlacements/useStudentPlacements.d.ts +6 -6
  50. package/lib/features/studentPlacements/useStudentPlacements.js +18 -18
  51. package/lib/features/updates/useUpdates.js +1 -2
  52. package/lib/features/updates/useUpdates.js.map +1 -1
  53. package/lib/features/userSlice.d.ts +26 -26
  54. package/lib/features/userSlice.js +23 -23
  55. package/lib/features/users/useUserFunctions.d.ts +25 -25
  56. package/lib/features/users/useUserFunctions.js +124 -124
  57. package/lib/features/users/userSlice.d.ts +46 -46
  58. package/lib/features/users/userSlice.js +48 -48
  59. package/lib/firebase/firebase.d.ts +1 -1
  60. package/lib/firebase/firebase.js +9 -4
  61. package/lib/firebase/firebase.js.map +1 -1
  62. package/lib/firebase/firebaseConfig.js +3 -0
  63. package/lib/firebase/firebaseConfig.js.map +1 -1
  64. package/lib/firebase/firebaseQuery.js +3 -0
  65. package/lib/firebase/firebaseQuery.js.map +1 -1
  66. package/lib/firebase/persistence.js +2 -2
  67. package/lib/firebase/persistence.js.map +1 -1
  68. package/lib/firebase/readDatabase.d.ts +9 -6
  69. package/lib/firebase/readDatabase.js +16 -6
  70. package/lib/firebase/readDatabase.js.map +1 -1
  71. package/lib/firebase/util.d.ts +3 -4
  72. package/lib/firebase/util.js +49 -4
  73. package/lib/firebase/util.js.map +1 -1
  74. package/lib/firebase/writeDatabase.d.ts +3 -3
  75. package/lib/firebase/writeDatabase.js +7 -1
  76. package/lib/firebase/writeDatabase.js.map +1 -1
  77. package/lib/hooks.d.ts +384 -23
  78. package/lib/hooks.js +1342 -223
  79. package/lib/hooks.js.map +1 -1
  80. package/lib/images/GatsbyBenchmarks.d.ts +0 -1
  81. package/lib/images/GatsbyBenchmarks.js +1 -1
  82. package/lib/images/GatsbyBenchmarks.js.map +1 -1
  83. package/lib/reduxHooks.d.ts +11 -20
  84. package/lib/reduxHooks.js +28 -18
  85. package/lib/reduxHooks.js.map +1 -1
  86. package/lib/tasksAndTips.d.ts +25 -5
  87. package/lib/tasksAndTips.js +346 -48
  88. package/lib/tasksAndTips.js.map +1 -1
  89. package/lib/typeDefinitions.d.ts +478 -53
  90. package/lib/util.d.ts +1 -0
  91. package/lib/util.js +78 -6
  92. package/lib/util.js.map +1 -1
  93. package/package.json +52 -49
  94. package/src/DatabaseDefinitions.ts +18 -18
  95. package/src/apiCalls.ts +128 -128
  96. package/src/config.ts +50 -50
  97. package/src/constants.ts +708 -707
  98. package/src/databaseTypes.ts +42 -42
  99. package/src/features/analytics/useAnalytics.tsx +55 -55
  100. package/src/features/contacts/contactsSlice.ts +147 -147
  101. package/src/features/contacts/useContacts.tsx +73 -73
  102. package/src/features/dropdown/useDropdown.tsx +52 -52
  103. package/src/features/global/downtime/useDowntime.tsx +19 -18
  104. package/src/features/global/users/useUserFunctions.tsx +132 -132
  105. package/src/features/jobs/jobsSlice.ts +65 -65
  106. package/src/features/placements/studentPlacements/activePlacement.ts +63 -63
  107. package/src/features/placements/studentPlacements/completedStudentPlacementsSlice.ts +94 -97
  108. package/src/features/placements/studentPlacements/upcomingStudentPlacementsSlice.ts +108 -108
  109. package/src/features/placements/studentPlacements/useStudentPlacements.tsx +33 -33
  110. package/src/features/placements/types.ts +10 -10
  111. package/src/features/referrals/useReferrals.tsx +56 -56
  112. package/src/features/updates/useUpdates.tsx +36 -36
  113. package/src/firebase/firebase.tsx +142 -138
  114. package/src/firebase/firebaseConfig.tsx +45 -42
  115. package/src/firebase/firebaseQuery.tsx +143 -140
  116. package/src/firebase/persistence.ts +84 -84
  117. package/src/firebase/readDatabase.tsx +208 -197
  118. package/src/firebase/util.tsx +352 -308
  119. package/src/firebase/writeDatabase.tsx +75 -68
  120. package/src/hooks.tsx +3395 -1943
  121. package/src/images/GatsbyBenchmarks.tsx +711 -711
  122. package/src/images/LogFuturePlacement.jsx +64 -64
  123. package/src/images/LogPreviousPlacement.jsx +228 -228
  124. package/src/images/gatsby_benchmarks.svg +466 -466
  125. package/src/images/log_future_placement.svg +114 -114
  126. package/src/images/log_previous_placement.svg +199 -199
  127. package/src/index.ts +34 -34
  128. package/src/readDatabase.tsx +3 -3
  129. package/src/reduxHooks.ts +183 -170
  130. package/src/tasksAndTips.ts +744 -410
  131. package/src/tutorialTips.ts +58 -58
  132. package/src/typeDefinitions.ts +899 -503
  133. package/src/util.ts +132 -47
  134. package/tsconfig.dev.json +5 -5
  135. package/tsconfig.json +21 -21
@@ -3,22 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.dismissTip = exports.getTipsOrTasks = void 0;
6
+ exports.dismissTip = exports.getTasks = exports.getTips = void 0;
7
7
  const firestore_1 = require("firebase/firestore");
8
8
  const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
9
+ const util_1 = require("./firebase/util");
10
+ const util_2 = require("./firebase/util");
9
11
  const firebaseQuery = new firebaseQuery_1.default;
10
- const tips = {
12
+ const providerTips = {};
13
+ const studentTips = {};
14
+ const instituteTips = {
11
15
  createCohort: {
12
- callback: async (user, _, cohorts) => {
13
- if (!Array.isArray(cohorts))
16
+ callback: async (user) => {
17
+ if (!(0, util_1.getAccess)(user, "createCohorts"))
14
18
  return;
15
- const returnObj = {
16
- link: "",
17
- dismissible: true,
18
- };
19
- if (!cohorts.length) {
19
+ const cohorts = await firebaseQuery.getCount("cohorts", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId)]);
20
+ if (cohorts === 0) {
20
21
  return {
21
- ...returnObj,
22
22
  title: "Create a cohort",
23
23
  message: "Create a cohort to manage your students, process their placements and track their progress",
24
24
  link: "/institutes/cohorts/new",
@@ -51,32 +51,6 @@ const tips = {
51
51
  return undefined;
52
52
  },
53
53
  },
54
- uploadStudents: {
55
- callback: async (user, _, cohorts) => {
56
- if (!Array.isArray(cohorts))
57
- return;
58
- if (user.product !== "institutes")
59
- return;
60
- const returnObj = {
61
- link: "",
62
- dismissible: true,
63
- };
64
- const items = await Promise.all(cohorts.map(async ([id, cohort]) => {
65
- const studentCount = (await firebaseQuery.getCount(["users"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("userType", "==", "Students"), (0, firestore_1.where)("cohort", "==", id)]));
66
- if (studentCount === 0) {
67
- return {
68
- ...returnObj,
69
- title: "Upload students",
70
- message: `Your cohort '${cohort.name}' has no students. Add them in the cohort 'Students' tab`,
71
- link: `/institutes/cohorts/${id}/students`,
72
- buttonTitle: "Upload students",
73
- };
74
- }
75
- return;
76
- }));
77
- return items.filter((v) => v);
78
- },
79
- },
80
54
  uploadPlacements: {
81
55
  callback: async (user) => {
82
56
  const returnObj = {
@@ -154,9 +128,11 @@ const tips = {
154
128
  },
155
129
  };
156
130
  // Accept a cohort to any task
157
- const tasks = {
131
+ const instituteTasks = {
158
132
  requiredStage: {
159
133
  callback: async (user, _, cohorts) => {
134
+ if (!(0, util_1.getAccess)(user, "signOffPlacements"))
135
+ return;
160
136
  if (!Array.isArray(cohorts)) {
161
137
  const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("reqUserType", "==", user.userType)]));
162
138
  if (placementCount > 0) {
@@ -189,6 +165,8 @@ const tasks = {
189
165
  },
190
166
  verifyInsurance: {
191
167
  callback: async (user, _, cohorts) => {
168
+ if (!(0, util_1.getAccess)(user, "verifyInsurance"))
169
+ return;
192
170
  if (!Array.isArray(cohorts)) {
193
171
  const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("insurance", "==", "awaitingReview")]));
194
172
  if (placementCount > 0) {
@@ -197,7 +175,7 @@ const tasks = {
197
175
  severity: "primary",
198
176
  title: `${placementCount} placements have insurance that require review.`,
199
177
  message: `Your cohort '${cohorts.name}' has employer's liability insurance documents that require review`,
200
- link: `/institutes/cohorts/${cohorts.id}/placements`,
178
+ link: `/institutes/cohorts/${cohorts.id}/placements?id=upcoming&insurance=awaitingReview`,
201
179
  };
202
180
  }
203
181
  return;
@@ -210,7 +188,75 @@ const tasks = {
210
188
  severity: "primary",
211
189
  title: `${placementCount} placements in '${cohort.name}' have insurance that require review.`,
212
190
  message: `Your cohort '${cohort.name}' has employer's liability insurance documents that require review`,
213
- link: `/institutes/cohorts/${cohort.id}/placements`,
191
+ link: `/institutes/cohorts/${cohort.id}/placements?id=upcoming&insurance=awaitingReview`,
192
+ buttonTitle: "Review placements",
193
+ };
194
+ }
195
+ return;
196
+ }));
197
+ return items.filter((v) => v);
198
+ },
199
+ },
200
+ verifyDbsCheck: {
201
+ callback: async (user, _, cohorts) => {
202
+ if (!(0, util_1.getAccess)(user, "verifyDbsChecks"))
203
+ return;
204
+ if (!Array.isArray(cohorts)) {
205
+ const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("dbsCheck", "==", "awaitingReview")]));
206
+ if (placementCount > 0) {
207
+ return {
208
+ dismissible: false,
209
+ severity: "primary",
210
+ title: `${placementCount} placements have DBS checks that require review.`,
211
+ message: `Your cohort '${cohorts.name}' has DBS checks that require review`,
212
+ link: `/institutes/cohorts/${cohorts.id}/placements?id=upcoming&dbsCheck=awaitingReview`,
213
+ };
214
+ }
215
+ return;
216
+ }
217
+ const items = await Promise.all(cohorts.map(async ([id, cohort]) => {
218
+ const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", id), (0, firestore_1.where)("dbsCheck", "==", "awaitingReview")]));
219
+ if (placementCount > 0) {
220
+ return {
221
+ dismissible: false,
222
+ severity: "primary",
223
+ title: `${placementCount} placements in '${cohort.name}' have DBS checks that require review.`,
224
+ message: `Your cohort '${cohort.name}' has DBS checks that require review`,
225
+ link: `/institutes/cohorts/${cohort.id}/placements?id=upcoming&dbsCheck=awaitingReview`,
226
+ buttonTitle: "Review placements",
227
+ };
228
+ }
229
+ return;
230
+ }));
231
+ return items.filter((v) => v);
232
+ },
233
+ },
234
+ verifyRiskAssessment: {
235
+ callback: async (user, _, cohorts) => {
236
+ if (!(0, util_1.getAccess)(user, "verifyRiskAssessments"))
237
+ return;
238
+ if (!Array.isArray(cohorts)) {
239
+ const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("riskAssessment", "==", "awaitingReview")]));
240
+ if (placementCount > 0) {
241
+ return {
242
+ dismissible: false,
243
+ severity: "primary",
244
+ title: `${placementCount} placements have risk assessments that require review.`,
245
+ message: `Your cohort '${cohorts.name}' has risk assessents that require review`,
246
+ link: `/institutes/cohorts/${cohorts.id}/placements?id=upcoming&riskAssessment=awaitingReview`,
247
+ };
248
+ }
249
+ return;
250
+ }
251
+ const items = await Promise.all(cohorts.map(async ([id, cohort]) => {
252
+ const placementCount = (await firebaseQuery.getCount(["placements"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", id), (0, firestore_1.where)("riskAssessment", "==", "awaitingReview")]));
253
+ if (placementCount > 0) {
254
+ return {
255
+ dismissible: false,
256
+ severity: "primary",
257
+ title: `${placementCount} placements in '${cohort.name}' have risk assessments that require review.`,
258
+ message: `Your cohort '${cohort.name}' has risk assessments that require review`,
259
+ link: `/institutes/cohorts/${cohort.id}/placements?id=upcoming&riskAssessment=awaitingReview`,
214
260
  buttonTitle: "Review placements",
215
261
  };
216
262
  }
@@ -222,7 +268,12 @@ const tasks = {
222
268
  missingParentEmail: {
223
269
  callback: async (user, _, cohorts) => {
224
270
  var _a, _b, _c;
271
+ if (!(0, util_1.getAccess)(user, "editStudents"))
272
+ return;
225
273
  if (!Array.isArray(cohorts)) {
274
+ const requiresParents = Boolean(cohorts.workflow.find((node) => node.userType === "Parent"));
275
+ if (!requiresParents)
276
+ return;
226
277
  const constraints = [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("details.parentEmail", "==", "null")];
227
278
  if (((_a = user.groupData) === null || _a === void 0 ? void 0 : _a.viewStudents) === "filter") {
228
279
  constraints.push((0, firestore_1.where)(`details.${((_b = user.groupData) === null || _b === void 0 ? void 0 : _b.filterUsersBy) || ""}`, "==", ((_c = user.groupData) === null || _c === void 0 ? void 0 : _c.filterUsersValue) || ""));
@@ -234,13 +285,16 @@ const tasks = {
234
285
  severity: "info",
235
286
  title: `${studentCount} students do not have a parent email.`,
236
287
  message: `Your cohort '${cohorts.name}' has students without a parent email. To allow proper processing of their placements, add these emails.`,
237
- link: `/institutes/cohorts/${cohorts.id}/students`,
288
+ link: `/institutes/cohorts/${cohorts.id}/students?parentEmail=false`,
238
289
  };
239
290
  }
240
291
  return;
241
292
  }
242
293
  const items = await Promise.all(cohorts.map(async ([id, cohort]) => {
243
294
  var _a, _b, _c;
295
+ const requiresParents = Boolean(cohort.workflow.find((node) => node.userType === "Parent"));
296
+ if (!requiresParents)
297
+ return;
244
298
  const constraints = [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", id), (0, firestore_1.where)("details.parentEmail", "==", "null")];
245
299
  if (((_a = user.groupData) === null || _a === void 0 ? void 0 : _a.viewStudents) === "filter") {
246
300
  constraints.push((0, firestore_1.where)(`details.${((_b = user.groupData) === null || _b === void 0 ? void 0 : _b.filterUsersBy) || ""}`, "==", ((_c = user.groupData) === null || _c === void 0 ? void 0 : _c.filterUsersValue) || ""));
@@ -252,7 +306,7 @@ const tasks = {
252
306
  severity: "info",
253
307
  title: `${studentCount} students in '${cohort.name}' do not have a parent email.`,
254
308
  message: `Your cohort '${cohort.name}' has students without a parent email. To allow proper processing of their placements, add these emails.`,
255
- link: `/institutes/cohorts/${cohort.id}/students`,
309
+ link: `/institutes/cohorts/${cohort.id}/students?parentEmail=false`,
256
310
  buttonTitle: "View students",
257
311
  };
258
312
  }
@@ -264,6 +318,8 @@ const tasks = {
264
318
  inactiveStudents: {
265
319
  callback: async (user, _, cohorts) => {
266
320
  var _a, _b, _c;
321
+ if (!(0, util_1.getAccess)(user, "activateStudents"))
322
+ return;
267
323
  if (!Array.isArray(cohorts)) {
268
324
  const constraints = [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("cohort", "==", cohorts.id), (0, firestore_1.where)("status", "==", "inactive")];
269
325
  if (((_a = user.groupData) === null || _a === void 0 ? void 0 : _a.viewStudents) === "filter") {
@@ -276,7 +332,7 @@ const tasks = {
276
332
  severity: "info",
277
333
  title: `${studentCount} students in are inactive.`,
278
334
  message: `Your cohort '${cohorts.name}' has inactive students. Activate them to enable them to use the platform.`,
279
- link: `/institutes/cohorts/${cohorts.id}/students`,
335
+ link: `/institutes/cohorts/${cohorts.id}/students?status=inactive`,
280
336
  };
281
337
  }
282
338
  return;
@@ -294,7 +350,7 @@ const tasks = {
294
350
  severity: "info",
295
351
  title: `${studentCount} students in '${cohort.name}' are inactive.`,
296
352
  message: `Your cohort '${cohort.name}' has inactive students. Activate them to enable them to use the platform.`,
297
- link: `/institutes/cohorts/${cohort.id}/students`,
353
+ link: `/institutes/cohorts/${cohort.id}/students?status=inactive`,
298
354
  buttonTitle: "Review placements",
299
355
  };
300
356
  }
@@ -303,12 +359,43 @@ const tasks = {
303
359
  return items.filter((v) => v);
304
360
  },
305
361
  },
362
+ uploadStudents: {
363
+ callback: async (user, _, cohorts) => {
364
+ if (!Array.isArray(cohorts))
365
+ return;
366
+ if (!(0, util_1.getAccess)(user, "addStudents"))
367
+ return;
368
+ if (user.product !== "institutes")
369
+ return;
370
+ const returnObj = {
371
+ link: "",
372
+ dismissible: true,
373
+ severity: "warning",
374
+ };
375
+ const items = await Promise.all(cohorts.map(async ([id, cohort]) => {
376
+ const studentCount = (await firebaseQuery.getCount(["users"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("userType", "==", "Students"), (0, firestore_1.where)("cohort", "==", id)]));
377
+ if (studentCount === 0) {
378
+ return {
379
+ ...returnObj,
380
+ title: "Upload students",
381
+ message: `Your cohort '${cohort.name}' has no students. Add them in the cohort 'Students' tab`,
382
+ link: `/institutes/cohorts/${id}/students`,
383
+ buttonTitle: "Upload students",
384
+ };
385
+ }
386
+ return;
387
+ }));
388
+ return items.filter((v) => v);
389
+ },
390
+ },
306
391
  inactiveStaff: {
307
392
  callback: async (user, _, cohorts) => {
393
+ if (!(0, util_1.getAccess)(user, "addStaff"))
394
+ return;
308
395
  if (!Array.isArray(cohorts) || user.product === "students")
309
396
  return;
310
397
  const returnObj = {
311
- link: `/${user.product}/cohorts/staff/all`,
398
+ link: `/${user.product}/cohorts/staff/all?status=inactive`,
312
399
  dismissible: false,
313
400
  severity: "info",
314
401
  };
@@ -331,6 +418,8 @@ const tasks = {
331
418
  },
332
419
  approveExternalPlacement: {
333
420
  callback: async (user, _, cohort) => {
421
+ if (!(0, util_1.getAccess)(user, "verifyListings"))
422
+ return;
334
423
  if (!Array.isArray(cohort))
335
424
  return;
336
425
  const externalCount = await firebaseQuery.getCount(["placementListings"], [(0, firestore_1.where)(`savedBy.${user.oId}.exists`, "==", true), (0, firestore_1.where)(`savedBy.${user.oId}.status`, "==", "uploaded"), (0, firestore_1.where)("mapConsent", "==", "institute")]);
@@ -349,10 +438,143 @@ const tasks = {
349
438
  },
350
439
  },
351
440
  };
352
- const getTipsOrTasks = async (type, user, organisation, cohort) => {
353
- const includedItems = Object.entries(type === "tasks" ? tasks : tips).filter(([k]) => { var _a; return !((_a = user.dismissedTips) === null || _a === void 0 ? void 0 : _a.includes(k)); });
441
+ const studentTasks = {
442
+ completeOnboarding: {
443
+ callback: async (user) => {
444
+ const placementsWithoutOnboarding = await firebaseQuery.getDocsWhere("placements", [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("onboarding.deadline", "<=", (0, util_2.convertDate)(new Date(), "dbstring")), (0, firestore_1.where)("onboarding.completed.submitted", "==", false)]);
445
+ console.log("placementsWithoutONboarding", placementsWithoutOnboarding);
446
+ if (Object.keys(placementsWithoutOnboarding).length === 0)
447
+ return;
448
+ const items = Object.entries(placementsWithoutOnboarding).map(([k, placement]) => ({
449
+ dismissible: false,
450
+ severity: "primary",
451
+ title: `Complete required onboarding documents for ${placement.name}`,
452
+ message: `${placement.name} has requested you to complete some onboarding documents.`,
453
+ link: `/${user.product}/placements/${k}`,
454
+ buttonTitle: "View onboarding",
455
+ }));
456
+ return items;
457
+ },
458
+ }
459
+ };
460
+ const providerTasks = {
461
+ requestedVisibleAddresses: {
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")]);
464
+ if (accessRequests === 0)
465
+ return;
466
+ 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];
468
+ return {
469
+ dismissible: false,
470
+ severity: "primary",
471
+ title: `${userRequestingAccess[1].details.forename} ${userRequestingAccess[1].details.surname} has requested access to view addresses.`,
472
+ message: `Click to review the addresses and grant access to the user.`,
473
+ link: `/${user.product}/users/${userRequestingAccess[0]}`,
474
+ buttonTitle: "View request",
475
+ };
476
+ }
477
+ return {
478
+ dismissible: false,
479
+ severity: "warning",
480
+ title: `Multiple users have requested access to view addresses.`,
481
+ message: `Click to review the addresses and grant access to the user.`,
482
+ link: `/${user.product}/organisation/staff/all`,
483
+ buttonTitle: "View request",
484
+ };
485
+ },
486
+ },
487
+ requestedVisiblePlacementListings: {
488
+ 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")]);
490
+ if (accessRequests === 0)
491
+ return;
492
+ if (accessRequests === 1) {
493
+ 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)("requestedVisibleListings")]) || {})[0];
494
+ return {
495
+ dismissible: false,
496
+ severity: "primary",
497
+ title: `${userRequestingAccess[1].details.forename} ${userRequestingAccess[1].details.surname} has requested access to view placement listings.`,
498
+ message: `Click to review the placement listings and grant access to the user.`,
499
+ link: `/${user.product}/users/${userRequestingAccess[0]}`,
500
+ buttonTitle: "View request",
501
+ };
502
+ }
503
+ return {
504
+ dismissible: false,
505
+ severity: "warning",
506
+ title: `Multiple users have requested access to view placement listings.`,
507
+ message: `Click to review the placement listings and grant access to the user.`,
508
+ link: `/${user.product}/organisation/staff/all`,
509
+ buttonTitle: "View request",
510
+ };
511
+ },
512
+ },
513
+ applicationRequireReview: {
514
+ callback: async (user) => {
515
+ const applicationCount = await firebaseQuery.getCount("applications", [(0, firestore_1.where)("providerId", "==", user.oId), (0, firestore_1.where)("reqUserType", "==", "Staff"), (0, firestore_1.where)("status", "==", "submitted")]);
516
+ if (applicationCount === 0)
517
+ return;
518
+ return {
519
+ dismissible: false,
520
+ severity: "primary",
521
+ title: `${applicationCount} applications require your review.`,
522
+ message: `Click to view ${applicationCount} that require your attention.`,
523
+ link: `/${user.product}/placementListings/applicants`,
524
+ buttonTitle: "View applications",
525
+ };
526
+ },
527
+ },
528
+ completeStudentDocs: {
529
+ callback: async (user) => {
530
+ return {};
531
+ },
532
+ },
533
+ reviewOnboarding: {
534
+ callback: async (user) => {
535
+ return {};
536
+ },
537
+ },
538
+ completeListing: {
539
+ callback: async (user) => {
540
+ return {};
541
+ },
542
+ },
543
+ completeAddress: {
544
+ callback: async (user) => {
545
+ return {};
546
+ },
547
+ },
548
+ registrationRequests: {
549
+ callback: async (user) => {
550
+ return {};
551
+ },
552
+ },
553
+ placementStarting: {
554
+ callback: async (user) => {
555
+ return {};
556
+ },
557
+ },
558
+ completeFeedback: {
559
+ callback: async (user) => {
560
+ return {};
561
+ },
562
+ },
563
+ setUpFeedback: {
564
+ callback: async (user) => {
565
+ return {};
566
+ },
567
+ },
568
+ };
569
+ const getTips = async (user, organisation) => {
570
+ const tipsObject = {
571
+ providers: providerTips,
572
+ institutes: instituteTips,
573
+ studentTips: studentTips,
574
+ };
575
+ const includedItems = Object.entries(tipsObject[user.product]).filter(([k]) => { var _a; return !((_a = user.dismissedTips) === null || _a === void 0 ? void 0 : _a.includes(k)); });
354
576
  const processedTips = await includedItems.reduce(async (acc, [itemName, item]) => {
355
- const queryResult = await item.callback(user, organisation, cohort);
577
+ const queryResult = await item.callback(user, organisation);
356
578
  if (!queryResult)
357
579
  return await acc;
358
580
  const queryResultArray = Array.isArray(queryResult) ? queryResult : [queryResult];
@@ -362,7 +584,83 @@ const getTipsOrTasks = async (type, user, organisation, cohort) => {
362
584
  }, Promise.resolve([]));
363
585
  return processedTips;
364
586
  };
365
- exports.getTipsOrTasks = getTipsOrTasks;
587
+ exports.getTips = getTips;
588
+ const getTasks = async (user, organisation, cohort) => {
589
+ // Cohort is either a specific one or all.
590
+ if (user.product === "institutes" && user.userType === "Staff" && organisation) {
591
+ return await getInstituteTasks(user, organisation, cohort);
592
+ }
593
+ if (user.product === "students" || user.userType === "Students") {
594
+ return await getStudentTasks(user, organisation, cohort);
595
+ }
596
+ if (user.product === "providers" && organisation) {
597
+ return await getProviderTasks(user, organisation);
598
+ }
599
+ return [];
600
+ };
601
+ exports.getTasks = getTasks;
602
+ const getStudentTasks = async (user, organisation, cohort) => {
603
+ const processedTasks = await Object.entries(studentTasks).reduce(async (acc, [itemName, item]) => {
604
+ const queryResult = await item.callback(user);
605
+ if (!queryResult)
606
+ return await acc;
607
+ const queryResultArray = Array.isArray(queryResult) ? queryResult : [queryResult];
608
+ const results = queryResultArray.map((r) => ({ itemName: itemName, ...r }));
609
+ (await acc).push(...results);
610
+ return await acc;
611
+ }, Promise.resolve([]));
612
+ return processedTasks;
613
+ };
614
+ const getProviderTasks = async (user, organisation, cohort) => {
615
+ const processedTasks = await Object.entries(providerTasks).reduce(async (acc, [itemName, item]) => {
616
+ const queryResult = await item.callback(user);
617
+ if (!queryResult)
618
+ return await acc;
619
+ const queryResultArray = Array.isArray(queryResult) ? queryResult : [queryResult];
620
+ const results = queryResultArray.map((r) => ({ itemName: itemName, ...r }));
621
+ (await acc).push(...results);
622
+ return await acc;
623
+ }, Promise.resolve([]));
624
+ return processedTasks;
625
+ };
626
+ const getInstituteTasks = async (user, organisation, cohort) => {
627
+ var _a;
628
+ let fCohort = cohort;
629
+ if (!fCohort) {
630
+ // get all associated cohorts.
631
+ if (user.viewCohorts === "none")
632
+ return ([]);
633
+ if (user.userGroup === "admin" || user.viewCohorts === "all") {
634
+ const cohorts = await firebaseQuery.getDocsWhere("cohorts", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("stage", "==", "created")]);
635
+ fCohort = Object.entries(cohorts);
636
+ }
637
+ if (user.viewCohorts === "some") {
638
+ const cohorts = await ((_a = user.visibleCohorts) === null || _a === void 0 ? void 0 : _a.split(",").reduce(async (acc, cohortId) => {
639
+ const cohort = await firebaseQuery.getDocData(["cohorts", cohortId]);
640
+ if (cohort.stage !== "created") {
641
+ return acc;
642
+ }
643
+ acc[cohortId] = cohort;
644
+ return acc;
645
+ }, Promise.resolve([])));
646
+ fCohort = cohorts;
647
+ }
648
+ }
649
+ const processedTasks = await Object.entries(instituteTasks).reduce(async (acc, [itemName, item]) => {
650
+ if (!fCohort) {
651
+ console.log("No cohorts to retrieve tasks for");
652
+ return ([]);
653
+ }
654
+ const queryResult = await item.callback(user, organisation, fCohort);
655
+ if (!queryResult)
656
+ return await acc;
657
+ const queryResultArray = Array.isArray(queryResult) ? queryResult : [queryResult];
658
+ const results = queryResultArray.map((r) => ({ itemName: itemName, ...r }));
659
+ (await acc).push(...results);
660
+ return await acc;
661
+ }, Promise.resolve([]));
662
+ return processedTasks;
663
+ };
366
664
  /*
367
665
  export const getTasks = async (user: UserData):Promise<{[key:string]: TaskQueryReturnObject}> => {
368
666
  return Object.fromEntries((await Promise.all(Object.entries(tasks).filter(([k]) => !user.dismissedTasks?.includes(k)).map(async ([taskName, task]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tasksAndTips.js","sourceRoot":"","sources":["../src/tasksAndTips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasksAndTips.js","sourceRoot":"","sources":["../src/tasksAndTips.ts"],"names":[],"mappings":"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"}