@koalarx/nest-cli
Version:
Biblioteca de CLI para criação de projetos utilizando Koala Nest
27 lines (22 loc) • 950 B
text/typescript
import { ReadPersonHandler } from '@/application/person/read/read-person.handler'
import { ReadPersonResponse } from '@/application/person/read/read-person.response'
import { IController } from '@koalarx/nest/core/controllers/base.controller'
import { Controller } from '@koalarx/nest/core/controllers/controller.decorator'
import { Get, Param } from '@nestjs/common'
import { ApiOkResponse } from '@nestjs/swagger'
import { PERSON_ROUTER_CONFIG } from './router.config'
(PERSON_ROUTER_CONFIG)
export class ReadPersonController
implements IController<null, ReadPersonResponse, string>
{
constructor(private readonly handler: ReadPersonHandler) {}
(':id')
({ type: ReadPersonResponse })
async handle(_, ('id') id: string): Promise<ReadPersonResponse> {
const response = await this.handler.handle(+id)
if (response.isFailure()) {
throw response.value
}
return response.value
}
}