| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { Module } from '@nestjs/common';
- import { ConfigModule } from '@nestjs/config';
- import { PrismaModule } from './infrastructure/database/prisma.module';
- import { ServicesModule } from './infrastructure/services/services.module';
- import { UserController } from './presentation/controllers/user.controller';
- import { CreateUserUseCase } from './application/use-cases/create-user.use-case';
- import { UserRepository } from './infrastructure/database/repositories/user.repository';
- import { UpdateUserUseCase } from './application/use-cases/update-user.use-case';
- import { CompanyController } from './presentation/controllers/company.controller';
- import { CreateCompanyUseCase } from './application/use-cases/company/create-company.use-case';
- import { CompanyRepository } from './infrastructure/database/repositories/company.repository';
- import { CompanyMapper } from './infrastructure/mappers/company.mapper';
- import { FindAllCompaniesUseCase } from './application/use-cases/company/find-all-companies.use-case';
- import { DriverController } from './presentation/controllers/driver.controller';
- import { PlaceController } from './presentation/controllers/place.controller';
- import { VehiculeController } from './presentation/controllers/vehicle.controller';
- import { TrajetController } from './presentation/controllers/trajet.controller';
- import { VehiculeRepository } from './infrastructure/database/repositories/vehicule.repository';
- import { VehiculeMapper } from './infrastructure/mappers/vehicule.mapper';
- import { UpdateCompanyUseCase } from './application/use-cases/company/update-company.use-case';
- import { UserMapper } from './infrastructure/mappers/user.mapper';
- @Module({
- imports: [
- ConfigModule.forRoot({
- isGlobal: true,
- }),
- PrismaModule,
- ServicesModule,
- ],
- controllers: [
- UserController,
- CompanyController,
- DriverController,
- PlaceController,
- VehiculeController,
- TrajetController,
- ],
- providers: [
- // User related providers
- CreateUserUseCase,
- UpdateUserUseCase,
- UserMapper,
- {
- provide: 'IUserRepository',
- useClass: UserRepository,
- },
- // Company related providers
- CreateCompanyUseCase,
- FindAllCompaniesUseCase,
- UpdateCompanyUseCase,
- CompanyMapper,
- {
- provide: 'CompanyRepository',
- useClass: CompanyRepository,
- },
- // Vehicule related providers
- VehiculeMapper,
- {
- provide: 'VehiculeRepository',
- useClass: VehiculeRepository,
- },
- ],
- })
- export class AppModule {}
|