Projekt

Obecné

Profil

Stáhnout (1.3 KB) Statistiky
| Větev: | Tag: | Revize:
1
import { createAsyncThunk } from "@reduxjs/toolkit"
2
import { isAuthRequest, loginRequest } from "../../api/authservice"
3

    
4
export const login = createAsyncThunk(
5
    "user/login",
6
    async (payload: { username: string, password: string }) => {
7
        try {
8
            const response = await loginRequest(payload.username, payload.password)
9
            console.log(response)
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
            }
18
        } catch (err: any) {
19
            return Promise.reject(err.response.data)
20
        }
21
    }
22
)
23

    
24
export const checkAuth = createAsyncThunk(
25
    "user/isauth",
26
    async () => {
27
        try {
28
            const response = await isAuthRequest()
29
            console.log(response)
30
            if (response.status === 200) {
31
                return {
32
                    isLogged: response.data.isauth
33
                }
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
)
    (1-1/1)