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)