v0.9.46 Add event scheduler

This commit is contained in:
2026-03-17 09:48:09 -04:00
parent 3c62782a8d
commit fed5e75122
10 changed files with 1293 additions and 7 deletions

View File

@@ -102,7 +102,30 @@ export const api = {
updateAppName: (name) => req('PATCH', '/settings/app-name', { name }),
updateColors: (body) => req('PATCH', '/settings/colors', body),
registerCode: (code) => req('POST', '/settings/register', { code }),
updateTeamSettings: (body) => req('PATCH', '/settings/team', body), // body: { toolManagers: [groupId,...] }
updateTeamSettings: (body) => req('PATCH', '/settings/team', body),
// Schedule Manager
getEventTypes: () => req('GET', '/schedule/event-types'),
createEventType: (body) => req('POST', '/schedule/event-types', body),
updateEventType: (id, body) => req('PATCH', `/schedule/event-types/${id}`, body),
deleteEventType: (id) => req('DELETE', `/schedule/event-types/${id}`),
getEvents: (params = {}) => {
const qs = new URLSearchParams(params).toString();
return req('GET', `/schedule${qs ? '?' + qs : ''}`);
},
getEvent: (id) => req('GET', `/schedule/${id}`),
createEvent: (body) => req('POST', '/schedule', body),
updateEvent: (id, body) => req('PATCH', `/schedule/${id}`, body),
deleteEvent: (id) => req('DELETE', `/schedule/${id}`),
setAvailability: (id, response) => req('PUT', `/schedule/${id}/availability`, { response }),
deleteAvailability: (id) => req('DELETE', `/schedule/${id}/availability`),
getPendingAvailability: () => req('GET', '/schedule/me/pending'),
bulkAvailability: (responses) => req('POST', '/schedule/me/bulk-availability', { responses }),
importPreview: (file) => {
const fd = new FormData(); fd.append('file', file);
return fetch('/api/schedule/import/preview', { method: 'POST', headers: { Authorization: 'Bearer ' + localStorage.getItem('jama-token') }, body: fd }).then(r => r.json());
},
importConfirm: (rows) => req('POST', '/schedule/import/confirm', { rows }),
// User groups (Group Manager)
getMyUserGroups: () => req('GET', '/usergroups/me'),