37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import type { AuthUser } from '#shared/types/auth';
|
|
import type { AdminResources, AuthUserWithWarrens } from '~/shared/types/admin';
|
|
|
|
export const useAdminStore = defineStore('admin', {
|
|
state: () => ({
|
|
resources: {
|
|
users: [],
|
|
warrens: {},
|
|
} as AdminResources,
|
|
createUserDialogOpen: false,
|
|
editUserDialog: null as { user: AuthUserWithWarrens } | null,
|
|
deleteUserDialog: null as { user: AuthUser } | null,
|
|
}),
|
|
actions: {
|
|
openCreateUserDialog() {
|
|
this.createUserDialogOpen = true;
|
|
},
|
|
closeCreateUserDialog() {
|
|
this.createUserDialogOpen = false;
|
|
},
|
|
setEditUserDialog(user: AuthUserWithWarrens) {
|
|
this.editUserDialog = { user };
|
|
},
|
|
closeEditUserDialog() {
|
|
this.editUserDialog = null;
|
|
},
|
|
openDeleteUserDialog(user: AuthUser) {
|
|
this.deleteUserDialog = {
|
|
user: user,
|
|
};
|
|
},
|
|
closeDeleteUserDialog() {
|
|
this.deleteUserDialog = null;
|
|
},
|
|
},
|
|
});
|