monitoring-api/packages/v1/administrativo/actions/client/client_update_action.py

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 ClientUpdateRepository
class ClientUpdateAction:
"""
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 = ClientUpdateRepository()
# Chama o método execute do repositório, passando o ID e o objeto schema
return update_repository.execute(client_id, client_schema)