Class HolidayController
java.lang.Object
com.app.controller.HolidayController
REST controller for handling holiday-related operations.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchangeStatus
(Long holidayId, Status status) Changes the status of a holiday.createHoliday
(CreateHolidayDto createHolidayDto, String token) Creates a new holiday request.getHolidays
(HolidaySpecificationDto holidaySpecificationDto) Retrieves holidays filtered by complex criteria.getHolidays
(String token, LocalDateTime startDate, LocalDateTime endDate) Retrieves holidays filtered by optional start and end dates.
-
Constructor Details
-
HolidayController
public HolidayController()
-
-
Method Details
-
createHoliday
@PostMapping @ResponseStatus(CREATED) public ResponseDto<Long> createHoliday(@RequestBody CreateHolidayDto createHolidayDto, @CookieValue("AccessToken") String token) Creates a new holiday request.- Parameters:
createHolidayDto
- DTO with holiday details.token
- Access token from cookie for authentication.- Returns:
- ID of the created holiday.
-
getHolidays
@GetMapping @ResponseStatus(OK) public ResponseDto<List<HolidayDto>> getHolidays(@CookieValue("AccessToken") String token, @RequestParam(required=false) LocalDateTime startDate, @RequestParam(required=false) LocalDateTime endDate) Retrieves holidays filtered by optional start and end dates. Note: @Param is intended for repository query parameters, better to use @RequestParam for controller method parameters.- Parameters:
token
- Access token from cookie for authentication.startDate
- Optional start date filter.endDate
- Optional end date filter.- Returns:
- List of holidays matching the date criteria.
-
changeStatus
@PatchMapping @ResponseStatus(OK) public ResponseDto<Long> changeStatus(@RequestParam Long holidayId, @RequestParam Status status) Changes the status of a holiday.- Parameters:
holidayId
- ID of the holiday to update.status
- New status to apply.- Returns:
- ID of the updated holiday.
-
getHolidays
@PostMapping("/filter") @ResponseStatus(OK) public ResponseDto<List<HolidayDto>> getHolidays(@RequestBody HolidaySpecificationDto holidaySpecificationDto) Retrieves holidays filtered by complex criteria.- Parameters:
holidaySpecificationDto
- DTO specifying filter criteria.- Returns:
- List of holidays matching the filter criteria.
-