targo-frontend/src/modules/employee-list/services/schedule-presets-service.ts
Nic D 6dc1804918 refactor(employee-list): rework schedule preset selector, fix other ui issues, see notes
Add warning dialog when changes in an employee profile are unsaved.

Move schedule preset buttons from side of selector to side of each option in select menu.

optimize behavior of selector: will now switch to empty when deleting currently assigned preset, and will assign automatically any new or copied preset to current employee.
2026-02-03 13:09:46 -05:00

30 lines
1.3 KiB
TypeScript

import { api } from "src/boot/axios";
import type { SchedulePreset } from "src/modules/employee-list/models/schedule-presets.models";
import type { BackendResponse } from "src/modules/shared/models/backend-response.models";
export const SchedulePresetsService = {
createSchedulePresets: async (preset: SchedulePreset): Promise<BackendResponse<SchedulePreset>> => {
const response = await api.post(`/schedule-presets/create/`, preset);
return response.data;
},
updateSchedulePresets: async (preset: SchedulePreset): Promise<BackendResponse<boolean>> => {
const response = await api.patch(`/schedule-presets/update`, preset);
return response.data;
},
deleteSchedulePresets: async (preset_id: number): Promise<BackendResponse<boolean>> => {
const response = await api.delete(`/schedule-presets/delete/${preset_id}`);
return response.data;
},
getSchedulePresetsList: async (): Promise<BackendResponse<SchedulePreset[]>> => {
const response = await api.get(`/schedule-presets/find-list`);
return response.data;
},
applyPresets: async (preset_name: string, start_date: string) => {
const response = await api.post(`/schedule-presets/apply-presets/`, { preset: preset_name, start: start_date });
return response.data;
},
};