2025-05-18 19:59:47 +08:00
|
|
|
import type { DynamicModule, ModuleMetadata } from "@nestjs/common";
|
|
|
|
import type { TypeOrmModuleOptions } from "@nestjs/typeorm";
|
|
|
|
|
2025-05-23 16:31:58 +08:00
|
|
|
import { Module } from "@nestjs/common";
|
2025-05-18 19:59:47 +08:00
|
|
|
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,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|