27 lines
No EOL
1.1 KiB
Python
27 lines
No EOL
1.1 KiB
Python
from packages.v1.administrativo.schemas.client_schema import ClientSaveSchema
|
|
from packages.v1.administrativo.repositories.client.client_save_repository import SaveRepository
|
|
|
|
|
|
class SaveAction:
|
|
"""
|
|
Action responsável por orquestrar a operação de salvar (inserir ou atualizar)
|
|
um registro na tabela 'client'.
|
|
"""
|
|
|
|
def execute(self, client_schema: ClientSaveSchema):
|
|
"""
|
|
Executa a lógica de salvamento do cliente.
|
|
|
|
O schema 'ClientSaveSchema' deve conter todos os campos necessários
|
|
para a operação de persistência, baseados na DDL:
|
|
cns, name, date_register (opcional na entrada, pois tem DEFAULT),
|
|
state, city, responsible, consultant, e type_contract.
|
|
|
|
:param client_schema: Schema contendo os dados do cliente a serem salvos.
|
|
:return: Resultado da operação de salvamento do repositório.
|
|
"""
|
|
# Instancia o repositório específico para a operação de salvar clientes
|
|
save_repository = SaveRepository()
|
|
|
|
# Chama o método execute do repositório, passando o objeto schema
|
|
return save_repository.execute(client_schema) |