Projekt

Obecné

Profil

Stáhnout (1.33 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 (payload: {
27
        isauth: boolean
28
    }) => {
29
        try {
30
            const response = await isAuthRequest()
31
            console.log(response)
32
            if (response.status === 200) {
33
                return {
34
                    isLogged: payload.isauth
35
                }
36
            } else {
37
                return Promise.reject(response.data ? response.data : "Check authentication failed")
38
            }
39
        } catch (err: any) {
40
            return Promise.reject(err.response.data)
41
        }
42
    }
43
)
    (1-1/1)