@koalarx/nest-cli
Version:
Biblioteca de CLI para criação de projetos utilizando Koala Nest
30 lines (25 loc) • 1.12 kB
text/typescript
import { ReadManyPersonHandler } from '@/application/person/read-many/read-many-person.handler'
import { ReadManyPersonRequest } from '@/application/person/read-many/read-many-person.request'
import { ReadManyPersonResponse } from '@/application/person/read-many/read-many-person.response'
import { IController } from '@koalarx/nest/core/controllers/base.controller'
import { Controller } from '@koalarx/nest/core/controllers/controller.decorator'
import { Get, Query } from '@nestjs/common'
import { ApiOkResponse } from '@nestjs/swagger'
import { PERSON_ROUTER_CONFIG } from './router.config'
(PERSON_ROUTER_CONFIG)
export class ReadManyPersonController
implements IController<ReadManyPersonRequest, ReadManyPersonResponse>
{
constructor(private readonly handler: ReadManyPersonHandler) {}
()
({ type: ReadManyPersonResponse })
async handle(
() query: ReadManyPersonRequest,
): Promise<ReadManyPersonResponse> {
const response = await this.handler.handle(query)
if (response.isFailure()) {
throw response.value
}
return response.value
}
}