44 lines
No EOL
2 KiB
Python
44 lines
No EOL
2 KiB
Python
from actions.dynamic_import.dynamic_import import DynamicImport
|
|
# NOTE: O novo esquema deve ser criado para o Log.
|
|
# Assumimos que a UserSaveSchema foi substituída por LogSaveSchema,
|
|
# que conteria os campos client_id e file.
|
|
# from packages.v1.administrativo.schemas.log_schema import LogSaveSchema
|
|
from packages.v1.administrativo.actions.log.log_save_action import SaveAction
|
|
from fastapi import status, HTTPException
|
|
|
|
class SaveService:
|
|
# Mantendo o padrão de nome de classe, mas renomeando a classe principal
|
|
# para refletir a ação de 'Salvar' (Save) em vez de 'Usuário Salvar' (UserSave).
|
|
# O nome do arquivo já indica 'log_save_service'.
|
|
|
|
def __init__(self):
|
|
# Action responsável por carregar as services de acordo com o estado
|
|
self.dynamic_import = DynamicImport()
|
|
|
|
# Define o pacote que deve ser carregado
|
|
self.dynamic_import.set_package("administrativo")
|
|
|
|
# Define a tabela que o pacote pertence
|
|
self.dynamic_import.set_table("log")
|
|
pass
|
|
|
|
# O esquema de entrada deve refletir os campos da tabela 'log'
|
|
# (client_id e file, já que date_post é gerado no banco)
|
|
# def execute(self, log_schema: LogSaveSchema):
|
|
# Usando 'schema' para manter a abstração, já que o schema exato não está definido
|
|
def execute(self, schema):
|
|
|
|
# NOTE: A lógica de validação de email foi REMOVIDA
|
|
# porque não é aplicável à tabela 'log' (não há campo 'email').
|
|
# A validação de 'client_id' ou 'file' deve ocorrer no schema (Pydantic).
|
|
|
|
# Instanciamento de ações com prefixo 'log' e nome mantido
|
|
save_action = SaveAction()
|
|
|
|
# Retorna o log salvo
|
|
return save_action.execute(schema)
|
|
|
|
# NOTE: Foi mantido o padrão 'SaveService' para a classe principal.
|
|
# Se o nome original 'UserSaveService' for um padrão rigoroso,
|
|
# o nome da classe pode ser ajustado para 'LogSaveService'.
|
|
# No entanto, o padrão de design geralmente usa o nome da ação (Save) + Service. |