Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/backend/src/controllers/recruitment.controllers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
45 changes: 45 additions & 0 deletions src/backend/src/prisma/seed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down Expand Up @@ -3890,6 +3891,50 @@ const performSeed: () => Promise<void> = 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()
Expand Down
2 changes: 2 additions & 0 deletions src/backend/src/routes/recruitment.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,6 @@ recruitmentRouter.post(
RecruitmentController.createGuestDefinition
);

recruitmentRouter.get('/guestDefinitions', RecruitmentController.getAllGuestDefintions);

export default recruitmentRouter;
8 changes: 8 additions & 0 deletions src/backend/src/services/recruitment.services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
29 changes: 29 additions & 0 deletions src/backend/tests/unit/recruitment.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
});
});
});
Loading