placementt-core 1.20.232 → 1.20.234
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/reduxHooks.d.ts +28 -10
- package/lib/reduxHooks.js +131 -18
- package/lib/reduxHooks.js.map +1 -1
- package/package.json +1 -1
- package/src/reduxHooks.ts +176 -24
package/lib/reduxHooks.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DocumentData } from "firebase/firestore";
|
|
|
2
2
|
import { TypedUseSelectorHook } from "react-redux";
|
|
3
3
|
import { RootState } from "./config";
|
|
4
4
|
import { Job } from "./features/jobs/jobsSlice";
|
|
5
|
-
import { Address, Application, CohortData, Contact, EmailTemplate, InstituteData, PlacementListing, ProviderData, StudentPlacementData, UserData, UserGroupData } from "./typeDefinitions";
|
|
5
|
+
import { Address, Application, CohortData, Contact, EmailTemplate, FileItem, InstituteData, PlacementListing, ProviderData, StudentPlacementData, UserData, UserGroupData } from "./typeDefinitions";
|
|
6
6
|
export declare const useAppSelector: TypedUseSelectorHook<RootState>;
|
|
7
7
|
export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<import("redux").EmptyObject & {
|
|
8
8
|
upcomingStudentPlacements: import("./features/placements/studentPlacements/upcomingStudentPlacementsSlice").UpcomingPlacementState;
|
|
@@ -39,6 +39,7 @@ export declare function useStudent({ user }: {
|
|
|
39
39
|
contacts?: undefined;
|
|
40
40
|
placements?: undefined;
|
|
41
41
|
applications?: undefined;
|
|
42
|
+
files?: undefined;
|
|
42
43
|
} | {
|
|
43
44
|
contacts: {
|
|
44
45
|
add: (contactForm: Contact) => Promise<import("@reduxjs/toolkit").PayloadAction<Contact, string, {
|
|
@@ -152,6 +153,16 @@ export declare function useStudent({ user }: {
|
|
|
152
153
|
address: Address;
|
|
153
154
|
};
|
|
154
155
|
} | undefined;
|
|
156
|
+
files: {
|
|
157
|
+
fetchFiles: (oId: string) => void;
|
|
158
|
+
uploadDocument: (e: {
|
|
159
|
+
name: string;
|
|
160
|
+
}, oId: string) => Promise<void>;
|
|
161
|
+
uploadedDocument: any;
|
|
162
|
+
uploadFile: (e: any, oId: string) => Promise<void>;
|
|
163
|
+
removeFile: (file: string) => Promise<void>;
|
|
164
|
+
files: [string, FileItem][] | undefined;
|
|
165
|
+
};
|
|
155
166
|
error?: undefined;
|
|
156
167
|
};
|
|
157
168
|
export declare function useInstituteStaff({ user }: {
|
|
@@ -243,6 +254,7 @@ export declare function useInstituteStudent({ user }: {
|
|
|
243
254
|
cohorts?: undefined;
|
|
244
255
|
applications?: undefined;
|
|
245
256
|
getPlacementListings?: undefined;
|
|
257
|
+
files?: undefined;
|
|
246
258
|
logs?: undefined;
|
|
247
259
|
} | {
|
|
248
260
|
contacts: {
|
|
@@ -370,25 +382,31 @@ export declare function useInstituteStudent({ user }: {
|
|
|
370
382
|
getPlacementListings: () => Promise<{
|
|
371
383
|
[k: string]: PlacementListing;
|
|
372
384
|
}>;
|
|
385
|
+
files: {
|
|
386
|
+
fetchFiles: (oId: string) => void;
|
|
387
|
+
uploadDocument: (e: {
|
|
388
|
+
name: string;
|
|
389
|
+
}, oId: string) => Promise<void>;
|
|
390
|
+
uploadedDocument: any;
|
|
391
|
+
uploadFile: (e: any, oId: string) => Promise<void>;
|
|
392
|
+
removeFile: (file: string) => Promise<void>;
|
|
393
|
+
files: [string, FileItem][] | undefined;
|
|
394
|
+
} | undefined;
|
|
373
395
|
logs: {
|
|
374
|
-
status: string;
|
|
375
396
|
values: {
|
|
376
|
-
|
|
377
|
-
values: {
|
|
378
|
-
[key: string]: DocumentData;
|
|
379
|
-
};
|
|
397
|
+
[key: string]: DocumentData;
|
|
380
398
|
};
|
|
381
|
-
fetchLogs: (placementId: string, selectedDate: string) => void
|
|
399
|
+
fetchLogs: (placementId: string, selectedDate: string) => Promise<void>;
|
|
382
400
|
saveLog: (value: any[] | {
|
|
383
401
|
[key: string]: unknown;
|
|
384
|
-
}, selectedDate: string, userType: string, placementId: string) => void
|
|
402
|
+
}, selectedDate: string, userType: string, placementId: string) => Promise<void>;
|
|
385
403
|
addLogFile: (files: {
|
|
386
404
|
file: FileList;
|
|
387
|
-
}, userType: string, selectedDate: string, placementId: string) => void
|
|
405
|
+
}, userType: string, selectedDate: string, placementId: string) => Promise<void>;
|
|
388
406
|
deleteLogFile: (openFile: {
|
|
389
407
|
name: string;
|
|
390
408
|
url: string;
|
|
391
|
-
}, userType: string, selectedDate: string, placementId: string) => void
|
|
409
|
+
}, userType: string, selectedDate: string, placementId: string) => Promise<void>;
|
|
392
410
|
};
|
|
393
411
|
error?: undefined;
|
|
394
412
|
};
|
package/lib/reduxHooks.js
CHANGED
|
@@ -14,13 +14,15 @@ const react_1 = require("react");
|
|
|
14
14
|
const react_redux_1 = require("react-redux");
|
|
15
15
|
const contactsSlice_1 = require("./features/contacts/contactsSlice");
|
|
16
16
|
const jobsSlice_1 = require("./features/jobs/jobsSlice");
|
|
17
|
-
const logsSlice_1 = require("./features/logs/logsSlice");
|
|
18
17
|
const activePlacement_1 = require("./features/placements/studentPlacements/activePlacement");
|
|
19
18
|
const completedStudentPlacementsSlice_1 = require("./features/placements/studentPlacements/completedStudentPlacementsSlice");
|
|
20
19
|
const upcomingStudentPlacementsSlice_1 = require("./features/placements/studentPlacements/upcomingStudentPlacementsSlice");
|
|
21
20
|
const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
|
|
22
21
|
const readDatabase_1 = require("./firebase/readDatabase");
|
|
23
22
|
const util_1 = require("./firebase/util");
|
|
23
|
+
const writeDatabase_1 = require("./firebase/writeDatabase");
|
|
24
|
+
const storage_1 = require("firebase/storage");
|
|
25
|
+
const firebaseConfig_1 = require("./firebase/firebaseConfig");
|
|
24
26
|
exports.useAppSelector = react_redux_1.useSelector;
|
|
25
27
|
const useAppDispatch = () => (0, react_redux_1.useDispatch)();
|
|
26
28
|
exports.useAppDispatch = useAppDispatch;
|
|
@@ -33,6 +35,8 @@ function useStudent({ user }) {
|
|
|
33
35
|
const upcoming = (0, exports.useAppSelector)((state) => state.upcomingStudentPlacements.upcoming);
|
|
34
36
|
const contacts = (0, exports.useAppSelector)((state) => state.contacts.values);
|
|
35
37
|
const [applications, setApplications] = (0, react_1.useState)();
|
|
38
|
+
const [files, setFiles] = (0, react_1.useState)();
|
|
39
|
+
const [uploadedDocument, setUploadedDocument] = (0, react_1.useState)(null);
|
|
36
40
|
const firebaseQuery = new firebaseQuery_1.default();
|
|
37
41
|
const dispatch = (0, exports.useAppDispatch)();
|
|
38
42
|
const today = new Date();
|
|
@@ -60,6 +64,65 @@ function useStudent({ user }) {
|
|
|
60
64
|
dispatch(fetchActivePlacement({userId: user.id}))
|
|
61
65
|
}, [dispatch, user.id, upcomingPlacements]);
|
|
62
66
|
*/
|
|
67
|
+
const fetchFiles = (oId) => {
|
|
68
|
+
firebaseQuery.collectionSnapshot(async (docs) => {
|
|
69
|
+
setFiles(await Promise.all(Object.entries(docs).map(async ([id, file]) => {
|
|
70
|
+
const url = await (0, storage_1.getDownloadURL)((0, storage_1.ref)(firebaseConfig_1.storage, `userFiles/${file.fileName}`));
|
|
71
|
+
return [id, { ...file, url: url }];
|
|
72
|
+
})));
|
|
73
|
+
}, "files", [(0, firestore_1.where)("product", "==", user.product), (0, firestore_1.where)("oId", "==", oId)]);
|
|
74
|
+
};
|
|
75
|
+
const uploadFile = async (e, oId) => {
|
|
76
|
+
console.log("files", e);
|
|
77
|
+
const fileName = e.name;
|
|
78
|
+
const file = e.file[0];
|
|
79
|
+
const newFileName = oId + "_" + (0, util_1.getRandomNumber)(0, 1000000) + "_" + file.name;
|
|
80
|
+
const newFile = {
|
|
81
|
+
product: user.product,
|
|
82
|
+
oId: oId,
|
|
83
|
+
fileName: newFileName,
|
|
84
|
+
name: fileName,
|
|
85
|
+
added: (0, util_1.convertDate)(new Date(), "visual"),
|
|
86
|
+
};
|
|
87
|
+
const docRef = await firebaseQuery.add("files", newFile);
|
|
88
|
+
await (0, writeDatabase_1.uploadFiles)(file, `userFiles/${newFileName}`);
|
|
89
|
+
setFiles((prevFiles) => {
|
|
90
|
+
const newEntry = [docRef.id, newFile];
|
|
91
|
+
return prevFiles ? [...prevFiles, newEntry] : [newEntry];
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const uploadDocument = async (e, oId) => {
|
|
95
|
+
const file = await fetch(uploadedDocument === null || uploadedDocument === void 0 ? void 0 : uploadedDocument.uri);
|
|
96
|
+
const blob = await file.blob();
|
|
97
|
+
const newFileName = `${oId}_${(0, util_1.getRandomNumber)(0, 1000000)}_${uploadedDocument === null || uploadedDocument === void 0 ? void 0 : uploadedDocument.name}`;
|
|
98
|
+
await (0, writeDatabase_1.uploadFiles)(blob, `userFiles/${newFileName}`);
|
|
99
|
+
await firebaseQuery.add("files", {
|
|
100
|
+
product: user.product,
|
|
101
|
+
oId: oId,
|
|
102
|
+
fileName: newFileName,
|
|
103
|
+
name: e.name,
|
|
104
|
+
added: (0, util_1.convertDate)(new Date(), "visual"),
|
|
105
|
+
});
|
|
106
|
+
setUploadedDocument(null);
|
|
107
|
+
};
|
|
108
|
+
const removeFile = async (file) => {
|
|
109
|
+
var _a;
|
|
110
|
+
if (!file)
|
|
111
|
+
return;
|
|
112
|
+
const fileToDelete = (_a = files === null || files === void 0 ? void 0 : files.find(([id]) => id === file)) === null || _a === void 0 ? void 0 : _a[1];
|
|
113
|
+
if (!fileToDelete) {
|
|
114
|
+
console.error("File not found in state");
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
await firebaseQuery.delete(["files", file]);
|
|
119
|
+
await (0, storage_1.deleteObject)((0, storage_1.ref)(firebaseConfig_1.storage, `userFiles/${fileToDelete.fileName}`));
|
|
120
|
+
setFiles((prevFiles) => (prevFiles === null || prevFiles === void 0 ? void 0 : prevFiles.filter(([id]) => id !== file)) || []);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error("Error deleting file:", error);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
63
126
|
const fetchUpcomingPlacements = () => {
|
|
64
127
|
const constraints = [(0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("inProgress", "==", true), (0, firestore_1.orderBy)("startDate")];
|
|
65
128
|
firebaseQuery.collectionSnapshot(upcomingStudentPlacementsSlice_1.setUpcomingStudentPlacements, "placements", constraints, dispatch);
|
|
@@ -146,9 +209,17 @@ function useStudent({ user }) {
|
|
|
146
209
|
upcoming,
|
|
147
210
|
upcomingPlacements: upcomingPlacements || {},
|
|
148
211
|
completedPlacements: completedPlacements || {},
|
|
149
|
-
getById: async (item) => await getItemById("placements", item)
|
|
212
|
+
getById: async (item) => await getItemById("placements", item),
|
|
150
213
|
},
|
|
151
214
|
applications: applications,
|
|
215
|
+
files: {
|
|
216
|
+
fetchFiles,
|
|
217
|
+
uploadDocument,
|
|
218
|
+
uploadedDocument,
|
|
219
|
+
uploadFile,
|
|
220
|
+
removeFile,
|
|
221
|
+
files,
|
|
222
|
+
}
|
|
152
223
|
};
|
|
153
224
|
}
|
|
154
225
|
;
|
|
@@ -219,12 +290,12 @@ function useInstitute({ user }) {
|
|
|
219
290
|
function useInstituteStudent({ user }) {
|
|
220
291
|
if (!user || (user === null || user === void 0 ? void 0 : user.product) !== "institutes" || user.userType !== "Students")
|
|
221
292
|
return { error: "Unauthorized" };
|
|
222
|
-
const { contacts, placements, applications } = useStudent({ user });
|
|
293
|
+
const { contacts, placements, applications, files } = useStudent({ user });
|
|
223
294
|
const [cohorts, setCohorts] = (0, react_1.useState)();
|
|
224
295
|
const firebaseQuery = new firebaseQuery_1.default();
|
|
225
296
|
const { userGroups, forms, institute } = useInstitute({ user });
|
|
226
|
-
const logs = (0,
|
|
227
|
-
const dispatch =
|
|
297
|
+
const [logs, setLogs] = (0, react_1.useState)({});
|
|
298
|
+
// const dispatch = useAppDispatch()
|
|
228
299
|
(0, react_1.useEffect)(() => {
|
|
229
300
|
const isAdmin = user.userGroup === "admin";
|
|
230
301
|
const canViewCohorts = user.viewCohorts !== "none";
|
|
@@ -260,17 +331,59 @@ function useInstituteStudent({ user }) {
|
|
|
260
331
|
}))).filter((i) => i));
|
|
261
332
|
return listings;
|
|
262
333
|
};
|
|
263
|
-
const
|
|
264
|
-
|
|
334
|
+
const fetchLogs = async (placementId, selectedDate) => {
|
|
335
|
+
try {
|
|
336
|
+
const data = await firebaseQuery.getDocData(["logs", `${placementId}-${selectedDate}`]);
|
|
337
|
+
setLogs(prev => ({ ...prev, [selectedDate]: data || {} }));
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
console.log("No log error");
|
|
341
|
+
setLogs(prev => ({ ...prev, [selectedDate]: {} }));
|
|
342
|
+
}
|
|
265
343
|
};
|
|
266
|
-
const
|
|
267
|
-
|
|
344
|
+
const saveLog = async (value, selectedDate, userType, placementId) => {
|
|
345
|
+
const empty = (Array.isArray(value) && value.length === 0) ||
|
|
346
|
+
(Object.entries(Object.values(value)[0])
|
|
347
|
+
.filter(([k, v]) => (![`${userType}Uid`, "completed"].includes(k)) && v)
|
|
348
|
+
.length === 0);
|
|
349
|
+
const updatedValue = empty
|
|
350
|
+
? null
|
|
351
|
+
: Array.isArray(value)
|
|
352
|
+
? value
|
|
353
|
+
: Object.values(value)[0];
|
|
354
|
+
await firebaseQuery.set(["logs", `${placementId}-${selectedDate}`], { [userType]: updatedValue }, true);
|
|
355
|
+
await firebaseQuery.update(["placements", placementId], { [userType + "Logs"]: empty ? (0, firestore_1.arrayRemove)(selectedDate) : (0, firestore_1.arrayUnion)(selectedDate) });
|
|
356
|
+
const updatedLog = {
|
|
357
|
+
...logs[selectedDate],
|
|
358
|
+
[userType]: updatedValue,
|
|
359
|
+
};
|
|
360
|
+
setLogs(prev => ({ ...prev, [selectedDate]: updatedLog }));
|
|
268
361
|
};
|
|
269
|
-
const
|
|
270
|
-
|
|
362
|
+
const addLogFile = async (files, userType, selectedDate, placementId) => {
|
|
363
|
+
const newFileNames = Array.from(files.file).map(file => file.name);
|
|
364
|
+
await (0, writeDatabase_1.uploadFiles)(Array.from(files.file), ["placements", placementId, "log", `${userType}_files`, selectedDate]);
|
|
365
|
+
await firebaseQuery.set(["logs", `${placementId}-${selectedDate}`], { [`${userType}_files`]: (0, firestore_1.arrayUnion)(...newFileNames) }, true);
|
|
366
|
+
setLogs(prevLogs => {
|
|
367
|
+
const currentLog = prevLogs[selectedDate] || {};
|
|
368
|
+
const updatedFiles = [...(currentLog[`${userType}_files`] || []), ...newFileNames];
|
|
369
|
+
return {
|
|
370
|
+
...prevLogs,
|
|
371
|
+
[selectedDate]: { ...currentLog, [`${userType}_files`]: updatedFiles }
|
|
372
|
+
};
|
|
373
|
+
});
|
|
271
374
|
};
|
|
272
|
-
const
|
|
273
|
-
|
|
375
|
+
const deleteLogFile = async (openFile, userType, selectedDate, placementId) => {
|
|
376
|
+
await (0, writeDatabase_1.deleteStorageItem)(`placements/${placementId}/log/${userType}_files/${selectedDate}/${openFile.name}`);
|
|
377
|
+
await firebaseQuery.set(["logs", `${placementId}-${selectedDate}`], { [`${userType}_files`]: (0, firestore_1.arrayRemove)(openFile.name) }, true);
|
|
378
|
+
setLogs(prevLogs => {
|
|
379
|
+
var _a;
|
|
380
|
+
const currentLog = prevLogs[selectedDate] || {};
|
|
381
|
+
const updatedFiles = ((_a = currentLog[`${userType}_files`]) === null || _a === void 0 ? void 0 : _a.filter((file) => file !== openFile.name)) || [];
|
|
382
|
+
return {
|
|
383
|
+
...prevLogs,
|
|
384
|
+
[selectedDate]: { ...currentLog, [`${userType}_files`]: updatedFiles }
|
|
385
|
+
};
|
|
386
|
+
});
|
|
274
387
|
};
|
|
275
388
|
return {
|
|
276
389
|
contacts,
|
|
@@ -281,13 +394,13 @@ function useInstituteStudent({ user }) {
|
|
|
281
394
|
cohorts,
|
|
282
395
|
applications,
|
|
283
396
|
getPlacementListings,
|
|
397
|
+
files,
|
|
284
398
|
logs: {
|
|
285
|
-
status: logs.status,
|
|
286
399
|
values: logs,
|
|
287
|
-
fetchLogs
|
|
288
|
-
saveLog
|
|
289
|
-
addLogFile
|
|
290
|
-
deleteLogFile
|
|
400
|
+
fetchLogs,
|
|
401
|
+
saveLog,
|
|
402
|
+
addLogFile,
|
|
403
|
+
deleteLogFile
|
|
291
404
|
}
|
|
292
405
|
};
|
|
293
406
|
}
|
package/lib/reduxHooks.js.map
CHANGED
|
@@ -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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"}
|
package/package.json
CHANGED
package/src/reduxHooks.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { DocumentData, documentId, orderBy, where } from "firebase/firestore"
|
|
1
|
+
import { DocumentData, arrayRemove, arrayUnion, documentId, orderBy, where } from "firebase/firestore"
|
|
2
2
|
import { useEffect, useState } from "react"
|
|
3
3
|
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux"
|
|
4
4
|
import { AppDispatch, RootState } from "./config"
|
|
5
5
|
import { addContact, deleteContact, setContacts, updateContact } from "./features/contacts/contactsSlice"
|
|
6
6
|
import { Job, addJob, setJobStatus, setJobs, setMarkRead, updateJob } from "./features/jobs/jobsSlice"
|
|
7
|
-
import { addLogFile, deleteLogFile, editLog, fetchLogs } from "./features/logs/logsSlice"
|
|
8
7
|
import { editActivePlacement, fetchActivePlacement, setActivePlacement } from "./features/placements/studentPlacements/activePlacement"
|
|
9
8
|
import { addCompletedStudentPlacements, deleteCompletedStudentPlacement, setCompletedStudentPlacements, updateCompletedStudentPlacement } from "./features/placements/studentPlacements/completedStudentPlacementsSlice"
|
|
10
9
|
import { addUpcomingStudentPlacements, deleteUpcomingStudentPlacement, setUpcoming, setUpcomingStudentPlacements, updateUpcomingStudentPlacement } from "./features/placements/studentPlacements/upcomingStudentPlacementsSlice"
|
|
11
10
|
import FirebaseQuery from "./firebase/firebaseQuery"
|
|
12
11
|
import { getOrganisation, getPlacementsWhere } from "./firebase/readDatabase"
|
|
13
|
-
import { convertDate } from "./firebase/util"
|
|
14
|
-
import {
|
|
12
|
+
import { convertDate, getRandomNumber } from "./firebase/util"
|
|
13
|
+
import { deleteStorageItem, uploadFiles } from "./firebase/writeDatabase"
|
|
14
|
+
import { Address, Application, CohortData, Contact, EmailTemplate, FileItem, InstituteData, PlacementListing, ProviderData, SavedPlacement, StudentPlacementData, UserData, UserGroupData } from "./typeDefinitions"
|
|
15
|
+
import { deleteObject, getDownloadURL, ref } from "firebase/storage"
|
|
16
|
+
import { storage } from "./firebase/firebaseConfig"
|
|
15
17
|
|
|
16
18
|
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector
|
|
17
19
|
export const useAppDispatch = () => useDispatch<AppDispatch>();
|
|
@@ -26,6 +28,8 @@ export function useStudent({user} : {user: UserData}) {
|
|
|
26
28
|
const upcoming = useAppSelector((state) => state.upcomingStudentPlacements.upcoming)
|
|
27
29
|
const contacts = useAppSelector((state) => state.contacts.values)
|
|
28
30
|
const [applications, setApplications] = useState<{[key: string]: Application&{listing: PlacementListing|false, provider: ProviderData|false, address: Address}}>();
|
|
31
|
+
const [files, setFiles] = useState<[string, FileItem][]>();
|
|
32
|
+
const [uploadedDocument, setUploadedDocument] = useState<any>(null);
|
|
29
33
|
const firebaseQuery = new FirebaseQuery();
|
|
30
34
|
|
|
31
35
|
const dispatch = useAppDispatch();
|
|
@@ -61,6 +65,79 @@ export function useStudent({user} : {user: UserData}) {
|
|
|
61
65
|
dispatch(fetchActivePlacement({userId: user.id}))
|
|
62
66
|
}, [dispatch, user.id, upcomingPlacements]);
|
|
63
67
|
*/
|
|
68
|
+
|
|
69
|
+
const fetchFiles = (oId: string) => {
|
|
70
|
+
firebaseQuery.collectionSnapshot(async (docs: {[key: string]: FileItem}) => {
|
|
71
|
+
setFiles(await Promise.all(Object.entries(docs as {[key: string]: FileItem}).map(async ([id, file]) => {
|
|
72
|
+
const url = await getDownloadURL(ref(storage, `userFiles/${file.fileName}`));
|
|
73
|
+
return [id, {...file, url: url}];
|
|
74
|
+
})));
|
|
75
|
+
}, "files", [where("product", "==", user.product), where("oId", "==", oId)]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const uploadFile = async (e: any, oId: string) => {
|
|
79
|
+
console.log("files", e);
|
|
80
|
+
|
|
81
|
+
const fileName = e.name;
|
|
82
|
+
const file = e.file[0] as File;
|
|
83
|
+
|
|
84
|
+
const newFileName = oId + "_" + getRandomNumber(0, 1000000) + "_" + file.name;
|
|
85
|
+
|
|
86
|
+
const newFile: FileItem = {
|
|
87
|
+
product: user.product,
|
|
88
|
+
oId: oId,
|
|
89
|
+
fileName: newFileName,
|
|
90
|
+
name: fileName,
|
|
91
|
+
added: convertDate(new Date(), "visual") as string,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const docRef = await firebaseQuery.add("files", newFile);
|
|
95
|
+
await uploadFiles(file, `userFiles/${newFileName}`);
|
|
96
|
+
|
|
97
|
+
setFiles((prevFiles) => {
|
|
98
|
+
const newEntry: [string, FileItem] = [docRef.id, newFile];
|
|
99
|
+
return prevFiles ? [...prevFiles, newEntry] : [newEntry];
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const uploadDocument = async (e: { name: string }, oId: string) => {
|
|
105
|
+
const file = await fetch(uploadedDocument?.uri as string);
|
|
106
|
+
const blob = await file.blob();
|
|
107
|
+
|
|
108
|
+
const newFileName = `${oId}_${getRandomNumber(0, 1000000)}_${uploadedDocument?.name}`;
|
|
109
|
+
await uploadFiles(blob, `userFiles/${newFileName}`);
|
|
110
|
+
|
|
111
|
+
await firebaseQuery.add("files", {
|
|
112
|
+
product: user.product,
|
|
113
|
+
oId: oId,
|
|
114
|
+
fileName: newFileName,
|
|
115
|
+
name: e.name,
|
|
116
|
+
added: convertDate(new Date(), "visual"),
|
|
117
|
+
} as FileItem);
|
|
118
|
+
|
|
119
|
+
setUploadedDocument(null);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const removeFile = async (file: string) => {
|
|
123
|
+
if (!file) return;
|
|
124
|
+
const fileToDelete = files?.find(([id]) => id === file)?.[1];
|
|
125
|
+
|
|
126
|
+
if (!fileToDelete) {
|
|
127
|
+
console.error("File not found in state");
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
await firebaseQuery.delete(["files", file]);
|
|
133
|
+
await deleteObject(ref(storage, `userFiles/${fileToDelete.fileName}`));
|
|
134
|
+
setFiles((prevFiles) => prevFiles?.filter(([id]) => id !== file) || []);
|
|
135
|
+
} catch (error) {
|
|
136
|
+
console.error("Error deleting file:", error);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
64
141
|
const fetchUpcomingPlacements = () => {
|
|
65
142
|
const constraints = [where("uid", "==", user.id), where("inProgress", "==", true), orderBy("startDate")]
|
|
66
143
|
firebaseQuery.collectionSnapshot(setUpcomingStudentPlacements, "placements", constraints, dispatch);
|
|
@@ -155,9 +232,17 @@ export function useStudent({user} : {user: UserData}) {
|
|
|
155
232
|
upcoming,
|
|
156
233
|
upcomingPlacements: upcomingPlacements || {},
|
|
157
234
|
completedPlacements: completedPlacements || {},
|
|
158
|
-
getById: async (item: string) => await getItemById("placements", item)
|
|
235
|
+
getById: async (item: string) => await getItemById("placements", item),
|
|
159
236
|
},
|
|
160
237
|
applications: applications,
|
|
238
|
+
files: {
|
|
239
|
+
fetchFiles,
|
|
240
|
+
uploadDocument,
|
|
241
|
+
uploadedDocument,
|
|
242
|
+
uploadFile,
|
|
243
|
+
removeFile,
|
|
244
|
+
files,
|
|
245
|
+
}
|
|
161
246
|
} ;
|
|
162
247
|
};
|
|
163
248
|
|
|
@@ -239,12 +324,12 @@ export function useInstitute({user}: {user: UserData}) {
|
|
|
239
324
|
export function useInstituteStudent({user}: {user: UserData}) {
|
|
240
325
|
if (!user || user?.product !== "institutes" || user.userType !== "Students") return {error: "Unauthorized"};
|
|
241
326
|
|
|
242
|
-
const {contacts, placements, applications} = useStudent({user});
|
|
327
|
+
const {contacts, placements, applications, files} = useStudent({user});
|
|
243
328
|
const [cohorts, setCohorts] = useState<{[key:string]: CohortData}>();
|
|
244
329
|
const firebaseQuery = new FirebaseQuery();
|
|
245
330
|
const {userGroups, forms, institute} = useInstitute({user})
|
|
246
|
-
const logs =
|
|
247
|
-
const dispatch = useAppDispatch()
|
|
331
|
+
const [logs, setLogs] = useState<{[key: string]: DocumentData}>({})
|
|
332
|
+
// const dispatch = useAppDispatch()
|
|
248
333
|
|
|
249
334
|
useEffect(() => {
|
|
250
335
|
const isAdmin = user.userGroup === "admin";
|
|
@@ -284,21 +369,88 @@ export function useInstituteStudent({user}: {user: UserData}) {
|
|
|
284
369
|
return listings
|
|
285
370
|
}
|
|
286
371
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
372
|
+
const fetchLogs = async (placementId: string, selectedDate: string) => {
|
|
373
|
+
try {
|
|
374
|
+
const data = await firebaseQuery.getDocData(["logs", `${placementId}-${selectedDate}`])
|
|
375
|
+
setLogs(prev => ({...prev, [selectedDate]: data || {}}))
|
|
376
|
+
|
|
377
|
+
} catch {
|
|
378
|
+
console.log("No log error")
|
|
379
|
+
setLogs(prev => ({...prev, [selectedDate]: {}}))
|
|
380
|
+
}
|
|
381
|
+
}
|
|
290
382
|
|
|
291
|
-
|
|
292
|
-
|
|
383
|
+
const saveLog = async (value: any[] | {[key: string]: unknown}, selectedDate: string, userType: string, placementId: string) => {
|
|
384
|
+
const empty =
|
|
385
|
+
(Array.isArray(value) && value.length === 0) ||
|
|
386
|
+
(Object.entries(Object.values(value)[0] as { [key: string]: unknown })
|
|
387
|
+
.filter(([k, v]) => (![`${userType}Uid`, "completed"].includes(k)) && v)
|
|
388
|
+
.length === 0);
|
|
389
|
+
|
|
390
|
+
const updatedValue = empty
|
|
391
|
+
? null
|
|
392
|
+
: Array.isArray(value)
|
|
393
|
+
? value
|
|
394
|
+
: Object.values(value)[0];
|
|
395
|
+
|
|
396
|
+
await firebaseQuery.set(
|
|
397
|
+
["logs", `${placementId}-${selectedDate}`],
|
|
398
|
+
{ [userType]: updatedValue },
|
|
399
|
+
true
|
|
400
|
+
);
|
|
401
|
+
|
|
402
|
+
await firebaseQuery.update(
|
|
403
|
+
["placements", placementId],
|
|
404
|
+
{ [userType + "Logs"]: empty ? arrayRemove(selectedDate) : arrayUnion(selectedDate) }
|
|
405
|
+
);
|
|
406
|
+
const updatedLog = {
|
|
407
|
+
...logs[selectedDate],
|
|
408
|
+
[userType]: updatedValue,
|
|
293
409
|
};
|
|
294
410
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
};
|
|
411
|
+
setLogs(prev => ({ ...prev, [selectedDate]: updatedLog }));
|
|
412
|
+
}
|
|
298
413
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
414
|
+
const addLogFile = async (files: {file: FileList}, userType: string, selectedDate: string, placementId: string) => {
|
|
415
|
+
const newFileNames = Array.from(files.file).map(file => file.name);
|
|
416
|
+
|
|
417
|
+
await uploadFiles(
|
|
418
|
+
Array.from(files.file),
|
|
419
|
+
["placements", placementId, "log", `${userType}_files`, selectedDate]
|
|
420
|
+
);
|
|
421
|
+
|
|
422
|
+
await firebaseQuery.set(
|
|
423
|
+
["logs", `${placementId}-${selectedDate}`],
|
|
424
|
+
{ [`${userType}_files`]: arrayUnion(...newFileNames) },
|
|
425
|
+
true
|
|
426
|
+
);
|
|
427
|
+
setLogs(prevLogs => {
|
|
428
|
+
const currentLog = prevLogs[selectedDate] || {};
|
|
429
|
+
const updatedFiles = [...(currentLog[`${userType}_files`] || []), ...newFileNames];
|
|
430
|
+
return {
|
|
431
|
+
...prevLogs,
|
|
432
|
+
[selectedDate]: { ...currentLog, [`${userType}_files`]: updatedFiles }
|
|
433
|
+
};
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
const deleteLogFile = async (openFile: {name: string, url: string}, userType: string, selectedDate: string, placementId: string) => {
|
|
438
|
+
await deleteStorageItem(`placements/${placementId}/log/${userType}_files/${selectedDate}/${openFile.name}`);
|
|
439
|
+
await firebaseQuery.set(
|
|
440
|
+
["logs", `${placementId}-${selectedDate}`],
|
|
441
|
+
{ [`${userType}_files`]: arrayRemove(openFile.name) },
|
|
442
|
+
true
|
|
443
|
+
);
|
|
444
|
+
|
|
445
|
+
setLogs(prevLogs => {
|
|
446
|
+
const currentLog = prevLogs[selectedDate] || {};
|
|
447
|
+
const updatedFiles = currentLog[`${userType}_files`]?.filter((file: string) => file !== openFile.name) || [];
|
|
448
|
+
return {
|
|
449
|
+
...prevLogs,
|
|
450
|
+
[selectedDate]: { ...currentLog, [`${userType}_files`]: updatedFiles }
|
|
451
|
+
};
|
|
452
|
+
});
|
|
453
|
+
}
|
|
302
454
|
|
|
303
455
|
|
|
304
456
|
return {
|
|
@@ -310,13 +462,13 @@ export function useInstituteStudent({user}: {user: UserData}) {
|
|
|
310
462
|
cohorts,
|
|
311
463
|
applications,
|
|
312
464
|
getPlacementListings,
|
|
465
|
+
files,
|
|
313
466
|
logs: {
|
|
314
|
-
status: logs.status,
|
|
315
467
|
values: logs,
|
|
316
|
-
fetchLogs
|
|
317
|
-
saveLog
|
|
318
|
-
addLogFile
|
|
319
|
-
deleteLogFile
|
|
468
|
+
fetchLogs,
|
|
469
|
+
saveLog,
|
|
470
|
+
addLogFile,
|
|
471
|
+
deleteLogFile
|
|
320
472
|
}
|
|
321
473
|
|
|
322
474
|
}
|