Skip to content

Commit e4d29b4

Browse files
committed
feat: adapters e pipes para Client e Document
1 parent ad9439d commit e4d29b4

20 files changed

Lines changed: 125 additions & 24 deletions
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface IClientController<E, T, R> {
2+
create(createDto: E, pipe: any): Promise<R>
3+
findAllDocumentsByClient(request: any): Promise<any[]>
4+
findOneDocumentByClient(id: string, request: any): Promise<any[]>
5+
findAll(): Promise<R[]>
6+
findOne(id: string): Promise<R>
7+
update(id: string, updateDto: T): Promise<R>
8+
remove(id: string): Promise<R>
9+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export interface IDocumentController<T, U, R> {
2+
createPdfDocument(file: any, request: any): Promise<R>
3+
createWebDocument(createDto: T, request: any): Promise<R>
4+
findAll(): Promise<R[]>
5+
findOne(id: string): Promise<R>
6+
update(id: string, updateDto: U): Promise<R>
7+
remove(id: string): Promise<R>
8+
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { ClientEntity } from '@/domain/entities/client.entity'
22

33
export class UpdateClientInput implements Partial<ClientEntity> {
4-
name?: string
5-
email?: string
6-
password?: string
4+
constructor(
5+
public name?: string,
6+
public email?: string,
7+
public password?: string,
8+
) {}
79
}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { DocumentEntity } from '@/domain/entities/document.entity'
22

33
export class UpdateDocumentInput implements Partial<DocumentEntity> {
4-
title?: string
5-
content?: string
6-
sourceType?: string
7-
clientId?: string
4+
constructor(
5+
public title?: string,
6+
public content?: string,
7+
public sourceType?: string,
8+
public clientId?: string,
9+
) {}
810
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export class TokenInvalidoError extends Error {
2+
constructor() {
3+
super('Token de acesso inválido')
4+
this.name = 'TokenInvalidoError'
5+
}
6+
}

src/application/errors/client/email-ja-cadastrado.exception.ts renamed to src/application/errors/client/email-ja-cadastrado.error.ts

File renamed without changes.

src/application/errors/documents/documento-nao-encontrado.exception.ts renamed to src/application/errors/documents/documento-nao-encontrado.error.ts

File renamed without changes.

src/application/usecases/client/create-client.use-case.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CreateClientInput } from '@/application/dtos/client/create-client.input'
2-
import { EmailJaCadastradoError } from '@/application/errors/client/email-ja-cadastrado.exception'
2+
import { EmailJaCadastradoError } from '@/application/errors/client/email-ja-cadastrado.error'
33
import { IUseCase } from '@/application/usecases/use-case.interface'
44
import { ClientEntity } from '@/domain/entities/client.entity'
55
import { IClientRepository } from '@/domain/repositories/client.repository'

src/application/usecases/documents/find-one-document.use-case.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DocumentoNaoEncontradoError } from '@/application/errors/documents/documento-nao-encontrado.exception'
1+
import { DocumentoNaoEncontradoError } from '@/application/errors/documents/documento-nao-encontrado.error'
22
import { IUseCase } from '@/application/usecases/use-case.interface'
33
import { DocumentEntity } from '@/domain/entities/document.entity'
44
import { IDocumentRepository } from '@/domain/repositories/document.repository'
@@ -14,6 +14,6 @@ export class FindOneDocumentUseCase implements IUseCase {
1414
if (!documentFounded) {
1515
throw new DocumentoNaoEncontradoError(documentId)
1616
}
17-
return await this.documentRepository.document({ id: documentId })
17+
return documentFounded
1818
}
1919
}
Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
export abstract class ClientAdapter {}
1+
import { CreateClientInput } from '@/application/dtos/client/create-client.input'
2+
import { CreateClientDto } from '../dtos/client/create-client.dto'
3+
import { UpdateClientDto } from '../dtos/client/update-client.dto'
4+
import { UpdateClientInput } from '@/application/dtos/client/update-client.input'
5+
6+
export abstract class ClientAdapter {
7+
static createDtoToInput(dto: CreateClientDto): CreateClientInput {
8+
return new CreateClientInput(dto.email, dto.name, dto.password)
9+
}
10+
11+
static updateDtoToInput(dto: UpdateClientDto): UpdateClientInput {
12+
return new UpdateClientInput(dto.email, dto.name, dto.password)
13+
}
14+
}

0 commit comments

Comments
 (0)