File size: 1,908 Bytes
1e7308f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// static/components/api.js
export const API = {
    albums: {
        list: '/albums', // Vermutung basierend auf AlbumManager.js
        create: '/create_album',
        delete: (id) => `/delete_album/${id}`,
        update: (id) => `/update_album/${id}`,
    },
    categories: {
        list: '/categories', // Vermutung basierend auf CategoryManager.js
        create: '/create_category',
        delete: (id) => `/delete_category/${id}`,
        update: (id) => `/update_category/${id}`,
        merge: '/categories/merge'
    },
    statistics: {
        images: '/backend/stats',
        storage: '/backend/stats'
    }
};

export const APIHandler = {
    get: async (url) => {
        const response = await fetch(url);
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    },
    post: async (url, data) => {
        const response = await fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        });
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    },
    put: async (url, data) => {
        //PUT hinzufügen
        const response = await fetch(url, {
            method: 'PUT',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        });

        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    },
    delete: async (url) => {
        const response = await fetch(url, {
            method: 'DELETE'
        });
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    }
};