├── .gitignore ├── .prettierrc ├── apps ├── api │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── nest-cli.json │ ├── package.json │ ├── prisma │ │ ├── dev.db │ │ ├── migrations │ │ │ ├── 20230221190122_init │ │ │ │ └── migration.sql │ │ │ └── migration_lock.toml │ │ ├── schema.prisma │ │ └── seed.ts │ ├── src │ │ ├── app.module.ts │ │ ├── auth │ │ │ ├── auth.controller.ts │ │ │ ├── auth.module.ts │ │ │ ├── auth.service.ts │ │ │ ├── enums │ │ │ │ └── index.ts │ │ │ ├── guards │ │ │ │ ├── index.ts │ │ │ │ ├── roles.guard.ts │ │ │ │ └── session.guard.ts │ │ │ ├── rbac-policy.ts │ │ │ └── strategy │ │ │ │ └── local.strategy.ts │ │ ├── employee-data │ │ │ ├── employee-data.controller.ts │ │ │ ├── employee-data.module.ts │ │ │ └── employee-data.service.ts │ │ ├── main.ts │ │ ├── prisma │ │ │ ├── prisma.module.ts │ │ │ └── prisma.service.ts │ │ └── user │ │ │ ├── user.controller.ts │ │ │ ├── user.module.ts │ │ │ └── user.service.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── types.d.ts └── react │ ├── .gitignore │ ├── .prettierrc │ ├── index.html │ ├── package.json │ ├── postcss.config.cjs │ ├── public │ └── e-corp.svg │ ├── src │ ├── App.tsx │ ├── assets │ │ ├── image │ │ │ └── mask.png │ │ └── svg │ │ │ └── logo.svg │ ├── components │ │ ├── common │ │ │ ├── ProtectedRoute.tsx │ │ │ └── index.ts │ │ ├── layout │ │ │ ├── Layout.tsx │ │ │ ├── Navbar.tsx │ │ │ └── index.ts │ │ ├── table │ │ │ ├── EmployeeTable.tsx │ │ │ ├── RoleDialog.tsx │ │ │ └── index.ts │ │ └── ui │ │ │ ├── Avatar.tsx │ │ │ ├── Button.tsx │ │ │ ├── Dialog.tsx │ │ │ ├── Menu.tsx │ │ │ ├── Select.tsx │ │ │ └── index.ts │ ├── index.css │ ├── lib │ │ ├── api.ts │ │ └── utils.ts │ ├── main.tsx │ ├── pages │ │ ├── AuthPage.tsx │ │ ├── LogoutPage.tsx │ │ ├── MainPage.tsx │ │ ├── ProfilePage.tsx │ │ └── index.ts │ ├── store │ │ ├── app.store.ts │ │ ├── auth.store.ts │ │ └── index.ts │ └── vite-env.d.ts │ ├── tailwind.config.cjs │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── package.json ├── pnpm-lock.yaml └── pnpm-workspace.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/.prettierrc -------------------------------------------------------------------------------- /apps/api/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/.eslintrc.js -------------------------------------------------------------------------------- /apps/api/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/.gitignore -------------------------------------------------------------------------------- /apps/api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/README.md -------------------------------------------------------------------------------- /apps/api/nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/nest-cli.json -------------------------------------------------------------------------------- /apps/api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/package.json -------------------------------------------------------------------------------- /apps/api/prisma/dev.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/prisma/dev.db -------------------------------------------------------------------------------- /apps/api/prisma/migrations/20230221190122_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/prisma/migrations/20230221190122_init/migration.sql -------------------------------------------------------------------------------- /apps/api/prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /apps/api/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/prisma/schema.prisma -------------------------------------------------------------------------------- /apps/api/prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/prisma/seed.ts -------------------------------------------------------------------------------- /apps/api/src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/app.module.ts -------------------------------------------------------------------------------- /apps/api/src/auth/auth.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/auth.controller.ts -------------------------------------------------------------------------------- /apps/api/src/auth/auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/auth.module.ts -------------------------------------------------------------------------------- /apps/api/src/auth/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/auth.service.ts -------------------------------------------------------------------------------- /apps/api/src/auth/enums/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/enums/index.ts -------------------------------------------------------------------------------- /apps/api/src/auth/guards/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/guards/index.ts -------------------------------------------------------------------------------- /apps/api/src/auth/guards/roles.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/guards/roles.guard.ts -------------------------------------------------------------------------------- /apps/api/src/auth/guards/session.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/guards/session.guard.ts -------------------------------------------------------------------------------- /apps/api/src/auth/rbac-policy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/rbac-policy.ts -------------------------------------------------------------------------------- /apps/api/src/auth/strategy/local.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/auth/strategy/local.strategy.ts -------------------------------------------------------------------------------- /apps/api/src/employee-data/employee-data.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/employee-data/employee-data.controller.ts -------------------------------------------------------------------------------- /apps/api/src/employee-data/employee-data.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/employee-data/employee-data.module.ts -------------------------------------------------------------------------------- /apps/api/src/employee-data/employee-data.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/employee-data/employee-data.service.ts -------------------------------------------------------------------------------- /apps/api/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/main.ts -------------------------------------------------------------------------------- /apps/api/src/prisma/prisma.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/prisma/prisma.module.ts -------------------------------------------------------------------------------- /apps/api/src/prisma/prisma.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/prisma/prisma.service.ts -------------------------------------------------------------------------------- /apps/api/src/user/user.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/user/user.controller.ts -------------------------------------------------------------------------------- /apps/api/src/user/user.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/user/user.module.ts -------------------------------------------------------------------------------- /apps/api/src/user/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/src/user/user.service.ts -------------------------------------------------------------------------------- /apps/api/tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/tsconfig.build.json -------------------------------------------------------------------------------- /apps/api/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/tsconfig.json -------------------------------------------------------------------------------- /apps/api/types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/api/types.d.ts -------------------------------------------------------------------------------- /apps/react/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/.gitignore -------------------------------------------------------------------------------- /apps/react/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/.prettierrc -------------------------------------------------------------------------------- /apps/react/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/index.html -------------------------------------------------------------------------------- /apps/react/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/package.json -------------------------------------------------------------------------------- /apps/react/postcss.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/postcss.config.cjs -------------------------------------------------------------------------------- /apps/react/public/e-corp.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/public/e-corp.svg -------------------------------------------------------------------------------- /apps/react/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/App.tsx -------------------------------------------------------------------------------- /apps/react/src/assets/image/mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/assets/image/mask.png -------------------------------------------------------------------------------- /apps/react/src/assets/svg/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/assets/svg/logo.svg -------------------------------------------------------------------------------- /apps/react/src/components/common/ProtectedRoute.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/common/ProtectedRoute.tsx -------------------------------------------------------------------------------- /apps/react/src/components/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProtectedRoute' 2 | -------------------------------------------------------------------------------- /apps/react/src/components/layout/Layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/layout/Layout.tsx -------------------------------------------------------------------------------- /apps/react/src/components/layout/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/layout/Navbar.tsx -------------------------------------------------------------------------------- /apps/react/src/components/layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Layout'; 2 | -------------------------------------------------------------------------------- /apps/react/src/components/table/EmployeeTable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/table/EmployeeTable.tsx -------------------------------------------------------------------------------- /apps/react/src/components/table/RoleDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/table/RoleDialog.tsx -------------------------------------------------------------------------------- /apps/react/src/components/table/index.ts: -------------------------------------------------------------------------------- 1 | export * from './EmployeeTable' 2 | -------------------------------------------------------------------------------- /apps/react/src/components/ui/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/Avatar.tsx -------------------------------------------------------------------------------- /apps/react/src/components/ui/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/Button.tsx -------------------------------------------------------------------------------- /apps/react/src/components/ui/Dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/Dialog.tsx -------------------------------------------------------------------------------- /apps/react/src/components/ui/Menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/Menu.tsx -------------------------------------------------------------------------------- /apps/react/src/components/ui/Select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/Select.tsx -------------------------------------------------------------------------------- /apps/react/src/components/ui/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/components/ui/index.ts -------------------------------------------------------------------------------- /apps/react/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/index.css -------------------------------------------------------------------------------- /apps/react/src/lib/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/lib/api.ts -------------------------------------------------------------------------------- /apps/react/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/lib/utils.ts -------------------------------------------------------------------------------- /apps/react/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/main.tsx -------------------------------------------------------------------------------- /apps/react/src/pages/AuthPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/pages/AuthPage.tsx -------------------------------------------------------------------------------- /apps/react/src/pages/LogoutPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/pages/LogoutPage.tsx -------------------------------------------------------------------------------- /apps/react/src/pages/MainPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/pages/MainPage.tsx -------------------------------------------------------------------------------- /apps/react/src/pages/ProfilePage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/pages/ProfilePage.tsx -------------------------------------------------------------------------------- /apps/react/src/pages/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/pages/index.ts -------------------------------------------------------------------------------- /apps/react/src/store/app.store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/store/app.store.ts -------------------------------------------------------------------------------- /apps/react/src/store/auth.store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/store/auth.store.ts -------------------------------------------------------------------------------- /apps/react/src/store/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth.store' 2 | -------------------------------------------------------------------------------- /apps/react/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/src/vite-env.d.ts -------------------------------------------------------------------------------- /apps/react/tailwind.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/tailwind.config.cjs -------------------------------------------------------------------------------- /apps/react/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/tsconfig.json -------------------------------------------------------------------------------- /apps/react/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/tsconfig.node.json -------------------------------------------------------------------------------- /apps/react/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/apps/react/vite.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladwulf/cwv-nestjs-rbac-tutorial/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "apps/*" 3 | --------------------------------------------------------------------------------