From 875564d7a0601c1af23a450295bd60eaa0ae6d1f Mon Sep 17 00:00:00 2001 From: Patricia Huang Date: Fri, 9 Feb 2024 17:01:51 -0500 Subject: [PATCH 1/3] Remove pending field dependency for TEC --- backend/src/API/teamEventsAPI.ts | 2 +- backend/src/dao/TeamEventAttendanceDao.ts | 1 - backend/src/dao/remove-pending-field.ts | 17 +++++++++++++++++ backend/src/types/DataTypes.d.ts | 2 +- common-types/index.d.ts | 2 +- .../Admin/TeamEvent/TeamEventCreditReview.tsx | 1 - .../TeamEventCreditsForm.tsx | 1 - 7 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 backend/src/dao/remove-pending-field.ts diff --git a/backend/src/API/teamEventsAPI.ts b/backend/src/API/teamEventsAPI.ts index 4ed012f49..e1332df18 100644 --- a/backend/src/API/teamEventsAPI.ts +++ b/backend/src/API/teamEventsAPI.ts @@ -113,7 +113,7 @@ export const requestTeamEventCredit = async ( `User with email ${user.email} cannot request team event credit for another member, ${request.member.email}.` ); } - const updatedteamEvent = { ...request, pending: true, status: 'pending' as Status }; + const updatedteamEvent = { ...request, status: 'pending' as Status }; const teamEventAttendance = await teamEventAttendanceDao.createTeamEventAttendance( updatedteamEvent ); diff --git a/backend/src/dao/TeamEventAttendanceDao.ts b/backend/src/dao/TeamEventAttendanceDao.ts index ff655622f..84128917b 100644 --- a/backend/src/dao/TeamEventAttendanceDao.ts +++ b/backend/src/dao/TeamEventAttendanceDao.ts @@ -46,7 +46,6 @@ export default class TeamEventAttendanceDao extends BaseDao< ): Promise { const teamEventAttendanceWithUUID = { ...teamEventAttendance, - pending: true, status: 'pending' as Status, uuid: teamEventAttendance.uuid ? teamEventAttendance.uuid : uuidv4() }; diff --git a/backend/src/dao/remove-pending-field.ts b/backend/src/dao/remove-pending-field.ts new file mode 100644 index 000000000..75e884bfb --- /dev/null +++ b/backend/src/dao/remove-pending-field.ts @@ -0,0 +1,17 @@ +// run 'yarn ts-node --transpile-only src/dao/remove-pending-field.ts' once in backend directory + +// eslint-disable-next-line import/no-extraneous-dependencies +import { FieldValue } from '@google-cloud/firestore'; +import { teamEventAttendanceCollection } from '../firebase'; + +const removePending = async () => { + const docs = await teamEventAttendanceCollection.listDocuments(); + + docs.forEach(async (doc) => { + await doc.update({pending: FieldValue.delete()}); + // console.log((await doc.get()).data()); + // console.log(attendance.uuid === (await doc.get()).data()?.uuid) + }); +}; + +removePending(); diff --git a/backend/src/types/DataTypes.d.ts b/backend/src/types/DataTypes.d.ts index 131aa8313..96549a725 100644 --- a/backend/src/types/DataTypes.d.ts +++ b/backend/src/types/DataTypes.d.ts @@ -37,7 +37,7 @@ export type DBTeamEventAttendance = { hoursAttended?: number; image: string; eventUuid: string; - pending: boolean; + pending?: boolean; status: Status; reason: string; uuid: string; diff --git a/common-types/index.d.ts b/common-types/index.d.ts index 88b2c2384..9bf15a5ec 100644 --- a/common-types/index.d.ts +++ b/common-types/index.d.ts @@ -87,7 +87,7 @@ interface TeamEventAttendance { hoursAttended?: number; image: string; readonly eventUuid: string; - readonly pending: boolean; + readonly pending?: boolean; readonly status: Status; readonly reason: string; readonly uuid: string; diff --git a/frontend/src/components/Admin/TeamEvent/TeamEventCreditReview.tsx b/frontend/src/components/Admin/TeamEvent/TeamEventCreditReview.tsx index 52a0779f6..1b0f8d895 100644 --- a/frontend/src/components/Admin/TeamEvent/TeamEventCreditReview.tsx +++ b/frontend/src/components/Admin/TeamEvent/TeamEventCreditReview.tsx @@ -27,7 +27,6 @@ const TeamEventCreditReview = (props: { const approveCreditRequest = (teamEventAttendance: TeamEventAttendance) => { const updatedTeamEventAttendance = { ...teamEventAttendance, - pending: false, status: 'approved' as Status, reason }; diff --git a/frontend/src/components/Forms/TeamEventCreditsForm/TeamEventCreditsForm.tsx b/frontend/src/components/Forms/TeamEventCreditsForm/TeamEventCreditsForm.tsx index eca636d0c..1af313eff 100644 --- a/frontend/src/components/Forms/TeamEventCreditsForm/TeamEventCreditsForm.tsx +++ b/frontend/src/components/Forms/TeamEventCreditsForm/TeamEventCreditsForm.tsx @@ -75,7 +75,6 @@ const TeamEventCreditForm: React.FC = () => { hoursAttended: teamEvent.hasHours ? Number(hours) : undefined, image: `eventProofs/${getNetIDFromEmail(userInfo.email)}/${new Date().toISOString()}`, eventUuid: teamEvent.uuid, - pending: true, status: 'pending' as Status, reason: '', uuid: '' From cefb1e9f1c78acb4f8d8cfbf1b1e0efa1d3cf847 Mon Sep 17 00:00:00 2001 From: Patricia Huang Date: Fri, 9 Feb 2024 17:13:38 -0500 Subject: [PATCH 2/3] Remove script --- backend/src/dao/remove-pending-field.ts | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 backend/src/dao/remove-pending-field.ts diff --git a/backend/src/dao/remove-pending-field.ts b/backend/src/dao/remove-pending-field.ts deleted file mode 100644 index 75e884bfb..000000000 --- a/backend/src/dao/remove-pending-field.ts +++ /dev/null @@ -1,17 +0,0 @@ -// run 'yarn ts-node --transpile-only src/dao/remove-pending-field.ts' once in backend directory - -// eslint-disable-next-line import/no-extraneous-dependencies -import { FieldValue } from '@google-cloud/firestore'; -import { teamEventAttendanceCollection } from '../firebase'; - -const removePending = async () => { - const docs = await teamEventAttendanceCollection.listDocuments(); - - docs.forEach(async (doc) => { - await doc.update({pending: FieldValue.delete()}); - // console.log((await doc.get()).data()); - // console.log(attendance.uuid === (await doc.get()).data()?.uuid) - }); -}; - -removePending(); From fa316aad97ad3c3dbcb97b561bc14da7a6ddf761 Mon Sep 17 00:00:00 2001 From: Patricia Huang Date: Sat, 10 Feb 2024 20:48:12 -0500 Subject: [PATCH 3/3] Remove pending field --- backend/src/types/DataTypes.d.ts | 1 - common-types/index.d.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/backend/src/types/DataTypes.d.ts b/backend/src/types/DataTypes.d.ts index 96549a725..e87598fe3 100644 --- a/backend/src/types/DataTypes.d.ts +++ b/backend/src/types/DataTypes.d.ts @@ -37,7 +37,6 @@ export type DBTeamEventAttendance = { hoursAttended?: number; image: string; eventUuid: string; - pending?: boolean; status: Status; reason: string; uuid: string; diff --git a/common-types/index.d.ts b/common-types/index.d.ts index 9bf15a5ec..10803e40c 100644 --- a/common-types/index.d.ts +++ b/common-types/index.d.ts @@ -87,7 +87,6 @@ interface TeamEventAttendance { hoursAttended?: number; image: string; readonly eventUuid: string; - readonly pending?: boolean; readonly status: Status; readonly reason: string; readonly uuid: string;