38 lines
1.6 KiB
TypeScript
38 lines
1.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { PrismaService } from '../../shared/prisma.service';
|
|
import { ApplicationsController } from './presentation/controllers/applications.controller';
|
|
import { PrismaApplicationRepository } from './infrastructure/repositories/prisma-application.repository';
|
|
import { IApplication } from './domain/repositories/application.interface';
|
|
import { GetApplicationsHandler } from './application/handlers/get-applications.handler';
|
|
import { GetApplicationHandler } from './application/handlers/get-application.handler';
|
|
import { CreateApplicationHandler } from './application/handlers/create-application.handler';
|
|
import { UpdateApplicationHandler } from './application/handlers/update-application.handler';
|
|
import { DeleteApplicationHandler } from './application/handlers/delete-application.handler';
|
|
import { GetMeApplicationsHandler } from './application/handlers/get-me-applications.handler';
|
|
import { ApplicationValidator } from './application/validators/application.validator';
|
|
import { JwtAuthGuard } from '../../core/auth/guards/jwt-auth.guard';
|
|
import { CurrentUserGuard } from '../identity/presentation/guards/current-user.guard';
|
|
|
|
@Module({
|
|
imports: [],
|
|
providers: [
|
|
PrismaService,
|
|
PrismaApplicationRepository,
|
|
GetApplicationsHandler,
|
|
GetApplicationHandler,
|
|
CreateApplicationHandler,
|
|
UpdateApplicationHandler,
|
|
DeleteApplicationHandler,
|
|
GetMeApplicationsHandler,
|
|
ApplicationValidator,
|
|
JwtAuthGuard,
|
|
CurrentUserGuard,
|
|
{
|
|
provide: IApplication,
|
|
useClass: PrismaApplicationRepository,
|
|
},
|
|
],
|
|
controllers: [ApplicationsController],
|
|
})
|
|
export class ApplicationModule {}
|