openreplay/frontend/app/services/ProjectsService.ts
Shekar Siri 80462e4534
change(ui): projects settings (#2924)
* change(ui): projects revamtp (wip)

* change(ui): projects revamtp (wip)

* change(ui): projects revamp - project form

* change(ui): projects revamp - capture rate tab

* change(ui): projects revamp - gdpr

* change(ui): projects revamp - reset state

* change(ui): projects revamp - progress avatar of samplerate, scroll etc.,

* change(ui): projects revamp - sync projects in list

* change(ui): projects revamp - project menu improvements
2025-01-08 11:50:22 +01:00

47 lines
1.2 KiB
TypeScript

import BaseService from './BaseService';
export default class ProjectsService extends BaseService {
fetchGDPR = async (siteId: string) => {
const r = await this.client.get(`/${siteId}/gdpr`);
return await r.json();
};
saveGDPR = async (siteId: string, gdprData: any) => {
const r = await this.client.post(`/${siteId}/gdpr`, gdprData);
return await r.json();
};
fetchList = async () => {
const r = await this.client.get('/projects');
return await r.json();
};
saveProject = async (projectData: any): Promise<any> => {
try {
const response = await this.client.post('/projects', projectData);
return response.json();
} catch (error: any) {
if (error.response) {
const errorData = await error.response.json();
throw errorData.errors?.[0] || 'An error occurred while saving the project.';
}
throw 'An unexpected error occurred.';
}
};
removeProject = async (projectId: string) => {
const r = await this.client.delete(`/projects/${projectId}`);
return await r.json();
};
updateProject = async (projectId: string, projectData: any) => {
const r = await this.client.put(`/projects/${projectId}`, projectData);
return await r.json();
};
}