/* eslint-disable */ import { ref } from "vue"; import { defineStore } from "pinia"; import { SchedulePresetsService } from "src/modules/employee-list/services/schedule-presets-service"; import { SchedulePreset, SchedulePresetFrontend } from "src/modules/employee-list/models/schedule-presets.models"; export const useSchedulePresetsStore = defineStore('schedule_presets_store', () => { const schedule_presets = ref([new SchedulePreset]); const current_schedule_preset = ref(new SchedulePresetFrontend); const is_manager_open = ref(false); const setCurrentSchedulePreset = (preset_id: number) => { if (preset_id === -1) { current_schedule_preset.value = new SchedulePresetFrontend; return; } current_schedule_preset.value = new SchedulePresetFrontend(schedule_presets.value.find(preset => preset.id === preset_id)!) }; const openSchedulePresetManager = (preset_id: number) => { if (preset_id === -1) { current_schedule_preset.value = new SchedulePresetFrontend; } else { setCurrentSchedulePreset(preset_id); } is_manager_open.value = true; }; const createSchedulePreset = async (preset: SchedulePreset): Promise => { try { const response = await SchedulePresetsService.createSchedulePresets(preset); return response.success; } catch (error) { console.error('DEV ERROR || error while creating schedule preset: ', error); return false; } }; const updateSchedulePreset = async (preset: SchedulePreset): Promise => { try { const response = await SchedulePresetsService.updateSchedulePresets(preset); return response.success; } catch (error) { console.error('DEV ERROR || error while updating schedule preset: ', error); return false; } }; const deleteSchedulePreset = async (preset_id: number): Promise => { try { await SchedulePresetsService.deleteSchedulePresets(preset_id); return true; } catch (error) { console.error('DEV ERROR || error while deleting schedule preset: ', error); return false } }; const findSchedulePresetList = async (): Promise => { try { const response = await SchedulePresetsService.getSchedulePresetsList(); if (response.success && response.data) schedule_presets.value = response.data; return response.success; } catch (error) { console.error('DEV ERROR || error while searching for schedule presets: ', error); return false } }; const applySchedulePreset = async (): Promise => { try { return true; } catch (error) { console.error('DEV ERROR || error while building schedule: ', error); return false } }; return { schedule_presets, current_schedule_preset, is_manager_open, setCurrentSchedulePreset, openSchedulePresetManager, createSchedulePreset, updateSchedulePreset, deleteSchedulePreset, findSchedulePresetList, applySchedulePreset, } })