All checks were successful
Dev CI / Backend — Lint (push) Successful in 10m23s
Dev CI / Backend — Unit Tests (push) Successful in 10m17s
Dev CI / Frontend — Lint & Type-check (push) Successful in 11m3s
Dev CI / Frontend — Unit Tests (push) Successful in 10m33s
Dev CI / Notify Failure (push) Has been skipped
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { ApiKeysController } from './api-keys.controller';
|
|
import { ApiKeysService } from './api-keys.service';
|
|
|
|
// ORM Entities
|
|
import { ApiKeyOrmEntity } from '@infrastructure/persistence/typeorm/entities/api-key.orm-entity';
|
|
import { UserOrmEntity } from '@infrastructure/persistence/typeorm/entities/user.orm-entity';
|
|
|
|
// Repositories
|
|
import { TypeOrmApiKeyRepository } from '@infrastructure/persistence/typeorm/repositories/typeorm-api-key.repository';
|
|
import { TypeOrmUserRepository } from '@infrastructure/persistence/typeorm/repositories/typeorm-user.repository';
|
|
|
|
// Repository tokens
|
|
import { API_KEY_REPOSITORY } from '@domain/ports/out/api-key.repository';
|
|
import { USER_REPOSITORY } from '@domain/ports/out/user.repository';
|
|
|
|
// Subscriptions (provides SUBSCRIPTION_REPOSITORY)
|
|
import { SubscriptionsModule } from '../subscriptions/subscriptions.module';
|
|
|
|
// Feature flag guard needs SubscriptionRepository (injected via SubscriptionsModule)
|
|
import { FeatureFlagGuard } from '../guards/feature-flag.guard';
|
|
|
|
@Module({
|
|
imports: [TypeOrmModule.forFeature([ApiKeyOrmEntity, UserOrmEntity]), SubscriptionsModule],
|
|
controllers: [ApiKeysController],
|
|
providers: [
|
|
ApiKeysService,
|
|
FeatureFlagGuard,
|
|
{
|
|
provide: API_KEY_REPOSITORY,
|
|
useClass: TypeOrmApiKeyRepository,
|
|
},
|
|
{
|
|
provide: USER_REPOSITORY,
|
|
useClass: TypeOrmUserRepository,
|
|
},
|
|
],
|
|
exports: [ApiKeysService],
|
|
})
|
|
export class ApiKeysModule {}
|