feat: add AdminGuard to DatabaseManagerController, ProjectController, and RedisManagerController for enhanced access control

This commit is contained in:
Boris D
2025-10-10 12:01:28 +03:00
parent 5a15833080
commit 5513dccc11
3 changed files with 7 additions and 0 deletions

View File

@ -3,6 +3,7 @@ import { DatabaseManagerService } from "./database.manager.service";
import { DatabaseNodeService } from "../databaseNode/database.node.service"; import { DatabaseNodeService } from "../databaseNode/database.node.service";
import { MigrationService } from "../migration/migration.service"; import { MigrationService } from "../migration/migration.service";
import { ApiTokenGuard } from "src/api/guards/api-token.guard"; import { ApiTokenGuard } from "src/api/guards/api-token.guard";
import { AdminGuard } from "src/api/guards/admin.guard";
@Controller("database") @Controller("database")
@UseGuards(ApiTokenGuard) @UseGuards(ApiTokenGuard)
@ -14,11 +15,13 @@ export class DatabaseManagerController {
) {} ) {}
@Post("create") @Post("create")
@UseGuards(AdminGuard)
createDatabase(@Body() body: { projectId: string }) { createDatabase(@Body() body: { projectId: string }) {
return this.databaseManagerService.createDatabase(body.projectId); return this.databaseManagerService.createDatabase(body.projectId);
} }
@Post("node/create") @Post("node/create")
@UseGuards(AdminGuard)
addDatabaseNode( addDatabaseNode(
@Body() @Body()
body: { body: {

View File

@ -1,9 +1,11 @@
import { Body, Controller, Inject, Put, UseGuards } from "@nestjs/common"; import { Body, Controller, Inject, Put, UseGuards } from "@nestjs/common";
import { ProjectService } from "./project.service"; import { ProjectService } from "./project.service";
import { ApiTokenGuard } from "src/api/guards/api-token.guard"; import { ApiTokenGuard } from "src/api/guards/api-token.guard";
import { AdminGuard } from "src/api/guards/admin.guard";
@Controller("project") @Controller("project")
@UseGuards(ApiTokenGuard) @UseGuards(ApiTokenGuard)
@UseGuards(AdminGuard)
export class ProjectController { export class ProjectController {
constructor( constructor(
@Inject(ProjectService) @Inject(ProjectService)

View File

@ -1,9 +1,11 @@
import { Body, Controller, Post, UseGuards } from "@nestjs/common"; import { Body, Controller, Post, UseGuards } from "@nestjs/common";
import { RedisNodeService } from "./redisNode/redis.node.service"; import { RedisNodeService } from "./redisNode/redis.node.service";
import { ApiTokenGuard } from "src/api/guards/api-token.guard"; import { ApiTokenGuard } from "src/api/guards/api-token.guard";
import { AdminGuard } from "src/api/guards/admin.guard";
@Controller("redis") @Controller("redis")
@UseGuards(ApiTokenGuard) @UseGuards(ApiTokenGuard)
@UseGuards(AdminGuard)
export class RedisManagerController { export class RedisManagerController {
constructor(private readonly redisNodeService: RedisNodeService) {} constructor(private readonly redisNodeService: RedisNodeService) {}