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

25 lines
No EOL
1 KiB
Python

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)