feat: add logging functionality with LoggerService; implement log entity and controller; enhance query processing with logging support
This commit is contained in:
@ -5,7 +5,6 @@ import { AdminGuard } from "src/api/guards/admin.guard";
|
||||
|
||||
@Controller("project")
|
||||
@UseGuards(ApiTokenGuard)
|
||||
@UseGuards(AdminGuard)
|
||||
export class ProjectController {
|
||||
constructor(
|
||||
@Inject(ProjectService)
|
||||
@ -16,4 +15,10 @@ export class ProjectController {
|
||||
createProject(@Body() body: { name: string }) {
|
||||
return this.projectService.create(body.name);
|
||||
}
|
||||
|
||||
@Put("create-without-db")
|
||||
@UseGuards(AdminGuard)
|
||||
createProjectWithoutDB(@Body() body: { name: string }) {
|
||||
return this.projectService.create(body.name, false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,11 +5,13 @@ import { ProjectService } from "./project.service";
|
||||
import { ProjectController } from "./project.controller";
|
||||
import { ApiModule } from "src/api/api.module";
|
||||
import { RedisModule } from "src/redis/redis.module";
|
||||
import { DatabaseManagerModule } from "src/databaseManager/database.manager.module";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
forwardRef(() => ApiModule),
|
||||
forwardRef(() => RedisModule),
|
||||
forwardRef(() => DatabaseManagerModule),
|
||||
TypeOrmModule.forFeature([Project]),
|
||||
],
|
||||
controllers: [ProjectController],
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
import { Inject, Injectable } from "@nestjs/common";
|
||||
import { forwardRef, Inject, Injectable } from "@nestjs/common";
|
||||
import { InjectRepository } from "@nestjs/typeorm";
|
||||
import { Repository } from "typeorm";
|
||||
import { Project } from "./entities/project.entity";
|
||||
import { RedisClient } from "src/redis/redis.service";
|
||||
import { DatabaseManagerService } from "src/databaseManager/database/database.manager.service";
|
||||
|
||||
@Injectable()
|
||||
export class ProjectService {
|
||||
@ -10,12 +11,20 @@ export class ProjectService {
|
||||
@InjectRepository(Project)
|
||||
private readonly projectRepository: Repository<Project>,
|
||||
@Inject(RedisClient)
|
||||
private readonly redisClient: RedisClient
|
||||
private readonly redisClient: RedisClient,
|
||||
@Inject(forwardRef(() => DatabaseManagerService))
|
||||
private readonly databaseManagerService: DatabaseManagerService
|
||||
) {}
|
||||
|
||||
create(name: string) {
|
||||
async create(name: string, createDatabase: boolean = true) {
|
||||
const project = this.projectRepository.create({ name });
|
||||
return this.projectRepository.save(project);
|
||||
const projectSaved = await this.projectRepository.save(project);
|
||||
|
||||
if (createDatabase) {
|
||||
await this.databaseManagerService.createDatabase(projectSaved.id);
|
||||
}
|
||||
|
||||
return projectSaved;
|
||||
}
|
||||
|
||||
async findById(id: string) {
|
||||
|
||||
Reference in New Issue
Block a user