import { TcpResponse, tcpOk } from '@/application/helpers' import { ValidationBuilder as Builder, Validator } from '@/application/validation' import { Consumer } from '@/application/events/consumer' import { {{ className }} } from '@/domain/use-cases' type TcpRequest = { name: string } type Model = Error | { success: boolean } export class {{ className }}Consumer extends Consumer { constructor (private readonly {{ className }}: {{ className }}) { super() } async perform (input: TcpRequest): Promise> { await this.{{ className }}(input) return tcpOk({ success: true }) } override buildValidators ({ name }: TcpRequest): Validator[] { return [ ...Builder.of({ value: name, fieldName: 'name' }).required().build(), ] } }