From 3c54f356a9b63021ab92943f90a6c28a623358d1 Mon Sep 17 00:00:00 2001 From: Sarah Taylor <150694563+staysgt@users.noreply.github.com> Date: Fri, 20 Mar 2026 17:14:57 -0400 Subject: [PATCH] #3938 get all guest definitions --- .../controllers/recruitment.controllers.ts | 9 ++++ src/backend/src/prisma/seed.ts | 45 +++++++++++++++++++ src/backend/src/routes/recruitment.routes.ts | 2 + .../src/services/recruitment.services.ts | 8 ++++ src/backend/tests/unit/recruitment.test.ts | 29 ++++++++++++ 5 files changed, 93 insertions(+) diff --git a/src/backend/src/controllers/recruitment.controllers.ts b/src/backend/src/controllers/recruitment.controllers.ts index 9a3154d47d..50ae9d254f 100644 --- a/src/backend/src/controllers/recruitment.controllers.ts +++ b/src/backend/src/controllers/recruitment.controllers.ts @@ -115,4 +115,13 @@ export default class RecruitmentController { next(error); } } + + static async getAllGuestDefintions(req: Request, res: Response, next: NextFunction) { + try { + const allDefinitons = await RecruitmentServices.getAllGuestDefinitions(req.organization); + res.status(200).json(allDefinitons); + } catch (error: unknown) { + next(error); + } + } } diff --git a/src/backend/src/prisma/seed.ts b/src/backend/src/prisma/seed.ts index 6ae11e728b..8161ea418e 100644 --- a/src/backend/src/prisma/seed.ts +++ b/src/backend/src/prisma/seed.ts @@ -41,6 +41,7 @@ import OnboardingServices from '../services/onboarding.services.js'; import { dbSeedAllParts, dbSeedAllPartTags } from './seed-data/parts.seed.js'; import FinanceServices from '../services/finance.services.js'; import CalendarService from '../services/calendar.services.js'; +import { allChangeRequestsReviewed } from '../utils/change-requests.utils.js'; const prisma = new PrismaClient(); @@ -3890,6 +3891,50 @@ const performSeed: () => Promise = async () => { undefined, undefined ); + + await RecruitmentServices.createGuestDefinition( + thomasEmrax, + ner, + 'Projects', + 'This is the definition of a project. Projects are blah blah blah', + 0, + 'bar_chart', + 'Click here to view all our projects!', + '/projects' + ); + + await RecruitmentServices.createGuestDefinition( + thomasEmrax, + ner, + 'Change Requests', + 'This is the definiton for a change request. Changes requests are blah blah blah', + 0, + 'bar_chart', + 'Click here to view all our change requests!', + '/change-requests' + ); + + await RecruitmentServices.createGuestDefinition( + thomasEmrax, + ner, + 'Gantt Chart', + 'This is the definiton for a change request. Changes requests are blah blah blah', + 0, + 'bar_chart', + 'Click here to view all our projects!', + '/gantt' + ); + + await RecruitmentServices.createGuestDefinition( + thomasEmrax, + ner, + 'Design Reviews', + 'This is the definiton for a design review. Design reviews are blah blah blah', + 0, + 'bar_chart', + 'Click here to view all our design reviews!', + '/design-reviews' + ); }; performSeed() diff --git a/src/backend/src/routes/recruitment.routes.ts b/src/backend/src/routes/recruitment.routes.ts index 2ba260e479..2237b8ac42 100644 --- a/src/backend/src/routes/recruitment.routes.ts +++ b/src/backend/src/routes/recruitment.routes.ts @@ -62,4 +62,6 @@ recruitmentRouter.post( RecruitmentController.createGuestDefinition ); +recruitmentRouter.get('/guestDefinitions', RecruitmentController.getAllGuestDefintions); + export default recruitmentRouter; diff --git a/src/backend/src/services/recruitment.services.ts b/src/backend/src/services/recruitment.services.ts index 4c7d978c61..c98ae7eb66 100644 --- a/src/backend/src/services/recruitment.services.ts +++ b/src/backend/src/services/recruitment.services.ts @@ -253,4 +253,12 @@ export default class RecruitmentServices { return definition; } + + static async getAllGuestDefinitions(organization: Organization) { + const allGuestDefintions = await prisma.guest_Definition.findMany({ + where: { organizationId: organization.organizationId, dateDeleted: null } + }); + + return allGuestDefintions; + } } diff --git a/src/backend/tests/unit/recruitment.test.ts b/src/backend/tests/unit/recruitment.test.ts index bb63387f88..5a29dbedf9 100644 --- a/src/backend/tests/unit/recruitment.test.ts +++ b/src/backend/tests/unit/recruitment.test.ts @@ -377,4 +377,33 @@ describe('Recruitment Tests', () => { ).rejects.toThrow(new AccessDeniedAdminOnlyException('create a guest definition')); }); }); + + describe('Get All Guest Definitions', () => { + it('Succeeds and gets all the guest definitions', async () => { + const def = await RecruitmentServices.createGuestDefinition( + superman, + organization, + 'test term', + 'test description', + 2, + 'iconname', + 'buttonTxt', + 'buttonLink' + ); + + const def2 = await RecruitmentServices.createGuestDefinition( + superman, + organization, + 'test term', + 'test description', + 2, + 'iconname', + 'buttonTxt', + 'buttonLink' + ); + + const result = await RecruitmentServices.getAllGuestDefinitions(organization); + expect(result).toStrictEqual([def, def2]); + }); + }); });