import type { DynamicModule, ModuleMetadata } from "@nestjs/common"; import type { TypeOrmModuleOptions } from "@nestjs/typeorm"; import { Module } from "@nestjs/common"; import { TypeOrmModule } from "@nestjs/typeorm"; import { UniqueConstraint } from "../user/constraints/unique.constraint"; @Module({}) export class DatabaseModule { static forRoot(config: TypeOrmModuleOptions): DynamicModule { const providers: ModuleMetadata["providers"] = [UniqueConstraint]; return { global: true, module: DatabaseModule, imports: [TypeOrmModule.forRoot(config)], providers, exports: providers, }; } }