28 lines
No EOL
1.3 KiB
Python
28 lines
No EOL
1.3 KiB
Python
from packages.v1.administrativo.schemas.client_schema import ClientUpdateSchema
|
|
from packages.v1.administrativo.repositories.client.client_update_repository import UpdateRepository
|
|
|
|
|
|
class UpdateAction:
|
|
"""
|
|
Action responsável por orquestrar a operação de atualização (UPDATE)
|
|
de um registro na tabela 'client', identificado pelo seu ID.
|
|
"""
|
|
|
|
def execute(self, client_id: int, client_schema: ClientUpdateSchema):
|
|
"""
|
|
Executa a lógica de atualização do cliente.
|
|
|
|
O 'client_id' identifica qual registro será modificado, e o
|
|
'client_schema' contém os novos valores para os campos
|
|
(cns, name, state, city, responsible, consultant, type_contract).
|
|
O campo 'date_register' geralmente é omitido ou atualizado automaticamente.
|
|
|
|
:param client_id: ID do cliente a ser atualizado.
|
|
:param client_schema: Schema contendo os novos dados do cliente.
|
|
:return: Resultado da operação de atualização do repositório.
|
|
"""
|
|
# Instancia o repositório específico para a operação de atualização de clientes
|
|
update_repository = UpdateRepository()
|
|
|
|
# Chama o método execute do repositório, passando o ID e o objeto schema
|
|
return update_repository.execute(client_id, client_schema) |