| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- .
- ├── apps
- │ └── box-mgnt-api
- │ ├── src
- │ │ ├── app.config.ts
- │ │ ├── app.module.ts
- │ │ ├── config
- │ │ │ └── env.validation.ts
- │ │ ├── global.d.ts
- │ │ ├── main.ts
- │ │ └── mgnt-backend
- │ │ ├── core
- │ │ │ ├── auth
- │ │ │ │ ├── auth.constants.ts
- │ │ │ │ ├── auth.controller.ts
- │ │ │ │ ├── auth.dto.ts
- │ │ │ │ ├── auth.interface.ts
- │ │ │ │ ├── auth.module.ts
- │ │ │ │ ├── auth.service.ts
- │ │ │ │ ├── config
- │ │ │ │ │ └── jwt.config.ts
- │ │ │ │ ├── decorators
- │ │ │ │ │ └── public.decorator.ts
- │ │ │ │ ├── dto
- │ │ │ │ │ └── 2fa.dto.ts
- │ │ │ │ ├── guards
- │ │ │ │ │ ├── jwt-auth.guard.ts
- │ │ │ │ │ ├── local-auth.guard.ts
- │ │ │ │ │ ├── mfa-stage.guard.ts
- │ │ │ │ │ └── rbac.guard.ts
- │ │ │ │ ├── strategies
- │ │ │ │ │ ├── jwt.strategy.ts
- │ │ │ │ │ └── local.strategy.ts
- │ │ │ │ ├── totp.helper.ts
- │ │ │ │ └── twofa.service.ts
- │ │ │ ├── core.module.ts
- │ │ │ ├── logging
- │ │ │ │ ├── login-log
- │ │ │ │ │ ├── login-log.controller.ts
- │ │ │ │ │ ├── login-log.module.ts
- │ │ │ │ │ └── login-log.service.ts
- │ │ │ │ ├── operation-log
- │ │ │ │ │ ├── operation-log.controller.ts
- │ │ │ │ │ ├── operation-log.module.ts
- │ │ │ │ │ └── operation-log.service.ts
- │ │ │ │ └── quota-log
- │ │ │ │ ├── quota-log.controller.ts
- │ │ │ │ ├── quota-log.module.ts
- │ │ │ │ └── quota-log.service.ts
- │ │ │ ├── menu
- │ │ │ │ ├── menu.constants.ts
- │ │ │ │ ├── menu.controller.ts
- │ │ │ │ ├── menu.dto.ts
- │ │ │ │ ├── menu.interface.ts
- │ │ │ │ ├── menu.module.ts
- │ │ │ │ └── menu.service.ts
- │ │ │ ├── role
- │ │ │ │ ├── role.constants.ts
- │ │ │ │ ├── role.controller.ts
- │ │ │ │ ├── role.dto.ts
- │ │ │ │ ├── role.module.ts
- │ │ │ │ └── role.service.ts
- │ │ │ └── user
- │ │ │ ├── user.constants.ts
- │ │ │ ├── user.controller.ts
- │ │ │ ├── user.dto.ts
- │ │ │ ├── user.module.ts
- │ │ │ └── user.service.ts
- │ │ ├── feature
- │ │ │ ├── ads
- │ │ │ │ ├── ads.controller.ts
- │ │ │ │ ├── ads.dto.ts
- │ │ │ │ ├── ads.module.ts
- │ │ │ │ └── ads.service.ts
- │ │ │ ├── category
- │ │ │ │ ├── category.controller.ts
- │ │ │ │ ├── category.dto.ts
- │ │ │ │ ├── category.module.ts
- │ │ │ │ └── category.service.ts
- │ │ │ ├── channel
- │ │ │ │ ├── channel.controller.ts
- │ │ │ │ ├── channel.dto.ts
- │ │ │ │ ├── channel.module.ts
- │ │ │ │ └── channel.service.ts
- │ │ │ ├── common
- │ │ │ │ ├── mongo-id.dto.ts
- │ │ │ │ └── status.enum.ts
- │ │ │ ├── feature.module.ts
- │ │ │ ├── mgnt-http-service
- │ │ │ │ ├── mgnt-http-service.config.ts
- │ │ │ │ ├── mgnt-http-service.module.ts
- │ │ │ │ └── mgnt-http.service.ts
- │ │ │ ├── oss
- │ │ │ │ ├── oss.config.ts
- │ │ │ │ ├── oss.controller.ts
- │ │ │ │ ├── oss.module.ts
- │ │ │ │ └── oss.service.ts
- │ │ │ ├── s3
- │ │ │ │ ├── s3.config.ts
- │ │ │ │ ├── s3.controller.ts
- │ │ │ │ ├── s3.module.ts
- │ │ │ │ └── s3.service.ts
- │ │ │ ├── sync-videomedia
- │ │ │ │ ├── sync-videomedia.controller.ts
- │ │ │ │ ├── sync-videomedia.module.ts
- │ │ │ │ └── sync-videomedia.service.ts
- │ │ │ ├── system-params
- │ │ │ │ ├── system-param.dto.ts
- │ │ │ │ ├── system-params.controller.ts
- │ │ │ │ ├── system-params.module.ts
- │ │ │ │ └── system-params.service.ts
- │ │ │ ├── tag
- │ │ │ │ ├── tag.controller.ts
- │ │ │ │ ├── tag.dto.ts
- │ │ │ │ ├── tag.module.ts
- │ │ │ │ └── tag.service.ts
- │ │ │ └── video-media
- │ │ │ ├── video-media.controller.ts
- │ │ │ ├── video-media.dto.ts
- │ │ │ ├── video-media.module.ts
- │ │ │ └── video-media.service.ts
- │ │ └── mgnt-backend.module.ts
- │ └── tsconfig.json
- ├── ARCHITECTURE_FLOW.md
- ├── BEFORE_AFTER.md
- ├── box-mgnt-note.md
- ├── box-nestjs-monorepo-init.md
- ├── DEPLOYMENT_CHECKLIST.md
- ├── DEVELOPER_GUIDE.md
- ├── IMPLEMENTATION_SUMMARY.md
- ├── libs
- │ ├── common
- │ │ ├── package.json
- │ │ ├── src
- │ │ │ ├── common.module.ts
- │ │ │ ├── config
- │ │ │ │ └── pino.config.ts
- │ │ │ ├── crypto
- │ │ │ │ └── aes-gcm.ts
- │ │ │ ├── decorators
- │ │ │ │ ├── auth-user.decorator.ts
- │ │ │ │ └── operation-log.decorator.ts
- │ │ │ ├── dto
- │ │ │ │ ├── page-list.dto.ts
- │ │ │ │ └── page-list-response.dto.ts
- │ │ │ ├── filters
- │ │ │ │ ├── all-exceptions.filter.ts
- │ │ │ │ ├── http-exception.filter.ts
- │ │ │ │ └── index.ts
- │ │ │ ├── guards
- │ │ │ │ ├── index.ts
- │ │ │ │ ├── mfa.guard.ts
- │ │ │ │ └── rate-limit.guard.ts
- │ │ │ ├── interceptors
- │ │ │ │ ├── correlation.interceptor.ts
- │ │ │ │ ├── logging.interceptor.ts
- │ │ │ │ ├── operation-log.interceptor.ts
- │ │ │ │ └── response.interceptor.ts
- │ │ │ ├── interfaces
- │ │ │ │ ├── api-response.interface.ts
- │ │ │ │ ├── index.ts
- │ │ │ │ ├── operation-logger.interface.ts
- │ │ │ │ └── response.interface.ts
- │ │ │ ├── services
- │ │ │ │ └── exception.service.ts
- │ │ │ ├── types
- │ │ │ │ └── fastify.d.ts
- │ │ │ └── utils
- │ │ │ └── image-lib.ts
- │ │ └── tsconfig.json
- │ ├── core
- │ │ ├── package.json
- │ │ ├── src
- │ │ └── tsconfig.json
- │ └── db
- │ ├── package.json
- │ ├── src
- │ │ ├── prisma
- │ │ │ ├── mongo-prisma.service.ts
- │ │ │ ├── mysql-prisma.service.ts
- │ │ │ └── prisma.module.ts
- │ │ ├── shared.module.ts
- │ │ └── utils.service.ts
- │ └── tsconfig.json
- ├── logs
- │ ├── error.log
- │ └── info.log
- ├── mongo-db-seeds.md
- ├── nest-cli.json
- ├── package.json
- ├── pnpm-lock.yaml
- ├── pnpm-workspace.yaml
- ├── prisma
- │ ├── mongo
- │ │ └── schema
- │ │ ├── ads-module.prisma
- │ │ ├── ads.prisma
- │ │ ├── category.prisma
- │ │ ├── channel.prisma
- │ │ ├── home.prisma
- │ │ ├── main.prisma
- │ │ ├── system-param.prisma
- │ │ ├── tag.prisma
- │ │ └── video-media.prisma
- │ └── mysql
- │ ├── migrations
- │ │ ├── 20251121082348_init_db
- │ │ │ └── migration.sql
- │ │ └── migration_lock.toml
- │ ├── schema
- │ │ ├── api-permission.prisma
- │ │ ├── login-log.prisma
- │ │ ├── main.prisma
- │ │ ├── main.prisma.md
- │ │ ├── menu.prisma
- │ │ ├── operation-log.prisma
- │ │ ├── quota-log.prisma
- │ │ ├── role-api-permission.prisma
- │ │ ├── role-menu.prisma
- │ │ ├── role.prisma
- │ │ ├── seeds
- │ │ │ ├── menu-seeds.ts
- │ │ │ ├── seed-menu.ts
- │ │ │ ├── SEED_REVIEW.md
- │ │ │ └── seed-user.ts
- │ │ ├── user.prisma
- │ │ └── user-role.prisma
- │ └── seed.ts
- ├── REFACTOR_README.md
- ├── REFACTOR_SUMMARY.md
- ├── structures.txt
- ├── tsconfig.base.json
- ├── tsconfig.json
- └── tsconfig.seed.json
- 60 directories, 174 files
|