import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { UsersController } from '../controllers/users.controller'; // Import domain ports import { USER_REPOSITORY } from '@domain/ports/out/user.repository'; import { TypeOrmUserRepository } from '../../infrastructure/persistence/typeorm/repositories/typeorm-user.repository'; import { UserOrmEntity } from '../../infrastructure/persistence/typeorm/entities/user.orm-entity'; import { SubscriptionsModule } from '../subscriptions/subscriptions.module'; @Module({ imports: [ TypeOrmModule.forFeature([UserOrmEntity]), SubscriptionsModule, ], controllers: [UsersController], providers: [ { provide: USER_REPOSITORY, useClass: TypeOrmUserRepository, }, ], exports: [ USER_REPOSITORY, // optional, export if other modules need it ], }) export class UsersModule {}