Class HolidayController

java.lang.Object
com.app.controller.HolidayController

@RestController @RequestMapping("/holidays") public class HolidayController extends Object
REST controller for handling holiday-related operations.
  • 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.