76 lines
1.6 KiB
TypeScript
76 lines
1.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import {
|
|
Client,
|
|
DocumentType,
|
|
DocumentField,
|
|
Task,
|
|
Postprocessing,
|
|
PostprocessingAction,
|
|
PostprocessingLog,
|
|
ExportTarget,
|
|
Setting,
|
|
Kontonummer,
|
|
Document,
|
|
UserClient,
|
|
Email,
|
|
Attachment,
|
|
Content,
|
|
ApiKey,
|
|
CorrespondentSetting,
|
|
BarcodeTemplate,
|
|
InboxDocument,
|
|
InboxPostprocessingAction,
|
|
CorrespondentEmailMapping,
|
|
UserSettings,
|
|
} from './entities';
|
|
|
|
const entities = [
|
|
Client,
|
|
DocumentType,
|
|
DocumentField,
|
|
Task,
|
|
Postprocessing,
|
|
PostprocessingAction,
|
|
PostprocessingLog,
|
|
ExportTarget,
|
|
Setting,
|
|
Kontonummer,
|
|
Document,
|
|
UserClient,
|
|
Email,
|
|
Attachment,
|
|
Content,
|
|
ApiKey,
|
|
CorrespondentSetting,
|
|
BarcodeTemplate,
|
|
InboxDocument,
|
|
InboxPostprocessingAction,
|
|
CorrespondentEmailMapping,
|
|
UserSettings,
|
|
];
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forRootAsync({
|
|
imports: [ConfigModule],
|
|
inject: [ConfigService],
|
|
useFactory: (config: ConfigService) => ({
|
|
type: 'mysql' as const,
|
|
host: config.get<string>('DB_HOST', 'localhost'),
|
|
port: config.get<number>('DB_PORT', 3306),
|
|
username: config.get<string>('DB_USERNAME', 'root'),
|
|
password: config.get<string>('DB_PASSWORD', ''),
|
|
database: config.get<string>('DB_DATABASE', 'paperlessadd'),
|
|
entities,
|
|
synchronize: true,
|
|
charset: 'utf8mb4',
|
|
}),
|
|
}),
|
|
TypeOrmModule.forFeature(entities),
|
|
],
|
|
exports: [TypeOrmModule],
|
|
})
|
|
export class DatabaseModule {}
|