-
Notifications
You must be signed in to change notification settings - Fork 53
feat: Admin APIs for manual mentor assignment and confirming no match found #549
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestepic-mentorshipAll tasks related to mentorship pages & tasksAll tasks related to mentorship pages & tasksjava/springbootTasks where is needed Java experience or Spring Boot ExperienceTasks where is needed Java experience or Spring Boot Experience
Milestone
Description
Context
Once a mentee is in PENDING_MANUAL_MATCH, admins have two options:
- Manually assign a mentor — admin finds a suitable mentor outside the original priority list and creates a new application
- Confirm no match found — after exhausting all manual options, admin marks the mentee as unmatched for this cycle
Changes Required
MenteeWorkflowService
- Add
assignMentor(menteeId, cycleId, mentorId, notes):- Validates mentor exists and has capacity
- Closes the
PENDING_MANUAL_MATCHplaceholder application - Creates a new
MenteeApplicationfor the mentee→mentor pairing with statusPENDING - Normal acceptance flow continues from there
- Add
confirmNoMatch(menteeId, cycleId, reason):- Sets
NO_MATCH_FOUNDon thePENDING_MANUAL_MATCHplaceholder application - Terminal — no further actions possible for this mentee in this cycle
- Sets
New API endpoints
POST /api/platform/v1/mentees/{menteeId}/cycles/{cycleId}/assign-mentor
Body: { "mentorId": number, "notes": "string" }
Response: Newly created MenteeApplication
POST /api/platform/v1/mentees/{menteeId}/cycles/{cycleId}/no-match
Body: { "reason": "string" }
Response: Updated MenteeApplication
Acceptance Criteria
-
assignMentor()creates new application and closes placeholder - Mentor capacity validated before assignment
-
confirmNoMatch()setsNO_MATCH_FOUNDand is terminal - Both endpoints require admin permission and documented in OpenAPI/Swagger
- Unit and integration tests
Dependencies
- Ticket: feat: Auto-detect exhausted priorities and transition to PENDING_MANUAL_MATCH
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestepic-mentorshipAll tasks related to mentorship pages & tasksAll tasks related to mentorship pages & tasksjava/springbootTasks where is needed Java experience or Spring Boot ExperienceTasks where is needed Java experience or Spring Boot Experience