Files
gridpilot.gg/apps/api/src/persistence/postgres/PostgresAdminPersistenceModule.ts
Marc Mintel f06a00da1b
Some checks failed
CI / lint-typecheck (push) Failing after 1m15s
CI / tests (push) Has been skipped
CI / contract-tests (push) Has been skipped
CI / e2e-tests (push) Has been skipped
CI / comment-pr (push) Has been skipped
CI / commit-types (push) Has been skipped
api tests
2026-01-25 18:26:44 +01:00

26 lines
1.1 KiB
TypeScript

import { Module } from '@nestjs/common';
import { TypeOrmModule, getDataSourceToken } from '@nestjs/typeorm';
import type { DataSource } from 'typeorm';
import { AdminUserOrmEntity } from '@adapters/admin/persistence/typeorm/entities/AdminUserOrmEntity';
import { AdminUserOrmMapper } from '@adapters/admin/persistence/typeorm/mappers/AdminUserOrmMapper';
import { TypeOrmAdminUserRepository } from '@adapters/admin/persistence/typeorm/repositories/TypeOrmAdminUserRepository';
import { ADMIN_USER_REPOSITORY_TOKEN } from '../admin/AdminPersistenceTokens';
const typeOrmFeatureImports = [TypeOrmModule.forFeature([AdminUserOrmEntity])];
@Module({
imports: [...typeOrmFeatureImports],
providers: [
{ provide: AdminUserOrmMapper, useFactory: () => new AdminUserOrmMapper() },
{
provide: ADMIN_USER_REPOSITORY_TOKEN,
useFactory: (dataSource: DataSource, mapper: AdminUserOrmMapper) =>
new TypeOrmAdminUserRepository(dataSource, mapper),
inject: [getDataSourceToken(), AdminUserOrmMapper],
},
],
exports: [ADMIN_USER_REPOSITORY_TOKEN],
})
export class PostgresAdminPersistenceModule {}