-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
taskTasks related to TumApply which are not whole featuresTasks related to TumApply which are not whole features
Description
Description
Context Professors create interview slots for job positions. Currently, there is no validation to prevent creating new slots that overlap with existing ones for the same interview process, which can lead to scheduling conflicts.
Goal Implement server-side validation to detect overlapping slots during creation and provide visual feedback in the UI so users can resolve these conflicts.
Tasks
Server Validation
- Extend POST /api/interviews/processes/{processId}/slots/create to validate proposed slots against existing ones.
- If conflicts are found, return 409 Conflict with a detailed list of conflicts (not just a generic error).
- Create SlotConflictDTO to structure the conflict data (proposed slot vs. existing conflicting slot).
Client:
- In SlotCreationFormComponent, catch the 409 error and parse the conflict list.
- In DateSlotCardComponent, highlight the conflicting slots (e.g., red border).
- Display a tooltip or error message showing the time range of the existing conflicting slot (e.g., "Conflicts with existing slot 10:00 - 10:30").
Acceptance Criteria
- Attempting to create an overlapping slot returns a 409 status.
- The UI keeps the form open and highlights the conflicting slots.
- The user can adjust the time and retry saving successfully.
Metadata
Metadata
Assignees
Labels
taskTasks related to TumApply which are not whole featuresTasks related to TumApply which are not whole features