Skip to content

Commit bb6a991

Browse files
committed
dropdown autocomplete with validation for survey userId
1 parent a71d8c6 commit bb6a991

9 files changed

Lines changed: 886 additions & 48 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

backend/src/controllers/teams.controller.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ class TeamsController {
3333
async getMemberByLogin(req: Request, res: Response): Promise<void> {
3434
try {
3535
const { login } = req.params;
36-
const member = teamsService.getMemberByLogin(login);
36+
const exact = req.query.exact === 'true';
37+
const member = await teamsService.getMemberByLogin(login, exact);
3738
if (member) {
3839
res.json(member);
3940
} else {
@@ -43,6 +44,20 @@ class TeamsController {
4344
res.status(500).json(error);
4445
}
4546
}
47+
48+
async searchMembersByLogin(req: Request, res: Response): Promise<void> {
49+
try {
50+
const { query } = req.query;
51+
if (!query || typeof query !== 'string') {
52+
res.status(400).json({ message: 'Invalid query parameter' });
53+
return;
54+
}
55+
const members = await teamsService.searchMembersByLogin(query);
56+
res.json(members);
57+
} catch (error) {
58+
res.status(500).json(error);
59+
}
60+
}
4661
}
4762

4863
export default new TeamsController();

backend/src/routes/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ router.get('/seats/activity', adoptionController.getAdoptions);
3232
router.get('/seats/activity/totals', adoptionController.getAdoptionTotals);
3333
router.get('/seats/:id', SeatsController.getSeat);
3434

35+
// The order matters - more specific routes first
3536
router.get('/teams', teamsController.getAllTeams);
3637
router.get('/members', teamsController.getAllMembers);
38+
router.get('/members/search', teamsController.searchMembersByLogin); // This needs to be before the dynamic route
3739
router.get('/members/:login', teamsController.getMemberByLogin);
3840

3941
router.get('/settings', settingsController.getAllSettings);

0 commit comments

Comments
 (0)