Revize fdf6c32d
Přidáno uživatelem Michal Schwob před asi 2 roky(ů)
frontend/src/features/Administration/userDetailSlice.tsx | ||
---|---|---|
1 | 1 |
import { createSlice } from '@reduxjs/toolkit' |
2 | 2 |
import {PermissionDto, UserDto} from '../../swagger/data-contracts' |
3 |
import {fetchUsers} from './userDetailThunks'
|
|
3 |
import {deleteUser, fetchUsers, savePermissions} from './userDetailThunks'
|
|
4 | 4 |
import {number} from "yup" |
5 | 5 |
|
6 | 6 |
export interface UsersDetailState { |
7 | 7 |
users: UserDto[] // list of all fetched items |
8 | 8 |
loading: boolean // whether the users are loading |
9 |
error?: string,
|
|
10 |
selectedUser?: UserDto,
|
|
9 |
error?: string |
|
10 |
selectedUser?: UserDto |
|
11 | 11 |
permissions?: PermissionDto |
12 |
isRequestCompleted: boolean |
|
12 | 13 |
} |
13 | 14 |
|
14 | 15 |
const initialState: UsersDetailState = { |
... | ... | |
16 | 17 |
loading: true, |
17 | 18 |
error: undefined, |
18 | 19 |
selectedUser: undefined, |
19 |
permissions: undefined |
|
20 |
permissions: undefined, |
|
21 |
isRequestCompleted: false |
|
20 | 22 |
} |
21 | 23 |
|
22 | 24 |
const usersDetailSlice = createSlice({ |
... | ... | |
34 | 36 |
...state, |
35 | 37 |
permissions: action.payload |
36 | 38 |
}), |
39 |
resetIsRequestCompleted: (state) => ({ |
|
40 |
...state, |
|
41 |
isRequestCompleted: false |
|
42 |
}), |
|
37 | 43 |
}, |
38 | 44 |
extraReducers: (builder) => { |
39 | 45 |
builder.addCase(fetchUsers.pending, (state) => ({ |
... | ... | |
50 | 56 |
loading: false, |
51 | 57 |
error: action.error.message as string, |
52 | 58 |
})) |
59 |
builder.addCase(savePermissions.fulfilled, (state, action) => ({ |
|
60 |
...state, |
|
61 |
isRequestCompleted: true, |
|
62 |
})) |
|
63 |
builder.addCase(deleteUser.fulfilled, (state, action) => ({ |
|
64 |
...state, |
|
65 |
isRequestCompleted: true, |
|
66 |
})) |
|
53 | 67 |
}, |
54 | 68 |
}) |
55 | 69 |
|
... | ... | |
59 | 73 |
consumeError, |
60 | 74 |
setSelectedUser, |
61 | 75 |
setSelectedUserPermissions, |
76 |
resetIsRequestCompleted |
|
62 | 77 |
} = usersDetailSlice.actions |
63 | 78 |
const usersDetailReducer = usersDetailSlice.reducer |
64 | 79 |
export default usersDetailReducer |
Také k dispozici: Unified diff
Administation page finished
re #9818