20 lines
809 B
TypeScript
20 lines
809 B
TypeScript
|
import { rawDataToServerSchedule, Schedule } from '@/api/server/schedules/getServerSchedules';
|
||
|
import http from '@/api/http';
|
||
|
|
||
|
type Data = Pick<Schedule, 'cron' | 'name' | 'isActive'> & { id?: number }
|
||
|
|
||
|
export default (uuid: string, schedule: Data): Promise<Schedule> => {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
http.post(`/api/client/servers/${uuid}/schedules${schedule.id ? `/${schedule.id}` : ''}`, {
|
||
|
is_active: schedule.isActive,
|
||
|
name: schedule.name,
|
||
|
minute: schedule.cron.minute,
|
||
|
hour: schedule.cron.hour,
|
||
|
day_of_month: schedule.cron.dayOfMonth,
|
||
|
day_of_week: schedule.cron.dayOfWeek,
|
||
|
})
|
||
|
.then(({ data }) => resolve(rawDataToServerSchedule(data.attributes)))
|
||
|
.catch(reject);
|
||
|
});
|
||
|
};
|