MirrorAPI/packages/v1/administrativo/controllers/ato_parte_controller.py
2025-11-03 15:18:26 -03:00

111 lines
3.4 KiB
Python

from actions.dynamic_import.dynamic_import import DynamicImport
from packages.v1.administrativo.services.ato_parte.ato_parte_index_service import (
IndexService,
)
from packages.v1.administrativo.services.ato_parte.ato_parte_save_service import (
SaveService,
)
from packages.v1.administrativo.services.ato_parte.ato_parte_show_service import (
ShowService,
)
from packages.v1.administrativo.services.ato_parte.ato_principal_show_service import (
AtoPrincipalShowService,
)
from packages.v1.administrativo.services.ato_parte.ato_parte_update_service import (
UpdateService,
)
from packages.v1.administrativo.services.ato_parte.ato_parte_delete_service import (
DeleteService,
)
from packages.v1.administrativo.schemas.ato_parte_schema import (
AtoParteSchema,
AtoParteSaveSchema,
AtoParteUpdateSchema,
AtoParteIdSchema,
)
class AtoParteController:
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_parte")
pass
# Lista todas as partes
def index(self):
# Instânciamento da classe service
index_service = IndexService()
# Lista todas as partes
return {
"message": "Partes localizadas com sucesso",
"data": index_service.execute(),
}
# Busca uma parte especifica pelo ID do ato principal
def showAtoPrincipal(self, ato_parte_schema: AtoParteSchema):
# Instânciamento da classe desejada
show_service = AtoPrincipalShowService()
# Busca e retorna a parte desejada
return {
"message": "Parte localizada com sucesso",
"data": show_service.execute(ato_parte_schema),
}
# Busca uma parte especifica pelo ID
def show(self, ato_parte_schema: AtoParteSchema):
# Instânciamento da classe desejada
show_service = ShowService()
# Busca e retorna a parte desejada
return {
"message": "Parte localizada com sucesso",
"data": show_service.execute(ato_parte_schema),
}
# Cadastra uma nova parte
def save(self, ato_parte_schema: AtoParteSaveSchema):
# Instânciamento da classe desejada
save_service = SaveService()
# Busca e retorna a parte desejada
return {
"message": "Parte salva com sucesso",
"data": save_service.execute(ato_parte_schema),
}
# Atualiza os dados de uma parte
def update(self, ato_parte_id: int, ato_parte_schema: AtoParteUpdateSchema):
# Instânciamento da classe desejada
update_service = UpdateService()
# Busca e retorna a parte desejada
return {
"message": "Parte atualizada com sucesso",
"data": update_service.execute(ato_parte_id, ato_parte_schema),
}
# Exclui uma parte
def delete(self, ato_parte_schema: AtoParteSchema):
# Instânciamento da classe desejada
delete_service = DeleteService()
# Busca e retorna a parte desejada
return {
"message": "Parte removida com sucesso",
"data": delete_service.execute(ato_parte_schema),
}