from packages.v1.administrativo.schemas.client_schema import ClientIdSchema from packages.v1.administrativo.repositories.client.client_delete_repository import DeleteRepository class DeleteAction: """ Action para a exclusão de um registro na tabela 'client'. Utiliza o schema com o ID do cliente e delega a operação ao repositório. """ def execute(self, client_schema: ClientIdSchema): """ Executa a lógica de exclusão do cliente. A exclusão requer apenas a chave primária ('client_id'), que deve ser encapsulada no schema 'ClientIdSchema'. :param client_schema: Schema contendo o ID do cliente a ser excluído. :return: Resultado da operação de exclusão do repositório. """ # Instancia o repositório específico para a exclusão de clientes delete_repository = DeleteRepository() # Chama o método execute do repositório, passando o schema do cliente return delete_repository.execute(client_schema)