feat(holiday-system): add holiday population functionality and API integration
- Implemented a new API endpoint to populate country holidays in the database. - Enhanced the HolidayController to handle holiday population logic for multiple countries. - Updated the holiday API router to include the new populate endpoint. - Added a service method in the frontend to trigger holiday population. - Integrated a button in the admin center overview for easy access to populate holidays. - Improved error handling and user feedback during the holiday population process.
This commit is contained in:
@@ -1,26 +1,29 @@
|
||||
import express from 'express';
|
||||
import HolidayController from '../../controllers/holiday-controller';
|
||||
import safeControllerFunction from '../../shared/safe-controller-function';
|
||||
import teamOwnerOrAdminValidator from '../../middlewares/validators/team-owner-or-admin-validator';
|
||||
import idParamValidator from '../../middlewares/validators/id-param-validator';
|
||||
import express from "express";
|
||||
import HolidayController from "../../controllers/holiday-controller";
|
||||
import safeControllerFunction from "../../shared/safe-controller-function";
|
||||
import teamOwnerOrAdminValidator from "../../middlewares/validators/team-owner-or-admin-validator";
|
||||
import idParamValidator from "../../middlewares/validators/id-param-validator";
|
||||
|
||||
const holidayApiRouter = express.Router();
|
||||
|
||||
// Holiday types
|
||||
holidayApiRouter.get('/types', safeControllerFunction(HolidayController.getHolidayTypes));
|
||||
holidayApiRouter.get("/types", safeControllerFunction(HolidayController.getHolidayTypes));
|
||||
|
||||
// Organization holidays
|
||||
holidayApiRouter.get('/organization', teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.getOrganizationHolidays));
|
||||
holidayApiRouter.post('/organization', teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.createOrganizationHoliday));
|
||||
holidayApiRouter.put('/organization/:id', teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(HolidayController.updateOrganizationHoliday));
|
||||
holidayApiRouter.delete('/organization/:id', teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(HolidayController.deleteOrganizationHoliday));
|
||||
holidayApiRouter.get("/organization", teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.getOrganizationHolidays));
|
||||
holidayApiRouter.post("/organization", teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.createOrganizationHoliday));
|
||||
holidayApiRouter.put("/organization/:id", teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(HolidayController.updateOrganizationHoliday));
|
||||
holidayApiRouter.delete("/organization/:id", teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(HolidayController.deleteOrganizationHoliday));
|
||||
|
||||
// Country holidays
|
||||
holidayApiRouter.get('/countries', safeControllerFunction(HolidayController.getAvailableCountries));
|
||||
holidayApiRouter.get('/countries/:country_code', safeControllerFunction(HolidayController.getCountryHolidays));
|
||||
holidayApiRouter.post('/import', teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.importCountryHolidays));
|
||||
holidayApiRouter.get("/countries", safeControllerFunction(HolidayController.getAvailableCountries));
|
||||
holidayApiRouter.get("/countries/:country_code", safeControllerFunction(HolidayController.getCountryHolidays));
|
||||
holidayApiRouter.post("/import", teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.importCountryHolidays));
|
||||
|
||||
// Calendar view
|
||||
holidayApiRouter.get('/calendar', teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.getHolidayCalendar));
|
||||
holidayApiRouter.get("/calendar", teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.getHolidayCalendar));
|
||||
|
||||
// Populate holidays
|
||||
holidayApiRouter.post("/populate", teamOwnerOrAdminValidator, safeControllerFunction(HolidayController.populateCountryHolidays));
|
||||
|
||||
export default holidayApiRouter;
|
||||
Reference in New Issue
Block a user