forked from pterodactyl/panel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpermissions.ts
More file actions
25 lines (19 loc) · 754 Bytes
/
permissions.ts
File metadata and controls
25 lines (19 loc) · 754 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { SubuserPermission } from '@/state/server/subusers';
import { action, Action, thunk, Thunk } from 'easy-peasy';
import getSystemPermissions from '@/api/getSystemPermissions';
export interface GloablPermissionsStore {
data: SubuserPermission[];
setPermissions: Action<GloablPermissionsStore, SubuserPermission[]>;
getPermissions: Thunk<GloablPermissionsStore, void, {}, any, Promise<void>>;
}
const permissions: GloablPermissionsStore = {
data: [],
setPermissions: action((state, payload) => {
state.data = payload;
}),
getPermissions: thunk(async (actions) => {
const permissions = await getSystemPermissions();
actions.setPermissions(permissions);
}),
};
export default permissions;