import { forwardRef, Module } from "@nestjs/common"; import { TypeOrmModule } from "@nestjs/typeorm"; import { Query } from "./entities/query.entity"; import { QueryController } from "./handler/query.controller"; import { QueryExecuterService } from "./executer/query.executer.service"; import { QueryHandlerService } from "./handler/query.handler.service"; import { ProjectModule } from "src/project/project.module"; import { DatabaseManagerModule } from "src/databaseManager/database.manager.module"; import { CommandController } from "./command/command.controller"; import { ApiModule } from "src/api/api.module"; import { QueueModule } from "src/queue/queue.module"; import { FunctionEntity } from "./entities/function.entity"; import { FunctionService } from "src/query/function/function.service"; import { FunctionController } from "src/query/function/function.controller"; import { RedisManagerModule } from "src/redisManager/redisManager.module"; import { RedisModule } from "src/redis/redis.module"; import { SessionService } from "./session/session.service"; import { Log } from "./logger/entities/log.entity"; import { LoggerService } from "./logger/logger.service"; import { LoggerController } from "./logger/logger.controller"; import { ProjectSettingService } from "src/project/settings/project.setting.service"; import { ProjectSetting } from "src/project/settings/entities/project.setting.entity"; @Module({ imports: [ forwardRef(() => ProjectModule), forwardRef(() => DatabaseManagerModule), forwardRef(() => ApiModule), forwardRef(() => QueueModule), forwardRef(() => RedisModule), forwardRef(() => RedisManagerModule), TypeOrmModule.forFeature([Query, FunctionEntity, Log, ProjectSetting]), ], controllers: [ QueryController, CommandController, FunctionController, LoggerController, ], providers: [ QueryExecuterService, SessionService, LoggerService, QueryHandlerService, FunctionService, ProjectSettingService, ], exports: [ QueryExecuterService, TypeOrmModule, QueryHandlerService, LoggerService, ProjectSettingService, ], }) export class QueryModule {}