Projekt

Obecné

Profil

Stáhnout (1.31 KB) Statistiky
| Větev: | Tag: | Revize:
1 930b05fd Schwobik
import { createAsyncThunk } from "@reduxjs/toolkit"
2 0efa284e Fantič
import { isAuthRequest, loginRequest } from "../../api/authservice"
3 930b05fd Schwobik
4
export const login = createAsyncThunk(
5
    "user/login",
6 5ed9692c Schwobik
    async (payload: { username: string, password: string }) => {
7
        try {
8 7c4cd2cd Fantič
            console.log("POST user/login");
9 5ed9692c Schwobik
            const response = await loginRequest(payload.username, payload.password)
10
            if (response.status === 200) {
11
                return {
12
                    username: payload.username,
13
                    role: response.data.role
14
                }
15
            } else {
16
                return Promise.reject(response.data ? response.data : "Login failed")
17 930b05fd Schwobik
            }
18 5ed9692c Schwobik
        } catch (err: any) {
19
            return Promise.reject(err.response.data)
20 930b05fd Schwobik
        }
21
    }
22 0efa284e Fantič
)
23
24
export const checkAuth = createAsyncThunk(
25
    "user/isauth",
26 84b0fbc3 Fantič
    async () => {
27 0efa284e Fantič
        try {
28
            const response = await isAuthRequest()
29
            console.log(response)
30
            if (response.status === 200) {
31
                return {
32 84b0fbc3 Fantič
                    isLogged: response.data.isauth
33 0efa284e Fantič
                }
34
            } else {
35
                return Promise.reject(response.data ? response.data : "Check authentication failed")
36
            }
37
        } catch (err: any) {
38
            return Promise.reject(err.response.data)
39
        }
40
    }
41 930b05fd Schwobik
)