Projekt

Obecné

Profil

Stáhnout (1.01 KB) Statistiky
| Větev: | Tag: | Revize:
1
import { createAsyncThunk } from '@reduxjs/toolkit'
2
import axiosInstance from '../../api/api'
3

    
4
const apiError =
5
    'Error while fetching data from the server, please try again later.'
6

    
7
export const getCatalogItems = createAsyncThunk(
8
    'catalog/getCatalogItems',
9
    async () => {
10
        try {
11
            const { data, status } = await axiosInstance.get('/catalog-items')
12
            if (status !== 200) {
13
                return Promise.reject(apiError)
14
            }
15
            return data
16
        } catch (err: any) {
17
            return Promise.reject(apiError)
18
        }
19
    }
20
)
21

    
22
export const getCatalogItem = createAsyncThunk(
23
    'catalog/getCatalogItem',
24
    async (id: string) => {
25
        try {
26
            const { data, status } = await axiosInstance.get(
27
                `/catalog-items/${id}`
28
            )
29
            if (status !== 200) {
30
                return Promise.reject(apiError)
31
            }
32
            return data
33
        } catch (err: any) {
34
            return Promise.reject(apiError)
35
        }
36
    }
37
)
(5-5/5)