From 08d76843a381bc2fff446123548d077b3e89eb8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Myk=C3=A3o?= Date: Tue, 25 Apr 2023 19:01:57 -0300 Subject: [PATCH 1/3] feat: adds update provider user --- .../repositories/provider-user/index.ts | 5 +- .../update-provider-user.repository.ts | 18 ++++++ .../services/provider-user/index.ts | 5 +- .../update-provider-user.service.ts | 41 ++++++++++++++ src/domain/errors/index.ts | 2 + .../errors/update-provider-user.error.ts | 6 ++ .../usecases/update-provider-user.usecase.ts | 25 +++++++++ src/infra/database/index.ts | 3 +- .../database/update-provider-user.database.ts | 56 +++++++++++++++++++ .../modules/update-provider-user.module.ts | 22 ++++++++ .../controllers/provider-user/index.ts | 5 +- .../update-provider-user.controller.ts | 31 ++++++++++ 12 files changed, 212 insertions(+), 7 deletions(-) create mode 100644 src/application/contracts/repositories/provider-user/update-provider-user.repository.ts create mode 100644 src/application/services/provider-user/update-provider-user.service.ts create mode 100644 src/domain/errors/update-provider-user.error.ts create mode 100644 src/domain/usecases/update-provider-user.usecase.ts create mode 100644 src/infra/database/update-provider-user.database.ts create mode 100644 src/main/modules/update-provider-user.module.ts create mode 100644 src/presenter/controllers/provider-user/update-provider-user.controller.ts diff --git a/src/application/contracts/repositories/provider-user/index.ts b/src/application/contracts/repositories/provider-user/index.ts index 388c25e..e2f3e48 100644 --- a/src/application/contracts/repositories/provider-user/index.ts +++ b/src/application/contracts/repositories/provider-user/index.ts @@ -1,4 +1,5 @@ -export * from './insert-provider-user.repository' -export * from './save-token-provider-user.repository' export * from './find-provider-user-by-email.repository' export * from './find-provider-user-by-id.repository' +export * from './insert-provider-user.repository' +export * from './save-token-provider-user.repository' +export * from './update-provider-user.repository' diff --git a/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts new file mode 100644 index 0000000..d016451 --- /dev/null +++ b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts @@ -0,0 +1,18 @@ +/* +1- importar a entidade +2- importar o caso de uso result +3- exportar uma interface com o nome da feat + repository onde dentro vai uma propriedade com o nome da feat e em seguida, dentro dos parenteses, vai receber um data: com o nome da feat + repositoryParams => e que vai ter que ser uma Promise do tipo +4- exportar as tipagens, dizendo que o UpdateProviderUserRepositoryParamsé igual ao UpdateProviderUserUseCaseParams +5- exportar as tipagens, dizendo que o UpdateProviderUserRepositoryResult é igual a Entity e o error +*/ + +import { ProviderUserEntity } from '@/domain/entities' +import { UpdateProviderUserUseCaseParams } from '@/domain/usecases' + +export interface UpdateProviderUserRepository { + updateProviderUser: (data: UpdateProviderUserRepositoryParams) => Promise +} + +export type UpdateProviderUserRepositoryParams = UpdateProviderUserUseCaseParams + +export type UpdateProviderUserRepositoryResult = ProviderUserEntity | Error diff --git a/src/application/services/provider-user/index.ts b/src/application/services/provider-user/index.ts index d7453fd..356ef3c 100644 --- a/src/application/services/provider-user/index.ts +++ b/src/application/services/provider-user/index.ts @@ -1,3 +1,4 @@ -export * from './register-provider-user.service' -export * from './login-provider-user.service' export * from './load-provider-user.service' +export * from './login-provider-user.service' +export * from './register-provider-user.service' +export * from './update-provider-user.service' diff --git a/src/application/services/provider-user/update-provider-user.service.ts b/src/application/services/provider-user/update-provider-user.service.ts new file mode 100644 index 0000000..9340231 --- /dev/null +++ b/src/application/services/provider-user/update-provider-user.service.ts @@ -0,0 +1,41 @@ +/* +1- importar updateUserRepository +2- importar os UseCase's +3- importar o Inject e o Injectable +4- fazer o @injectable() e imediatamente em baixo +exportar uma classe com nom UpdateProviderUserService que vai implementar o UpdateProviderUserUseCase +abrir uma chave e criar um constructor +com o @Inject abrir parênteses e escrever o updateProviderUserRepository +colocar uma 'chave' privada chamada private e uma 'placa' sinalizando readonly para uma propriedade que nao pode ser alterada que é a providerUserRespository que vai armazenar o UpdateProviderUserRepository depois so abrir uma chave e passar para a proxima etapa +fazemos um função assícrona publica com o metodo execute que veio la da interface feita no caso de uso com o (params: UpdateProviderUserUseCasePamrs) que vai receber uma Promisie do tipo abrimos a chave {} e dentro vamos fazer uma const changeProvideruser +e nessa constante vamos por um await e chamar providerUserRepository de dentro da classe UpdateProviderUserService com o this e mais um . pra chamar o updateProviderUser que fizemos la no repository e por params dentro de parenteses +depois fazemos um if (!updateProviderUser) { + return new Error('Error when updating provider user') +} + +return updateProviderUser +*/ + +import { UpdateProviderUserRepository } from '@/application/contracts/repositories/provider-user' +import { + UpdateProviderUserUseCase, + UpdateProviderUserUseCaseParams, + UpdateProviderUserUseCaseResult +} from '@/domain/usecases' +import { Inject, Injectable } from '@nestjs/common' + +@Injectable() +export class UpdateProviderUserService implements UpdateProviderUserUseCase { + constructor( + @Inject('UpdateProviderUserRepository') private readonly providerUserRepository: UpdateProviderUserRepository + ) {} + + public async execute(params: UpdateProviderUserUseCaseParams): Promise { + const updatedProviderUser = await this.providerUserRepository.updateProviderUser(params) + + if (!updatedProviderUser) { + return new Error('Error when updating provider User') + } + return updatedProviderUser + } +} diff --git a/src/domain/errors/index.ts b/src/domain/errors/index.ts index 9d02af5..e4787c1 100644 --- a/src/domain/errors/index.ts +++ b/src/domain/errors/index.ts @@ -1,7 +1,9 @@ export * from './already-exists.error' export * from './create-provider-user.error' +export * from './create-raffle.error' export * from './create-susbscriber-user.error' export * from './invalid-email.error' export * from './invalid-password.error' export * from './loading-login-user-provider-data.error' export * from './not-found.error' +export * from './update-provider-user.error' diff --git a/src/domain/errors/update-provider-user.error.ts b/src/domain/errors/update-provider-user.error.ts new file mode 100644 index 0000000..051bdea --- /dev/null +++ b/src/domain/errors/update-provider-user.error.ts @@ -0,0 +1,6 @@ +export class UpdateProviderUserError extends Error { + constructor() { + super('Error when updating provider user') + this.name = 'UpdateProviderUserError' + } +} diff --git a/src/domain/usecases/update-provider-user.usecase.ts b/src/domain/usecases/update-provider-user.usecase.ts new file mode 100644 index 0000000..c2418d9 --- /dev/null +++ b/src/domain/usecases/update-provider-user.usecase.ts @@ -0,0 +1,25 @@ +import { Gender } from '../enums' +import { ProviderUserEntity } from '../entities' + +export interface UpdateProviderUserUseCase { + execute(params: UpdateProviderUserUseCaseParams): Promise +} + +export type UpdateProviderUserUseCaseParams = { + id?: string + name: string + email: string + password: string + gender?: Gender + dateOfBirth?: Date + phone?: string + address?: { + street: string + city: string + state: string + country: string + zipCode: string + } +} + +export type UpdateProviderUserUseCaseResult = ProviderUserEntity | Error diff --git a/src/infra/database/index.ts b/src/infra/database/index.ts index 38acbf6..b29bea9 100644 --- a/src/infra/database/index.ts +++ b/src/infra/database/index.ts @@ -1,3 +1,4 @@ export * from './provider-user.database' -export * from './subscriber-user.database' export * from './raffle.database' +export * from './subscriber-user.database' +export * from './update-provider-user.database' diff --git a/src/infra/database/update-provider-user.database.ts b/src/infra/database/update-provider-user.database.ts new file mode 100644 index 0000000..0886fc1 --- /dev/null +++ b/src/infra/database/update-provider-user.database.ts @@ -0,0 +1,56 @@ +/* +1- vamos importar os repositorys +2- importar injectable +3-importar o prismaService +4- fazer um injectable e imediatamente me baixo uma classe UpdateProviderUserDatabase que vai implementar a classe UpdateProviderUserRepository +abrimos a chave e fazemos um constructo com uma chave privada prisma que vai receber o PrismaService de colocamos o {} no final +agr vamos fazer uma funcção async com o nome updatedProviderUser que vai receber como parametro um (data: UpdateProviderUserRepositoryParams) que é uma Promisie { + aqui vamos criar uma constante updatedProviderUser que vai receber o await, um this que vai bucar o prisma, dentro do prisma o providerUsers e vai usar o metodo update do prisma pra dizer as informações que serão atualizadas. + + em baixo nos faremos um if com parametro !updatedProviderUser que vai retornar um new Error + + caso ocorra tudo bem fazemos um return com a id e as propriedades que ele pode alterar. +} +*/ + +import { + UpdateProviderUserRepository, + UpdateProviderUserRepositoryParams, + UpdateProviderUserRepositoryResult +} from '@/application/contracts/repositories/provider-user' +import { Injectable } from '@nestjs/common' +import { PrismaService } from './config/prisma.config' + +@Injectable() +export class UpdateProviderUserDatabase implements UpdateProviderUserRepository { + constructor(private prisma: PrismaService) {} + + async updateProviderUser(data: UpdateProviderUserRepositoryParams): Promise { + const { id, name, email, password, gender, dateOfBirth, phone, address } = data + + const optionalProps = { + ...(gender && { gender }), + ...(dateOfBirth && { dateOfBirth }), + ...(phone && { phone }), + ...(address && { address }) + } + + const updateData = { name, email, password, ...optionalProps } + + const updatedProviderUser = await this.prisma.providerUsers.update({ + where: { id }, + data: updateData + }) + + if (!updatedProviderUser) { + return new Error('Error when updating provider user') + } + + return { + id: updatedProviderUser.id, + name: updatedProviderUser.name, + email: updatedProviderUser.email, + password: updatedProviderUser.password + } + } +} diff --git a/src/main/modules/update-provider-user.module.ts b/src/main/modules/update-provider-user.module.ts new file mode 100644 index 0000000..a84df5b --- /dev/null +++ b/src/main/modules/update-provider-user.module.ts @@ -0,0 +1,22 @@ +import { UpdateProviderUserService } from '@/application/services/provider-user/update-provider-user.service' +import { Module } from '@nestjs/common' +import { UpdateProviderUserDatabase } from '@/infra/database' +import { PrismaService } from '@/infra/database/config/prisma.config' +import { UpdateProviderUserController } from '@/presenter/controllers/provider-user' + +@Module({ + imports: [], + controllers: [UpdateProviderUserController], + providers: [ + { + provide: 'UpdateProviderUserRepository', + useClass: UpdateProviderUserDatabase + }, + { + provide: 'UpdateProviderUserUseCase', + useClass: UpdateProviderUserService + }, + PrismaService + ] +}) +export class UpdateProviderUserModule {} diff --git a/src/presenter/controllers/provider-user/index.ts b/src/presenter/controllers/provider-user/index.ts index cbb05dc..72106b6 100644 --- a/src/presenter/controllers/provider-user/index.ts +++ b/src/presenter/controllers/provider-user/index.ts @@ -1,3 +1,4 @@ -export * from './register-provider-user.controller' -export * from './login-provider-user.controller' export * from './load-provider-user.controller' +export * from './login-provider-user.controller' +export * from './register-provider-user.controller' +export * from './update-provider-user.controller' diff --git a/src/presenter/controllers/provider-user/update-provider-user.controller.ts b/src/presenter/controllers/provider-user/update-provider-user.controller.ts new file mode 100644 index 0000000..3b96385 --- /dev/null +++ b/src/presenter/controllers/provider-user/update-provider-user.controller.ts @@ -0,0 +1,31 @@ +import { UpdateProviderUserUseCase } from '@/domain/usecases' +import { Body, Controller, Inject, Put, Res } from '@nestjs/common' + +@Controller('update/provider-user') +export class UpdateProviderUserController { + constructor( + @Inject('UpdateProviderUserUseCase') private readonly updateProviderUserService: UpdateProviderUserUseCase + ) {} + + @Put() + async handle( + @Body('name') name: string, + @Body('email') email: string, + @Body('password') password: string, + @Res() res: any + ): Promise { + const providerUser = await this.updateProviderUserService.execute({ + name, + email, + password + }) + + if (providerUser instanceof Error) { + return res.status(400).json({ + message: providerUser.message + }) + } + + return res.status(200).json({ providerUser }) + } +} From 485d4b47c3a00fcd3c708984a2ca4e76666c5ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Myk=C3=A3o?= Date: Thu, 27 Apr 2023 20:52:23 -0300 Subject: [PATCH 2/3] refactor: deleted comment and changed error --- .../update-provider-user.repository.ts | 8 ------- .../update-provider-user.service.ts | 22 ++----------------- .../errors/update-provider-user.error.ts | 2 +- 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts index d016451..9ea548e 100644 --- a/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts +++ b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts @@ -1,11 +1,3 @@ -/* -1- importar a entidade -2- importar o caso de uso result -3- exportar uma interface com o nome da feat + repository onde dentro vai uma propriedade com o nome da feat e em seguida, dentro dos parenteses, vai receber um data: com o nome da feat + repositoryParams => e que vai ter que ser uma Promise do tipo -4- exportar as tipagens, dizendo que o UpdateProviderUserRepositoryParamsé igual ao UpdateProviderUserUseCaseParams -5- exportar as tipagens, dizendo que o UpdateProviderUserRepositoryResult é igual a Entity e o error -*/ - import { ProviderUserEntity } from '@/domain/entities' import { UpdateProviderUserUseCaseParams } from '@/domain/usecases' diff --git a/src/application/services/provider-user/update-provider-user.service.ts b/src/application/services/provider-user/update-provider-user.service.ts index 9340231..3eb5359 100644 --- a/src/application/services/provider-user/update-provider-user.service.ts +++ b/src/application/services/provider-user/update-provider-user.service.ts @@ -1,21 +1,3 @@ -/* -1- importar updateUserRepository -2- importar os UseCase's -3- importar o Inject e o Injectable -4- fazer o @injectable() e imediatamente em baixo -exportar uma classe com nom UpdateProviderUserService que vai implementar o UpdateProviderUserUseCase -abrir uma chave e criar um constructor -com o @Inject abrir parênteses e escrever o updateProviderUserRepository -colocar uma 'chave' privada chamada private e uma 'placa' sinalizando readonly para uma propriedade que nao pode ser alterada que é a providerUserRespository que vai armazenar o UpdateProviderUserRepository depois so abrir uma chave e passar para a proxima etapa -fazemos um função assícrona publica com o metodo execute que veio la da interface feita no caso de uso com o (params: UpdateProviderUserUseCasePamrs) que vai receber uma Promisie do tipo abrimos a chave {} e dentro vamos fazer uma const changeProvideruser -e nessa constante vamos por um await e chamar providerUserRepository de dentro da classe UpdateProviderUserService com o this e mais um . pra chamar o updateProviderUser que fizemos la no repository e por params dentro de parenteses -depois fazemos um if (!updateProviderUser) { - return new Error('Error when updating provider user') -} - -return updateProviderUser -*/ - import { UpdateProviderUserRepository } from '@/application/contracts/repositories/provider-user' import { UpdateProviderUserUseCase, @@ -33,8 +15,8 @@ export class UpdateProviderUserService implements UpdateProviderUserUseCase { public async execute(params: UpdateProviderUserUseCaseParams): Promise { const updatedProviderUser = await this.providerUserRepository.updateProviderUser(params) - if (!updatedProviderUser) { - return new Error('Error when updating provider User') + if (updatedProviderUser instanceof Error) { + return updatedProviderUser } return updatedProviderUser } diff --git a/src/domain/errors/update-provider-user.error.ts b/src/domain/errors/update-provider-user.error.ts index 051bdea..7ef2e53 100644 --- a/src/domain/errors/update-provider-user.error.ts +++ b/src/domain/errors/update-provider-user.error.ts @@ -1,6 +1,6 @@ export class UpdateProviderUserError extends Error { constructor() { - super('Error when updating provider user') + super('Error when updating provider user') this.name = 'UpdateProviderUserError' } } From 54ce443744477a5e55a0956dada52a5a61fbea9f Mon Sep 17 00:00:00 2001 From: "teoian.quaresma" Date: Thu, 27 Apr 2023 22:01:08 -0300 Subject: [PATCH 3/3] refactor: fix conflicts --- .../update-provider-user.repository.ts | 2 +- .../update-provider-user.service.ts | 2 +- src/domain/usecases/provider-user/index.ts | 5 ++- .../update-provider-user.usecase.ts | 4 +- src/infra/database/provider-user.database.ts | 37 ++++++++++++++++++- .../database/update-provider-user.database.ts | 15 -------- src/main/modules/provider-user.module.ts | 1 + .../update-provider-user.controller.ts | 2 +- 8 files changed, 44 insertions(+), 24 deletions(-) rename src/domain/usecases/{ => provider-user}/update-provider-user.usecase.ts (83%) diff --git a/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts index 9ea548e..6cae0b3 100644 --- a/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts +++ b/src/application/contracts/repositories/provider-user/update-provider-user.repository.ts @@ -1,5 +1,5 @@ import { ProviderUserEntity } from '@/domain/entities' -import { UpdateProviderUserUseCaseParams } from '@/domain/usecases' +import { UpdateProviderUserUseCaseParams } from '@/domain/usecases/provider-user' export interface UpdateProviderUserRepository { updateProviderUser: (data: UpdateProviderUserRepositoryParams) => Promise diff --git a/src/application/services/provider-user/update-provider-user.service.ts b/src/application/services/provider-user/update-provider-user.service.ts index 3eb5359..8e77b21 100644 --- a/src/application/services/provider-user/update-provider-user.service.ts +++ b/src/application/services/provider-user/update-provider-user.service.ts @@ -3,7 +3,7 @@ import { UpdateProviderUserUseCase, UpdateProviderUserUseCaseParams, UpdateProviderUserUseCaseResult -} from '@/domain/usecases' +} from '@/domain/usecases/provider-user' import { Inject, Injectable } from '@nestjs/common' @Injectable() diff --git a/src/domain/usecases/provider-user/index.ts b/src/domain/usecases/provider-user/index.ts index ce592c2..05c15b7 100644 --- a/src/domain/usecases/provider-user/index.ts +++ b/src/domain/usecases/provider-user/index.ts @@ -1,3 +1,4 @@ -export * from './register-provider-user.usecase' -export * from './login-provider-user.usecase' export * from './load-provider-user.usecase' +export * from './login-provider-user.usecase' +export * from './register-provider-user.usecase' +export * from './update-provider-user.usecase' diff --git a/src/domain/usecases/update-provider-user.usecase.ts b/src/domain/usecases/provider-user/update-provider-user.usecase.ts similarity index 83% rename from src/domain/usecases/update-provider-user.usecase.ts rename to src/domain/usecases/provider-user/update-provider-user.usecase.ts index c2418d9..255dd51 100644 --- a/src/domain/usecases/update-provider-user.usecase.ts +++ b/src/domain/usecases/provider-user/update-provider-user.usecase.ts @@ -1,5 +1,5 @@ -import { Gender } from '../enums' -import { ProviderUserEntity } from '../entities' +import { Gender } from '@/domain/enums' +import { ProviderUserEntity } from '@/domain/entities' export interface UpdateProviderUserUseCase { execute(params: UpdateProviderUserUseCaseParams): Promise diff --git a/src/infra/database/provider-user.database.ts b/src/infra/database/provider-user.database.ts index b8de557..ad5a435 100644 --- a/src/infra/database/provider-user.database.ts +++ b/src/infra/database/provider-user.database.ts @@ -10,7 +10,10 @@ import { FindProviderUserByIdRepositoryResult, SaveTokenProviderUserRepository, SaveTokenProviderUserRepositoryParams, - SaveTokenProviderUserRepositoryResult + SaveTokenProviderUserRepositoryResult, + UpdateProviderUserRepository, + UpdateProviderUserRepositoryParams, + UpdateProviderUserRepositoryResult } from '@/application/contracts/repositories/provider-user' import { Injectable } from '@nestjs/common' import { PrismaService } from './config/prisma.config' @@ -21,7 +24,8 @@ export class ProviderUserDatabase CreateProviderUserRepository, FindProviderUserByEmailRepository, FindProviderUserByIdRepository, - SaveTokenProviderUserRepository + SaveTokenProviderUserRepository, + UpdateProviderUserRepository { constructor(private prisma: PrismaService) {} @@ -104,4 +108,33 @@ export class ProviderUserDatabase return true } + + async updateProviderUser(data: UpdateProviderUserRepositoryParams): Promise { + const { id, name, email, password, gender, dateOfBirth, phone, address } = data + + const optionalProps = { + ...(gender && { gender }), + ...(dateOfBirth && { dateOfBirth }), + ...(phone && { phone }), + ...(address && { address }) + } + + const updateData = { name, email, password, ...optionalProps } + + const updatedProviderUser = await this.prisma.providerUsers.update({ + where: { id }, + data: updateData + }) + + if (!updatedProviderUser) { + return new Error('Error when updating provider user') + } + + return { + id: updatedProviderUser.id, + name: updatedProviderUser.name, + email: updatedProviderUser.email, + password: updatedProviderUser.password + } + } } diff --git a/src/infra/database/update-provider-user.database.ts b/src/infra/database/update-provider-user.database.ts index 0886fc1..9120ba4 100644 --- a/src/infra/database/update-provider-user.database.ts +++ b/src/infra/database/update-provider-user.database.ts @@ -1,18 +1,3 @@ -/* -1- vamos importar os repositorys -2- importar injectable -3-importar o prismaService -4- fazer um injectable e imediatamente me baixo uma classe UpdateProviderUserDatabase que vai implementar a classe UpdateProviderUserRepository -abrimos a chave e fazemos um constructo com uma chave privada prisma que vai receber o PrismaService de colocamos o {} no final -agr vamos fazer uma funcção async com o nome updatedProviderUser que vai receber como parametro um (data: UpdateProviderUserRepositoryParams) que é uma Promisie { - aqui vamos criar uma constante updatedProviderUser que vai receber o await, um this que vai bucar o prisma, dentro do prisma o providerUsers e vai usar o metodo update do prisma pra dizer as informações que serão atualizadas. - - em baixo nos faremos um if com parametro !updatedProviderUser que vai retornar um new Error - - caso ocorra tudo bem fazemos um return com a id e as propriedades que ele pode alterar. -} -*/ - import { UpdateProviderUserRepository, UpdateProviderUserRepositoryParams, diff --git a/src/main/modules/provider-user.module.ts b/src/main/modules/provider-user.module.ts index 1250711..dfd2752 100644 --- a/src/main/modules/provider-user.module.ts +++ b/src/main/modules/provider-user.module.ts @@ -27,6 +27,7 @@ import { AuthService } from '@/infra/external-services/auth' { provide: 'LoginProviderUserUseCase', useClass: LoginProviderUserService }, { provide: 'RegisterProviderUserUseCase', useClass: RegisterProviderUserService }, { provide: 'SaveTokenProviderUserRepository', useClass: ProviderUserDatabase }, + { provide: 'UpdateProviderUserRepository', useClass: ProviderUserDatabase }, PrismaService ] }) diff --git a/src/presenter/controllers/provider-user/update-provider-user.controller.ts b/src/presenter/controllers/provider-user/update-provider-user.controller.ts index 3b96385..5e95291 100644 --- a/src/presenter/controllers/provider-user/update-provider-user.controller.ts +++ b/src/presenter/controllers/provider-user/update-provider-user.controller.ts @@ -1,4 +1,4 @@ -import { UpdateProviderUserUseCase } from '@/domain/usecases' +import { UpdateProviderUserUseCase } from '@/domain/usecases/provider-user' import { Body, Controller, Inject, Put, Res } from '@nestjs/common' @Controller('update/provider-user')