feat(holiday-settings): implement organization holiday settings management

- Added SQL migration for creating organization holiday settings and state holidays tables with necessary constraints and indexes.
- Implemented API endpoints in AdminCenterController for retrieving and updating organization holiday settings.
- Updated admin-center API router to include routes for holiday settings management.
- Enhanced localization files to support new holiday settings UI elements in multiple languages.
- Improved holiday calendar component to display working days and integrate holiday settings.
This commit is contained in:
chamikaJ
2025-07-28 13:07:15 +05:30
parent c18b289e4f
commit f81d0f9594
21 changed files with 1265 additions and 207 deletions

View File

@@ -105,7 +105,6 @@ export const updateHolidaySettings = createAsyncThunk(
async (settings: IOrganizationHolidaySettings) => {
const { holidayApiService } = await import('@/api/holiday/holiday.api.service');
await holidayApiService.updateOrganizationHolidaySettings(settings);
await adminCenterApiService.updateOrganizationHolidaySettings(settings);
return settings;
}
);
@@ -164,6 +163,10 @@ const adminCenterSlice = createSlice({
? (state.isUpgradeModalOpen = false)
: (state.isUpgradeModalOpen = true);
},
clearHolidaysCache: state => {
state.holidays = [];
state.holidaysDateRange = null;
},
},
extraReducers: builder => {
builder.addCase(fetchBillingInfo.pending, (state, action) => {
@@ -264,7 +267,7 @@ const adminCenterSlice = createSlice({
},
});
export const { toggleRedeemCodeDrawer, toggleUpgradeModal } = adminCenterSlice.actions;
export const { toggleRedeemCodeDrawer, toggleUpgradeModal, clearHolidaysCache } = adminCenterSlice.actions;
// Selectors for optimized access
export const selectHolidaysByDateRange = createSelector(