Skip to content

Commit 51e5a6f

Browse files
authored
Merge pull request #3579 from Northeastern-Electric-Racing/#3561-assign-rrs
#3561 assign rrs
2 parents fb5dc4c + 2659ffc commit 51e5a6f

25 files changed

Lines changed: 2500 additions & 172 deletions

src/backend/src/controllers/reimbursement-requests.controllers.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@ export default class ReimbursementRequestsController {
2323
}
2424
}
2525

26+
static async getCurrentUserAssignedReimbursementRequests(req: Request, res: Response, next: NextFunction) {
27+
try {
28+
const assignedReimbursementRequests = await ReimbursementRequestService.getUserAssignedReimbursementRequests(
29+
req.currentUser,
30+
req.organization
31+
);
32+
res.status(200).json(assignedReimbursementRequests);
33+
} catch (error: unknown) {
34+
next(error);
35+
}
36+
}
37+
2638
static async getCurrentUserReimbursements(req: Request, res: Response, next: NextFunction) {
2739
try {
2840
const userReimbursements = await ReimbursementRequestService.getUserReimbursements(req.currentUser, req.organization);
@@ -140,6 +152,23 @@ export default class ReimbursementRequestsController {
140152
}
141153
}
142154

155+
static async assignFinanceMember(req: Request, res: Response, next: NextFunction) {
156+
try {
157+
const { requestId } = req.params;
158+
const { assigneeId } = req.body;
159+
160+
const updatedReimbursementRequest = await ReimbursementRequestService.assignFinanceMember(
161+
req.currentUser,
162+
req.organization,
163+
requestId,
164+
assigneeId
165+
);
166+
res.status(200).json(updatedReimbursementRequest);
167+
} catch (error: unknown) {
168+
next(error);
169+
}
170+
}
171+
143172
static async editReimbursement(req: Request, res: Response, next: NextFunction) {
144173
try {
145174
const { reimbursementId } = req.params;

src/backend/src/prisma-query-args/reimbursement-requests.query-args.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export const getReimbursementRequestQueryArgs = (organizationId: string) =>
3131
dateDeleted: null
3232
},
3333
...getReimbursementRequestCommentQueryArgs(organizationId)
34-
}
34+
},
35+
assignee: getUserQueryArgs(organizationId)
3536
}
3637
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- AlterTable
2+
ALTER TABLE "Reimbursement_Request" ADD COLUMN "assigneeId" TEXT;
3+
4+
-- AddForeignKey
5+
ALTER TABLE "Reimbursement_Request" ADD CONSTRAINT "Reimbursement_Request_assigneeId_fkey" FOREIGN KEY ("assigneeId") REFERENCES "User"("userId") ON DELETE SET NULL ON UPDATE CASCADE;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Please do not edit this file manually
22
# It should be added in your version-control system (e.g., Git)
3-
provider = "postgresql"
3+
provider = "postgresql"

src/backend/src/prisma/schema.prisma

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ model User {
260260
deletedReimbursementRequestComments Reimbursement_Request_Comment[] @relation(name: "deletedReimbursementRequestComments")
261261
deletedSponsorTiers Sponsor_Tier[]
262262
financeDelegateForOrganizations Organization[] @relation(name: "financeDelegates")
263+
assignedReimbursementRequests Reimbursement_Request[] @relation(name: "reimbursementRequestAssignee")
263264
}
264265

265266
model Role {
@@ -701,6 +702,8 @@ model Reimbursement_Request {
701702
notificationSlackThreads Message_Info[]
702703
materials Material[]
703704
reimbursementComments Reimbursement_Request_Comment[]
705+
assigneeId String?
706+
assignee User? @relation(name: "reimbursementRequestAssignee", fields: [assigneeId], references: [userId])
704707
705708
@@unique([identifier, organizationId], name: "uniqueReimbursementRequest")
706709
@@index([organizationId])

0 commit comments

Comments
 (0)