113 lines
3.6 KiB
Python
113 lines
3.6 KiB
Python
from actions.dynamic_import.dynamic_import import DynamicImport
|
|
from packages.v1.administrativo.services.ato_documento.ato_documento_index_service import (
|
|
IndexService,
|
|
)
|
|
from packages.v1.administrativo.services.ato_documento.ato_documento_save_service import (
|
|
SaveService,
|
|
)
|
|
from packages.v1.administrativo.services.ato_documento.ato_documento_show_service import (
|
|
ShowService,
|
|
)
|
|
from packages.v1.administrativo.services.ato_documento.ato_principal_show_service import (
|
|
ShowAtoPrincipalService,
|
|
)
|
|
from packages.v1.administrativo.services.ato_documento.ato_documento_update_service import (
|
|
UpdateService,
|
|
)
|
|
from packages.v1.administrativo.services.ato_documento.ato_documento_delete_service import (
|
|
DeleteService,
|
|
)
|
|
from packages.v1.administrativo.schemas.ato_documento_schema import (
|
|
AtoDocumentoSchema,
|
|
AtoDocumentoSaveSchema,
|
|
AtoDocumentoUpdateSchema,
|
|
AtoDocumentoIdSchema,
|
|
)
|
|
|
|
|
|
class AtoDocumentoController:
|
|
|
|
def __init__(self):
|
|
# Action responsável por carregar as services de acodo 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("ato_documento")
|
|
pass
|
|
|
|
# Lista todos os documentos
|
|
def index(self):
|
|
|
|
# Instânciamento da classe service
|
|
index_service = IndexService()
|
|
|
|
# Lista todos os documentos
|
|
return {
|
|
"message": "Documentos localizados com sucesso",
|
|
"data": index_service.execute(),
|
|
}
|
|
|
|
# Busca um documento especifico pelo ID do ato principal
|
|
def showAtoPrincipal(self, ato_documento_schema: AtoDocumentoSchema):
|
|
|
|
# Instânciamento da classe desejada
|
|
show_service = ShowAtoPrincipalService()
|
|
|
|
# Busca e retorna o documento desejado
|
|
return {
|
|
"message": "Documento localizado com sucesso",
|
|
"data": show_service.execute(ato_documento_schema),
|
|
}
|
|
|
|
# Busca um documento especifico pelo ID
|
|
def show(self, ato_documento_schema: AtoDocumentoSchema):
|
|
|
|
# Instânciamento da classe desejada
|
|
show_service = ShowService()
|
|
|
|
# Busca e retorna o documento desejado
|
|
return {
|
|
"message": "Documento localizado com sucesso",
|
|
"data": show_service.execute(ato_documento_schema),
|
|
}
|
|
|
|
# Cadastra um novo documento
|
|
def save(self, ato_documento_schema: AtoDocumentoSaveSchema):
|
|
|
|
# Instânciamento da classe desejada
|
|
save_service = SaveService()
|
|
|
|
# Busca e retorna o documento desejado
|
|
return {
|
|
"message": "Documento salvo com sucesso",
|
|
"data": save_service.execute(ato_documento_schema),
|
|
}
|
|
|
|
# Atualiza os dados de um documento
|
|
def update(
|
|
self, ato_documento_id: int, ato_documento_schema: AtoDocumentoUpdateSchema
|
|
):
|
|
|
|
# Instânciamento da classe desejada
|
|
update_service = UpdateService()
|
|
|
|
# Busca e retorna o documento desejado
|
|
return {
|
|
"message": "Documento atualizado com sucesso",
|
|
"data": update_service.execute(ato_documento_id, ato_documento_schema),
|
|
}
|
|
|
|
# Exclui um documento
|
|
def delete(self, ato_documento_schema: AtoDocumentoSchema):
|
|
|
|
# Instânciamento da classe desejada
|
|
delete_service = DeleteService()
|
|
|
|
# Busca e retorna o documento desejado
|
|
return {
|
|
"message": "Documento removido com sucesso",
|
|
"data": delete_service.execute(ato_documento_schema),
|
|
}
|