[WIP] Skeleton of the admin part.

This commit is contained in:
NADAL Jean-Baptiste
2026-02-18 14:04:34 +01:00
parent 1fb0072fc7
commit 3abc6f6371
6 changed files with 592 additions and 11 deletions

View File

@@ -112,5 +112,39 @@ export const apiService = {
token = state.token || '';
})();
return `${API_BASE_URL}/download/${path}?token=${token}`;
},
async createScore(name: string, compositor: string): Promise<{ success: boolean; score?: any; error?: string }> {
const response = await api.post('/admin/scores', { name, compositor });
return response.data;
},
async updateScore(id: string, name: string, compositor: string): Promise<{ success: boolean; error?: string }> {
const response = await api.put(`/admin/scores/${id}`, { name, compositor });
return response.data;
},
async deleteScore(id: string): Promise<{ success: boolean; error?: string }> {
const response = await api.delete(`/admin/scores/${id}`);
return response.data;
},
async uploadPdf(scoreId: string, file: File, piece: string, instrument: string, version: string, key?: string, clef?: string, variant?: string, part?: string): Promise<{ success: boolean; path?: string; error?: string }> {
const formData = new FormData();
formData.append('file', file);
formData.append('piece', piece);
formData.append('instrument', instrument);
formData.append('version', version);
if (key) formData.append('key', key);
if (clef) formData.append('clef', clef);
if (variant) formData.append('variant', variant);
if (part) formData.append('part', part);
const response = await api.post(`/admin/scores/${scoreId}/upload`, formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
return response.data;
}
};