diff --git a/src/app.module.ts b/src/app.module.ts index 69c859e..1281a70 100755 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -7,13 +7,13 @@ import { ConfigModule } from "@nestjs/config"; import { ThrottlerModule } from "@nestjs/throttler"; import { TypeOrmModule } from "@nestjs/typeorm"; import { MailerModule } from "@nestjs-modules/mailer"; -import { TelegrafModule } from "nestjs-telegraf"; +// import { TelegrafModule } from "nestjs-telegraf"; import { bullMqConfig } from "./configs/bullmq.config"; import { cacheConfig } from "./configs/cache.config"; import { mailerConfig } from "./configs/mailer.config"; import { rateLimitConfig } from "./configs/rateLimit.config"; -import { telegrafConfig } from "./configs/telegraf.config"; +// import { telegrafConfig } from "./configs/telegraf.config"; import { databaseConfigs } from "./configs/typeorm.config"; import { HTTPLogger } from "./core/middlewares/logger.middleware"; import { AddressModule } from "./modules/address/address.module"; @@ -42,7 +42,7 @@ import { WalletsModule } from "./modules/wallets/wallets.module"; @Module({ imports: [ - TelegrafModule.forRootAsync(telegrafConfig()), + // TelegrafModule.forRootAsync(telegrafConfig()), MailerModule.forRootAsync(mailerConfig()), BullModule.forRootAsync(bullMqConfig()), ThrottlerModule.forRootAsync(rateLimitConfig()), diff --git a/src/configs/typeorm.config.ts b/src/configs/typeorm.config.ts index 8d8378f..9391ab2 100755 --- a/src/configs/typeorm.config.ts +++ b/src/configs/typeorm.config.ts @@ -13,7 +13,7 @@ export function databaseConfigs(): TypeOrmModuleAsyncOptions { username: configService.getOrThrow("DB_USER"), password: configService.getOrThrow("DB_PASS"), autoLoadEntities: true, - synchronize: configService.getOrThrow("NODE_ENV") == "production" ? false : true, + synchronize: configService.getOrThrow("NODE_ENV") == "production" ? false : false, logging: configService.getOrThrow("NODE_ENV") == "production" ? false : true, migrationsTableName: "typeorm_migrations", migrationsRun: false, diff --git a/src/modules/users/providers/admins.service.ts b/src/modules/users/providers/admins.service.ts index 9754e6c..b4bee9f 100755 --- a/src/modules/users/providers/admins.service.ts +++ b/src/modules/users/providers/admins.service.ts @@ -86,6 +86,16 @@ export class AdminsService { } /************************************************************ */ + async getAdminPermissions(userId: string) { + const user = await this.userRepository.findOne({ where: { id: userId }, relations: { roles: { permissions: true } } }); + if (!user) throw new BadRequestException(UserMessage.USER_NOT_FOUND); + + return { + permissions: user.roles[0].permissions, + }; + } + /************************************************************ */ + async getRoles(queryDto: SearchRolesQueryDto) { const { limit, skip } = PaginationUtils(queryDto); const queryBuilder = this.rolesRepository.createQueryBuilder("role"); diff --git a/src/modules/users/users.controller.ts b/src/modules/users/users.controller.ts index 8c06aaa..1666793 100755 --- a/src/modules/users/users.controller.ts +++ b/src/modules/users/users.controller.ts @@ -191,6 +191,13 @@ export class UsersController { return this.adminsService.createAdmin(createDto); } + @ApiOperation({ summary: "get admin permissions" }) + @AuthGuards() + @Get("admin-permissions") + getAdminPermissions(@UserDec("id") userId: string) { + return this.adminsService.getAdminPermissions(userId); + } + @ApiOperation({ summary: "get all permissions ==> admin route" }) @AuthGuards() @PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)