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;