Files
Lucky_Wheel/apps/admin/src/main.ts
T
s.esmaeili c5a841c35f feat(rbac): implement full admin management, dynamic roles, permissions matrix, and workspace access control
- Add Workspace, Role, Permission, RolePermission, AdminRoleAssignment, and AdminWorkspaceAssignment models to Prisma schema\n- Create database migration and RBAC seed script\n- Implement PermissionsGuard, @RequirePermission decorator, and real-time permission resolution in JwtAdminStrategy\n- Implement AdminManagementModule with endpoints for managers CRUD, roles matrix, permissions catalog, and workspaces\n- Secure all sensitive admin controllers with granular permission requirements\n- Add useAuthStore helpers (can, canAny, fetchMe) and v-permission directive\n- Implement Desktop views: AdminListView, AdminFormDrawer (RTL right-side), RoleMatrixView, WorkspaceListView, and ForbiddenView\n- Implement Mobile views: MAdminListView, MAdminFormView (stepped mobile form), MRoleMatrixView, MWorkspaceListView, and MForbiddenView\n- Fix sticky header behavior across desktop and mobile shells\n- Update route guards and device detection logic for mobile prefixing
2026-10-02 16:29:23 +03:30

22 lines
567 B
TypeScript

import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css';
import './assets/fonts/fonts.css';
import { createPinia } from 'pinia';
import { createApp } from 'vue';
import App from './App.vue';
import { bindDeviceRouter } from './composables/useDevice';
import { setupPermissionDirective } from './directives/permission.directive';
import { router } from './router';
const app = createApp(App);
const pinia = createPinia();
app.use(pinia);
app.use(router);
app.use(Antd);
setupPermissionDirective(app);
bindDeviceRouter(router);
app.mount('#app');