[MVPTN-108] feat(Crud): Cria o CRUD para manipular a natureza do titulo
This commit is contained in:
parent
b93bf19bca
commit
76ecc4a4af
20 changed files with 1052 additions and 1 deletions
51
actions/data/generate_insert_sql.py
Normal file
51
actions/data/generate_insert_sql.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
from pydantic import BaseModel
|
||||
from decimal import Decimal
|
||||
|
||||
def generate_insert_sql(table_name: str, data: BaseModel | dict) -> str:
|
||||
"""
|
||||
Gera um comando SQL INSERT seguro para Firebird.
|
||||
- Aceita BaseModel (Pydantic) ou dict.
|
||||
- Ignora *_ID None.
|
||||
- Mantém colunas em MAIÚSCULAS e parâmetros em minúsculas (para bind funcionar).
|
||||
"""
|
||||
|
||||
# Converte o model em dict limpo
|
||||
if isinstance(data, BaseModel):
|
||||
data_dict = data.model_dump(exclude_unset=True)
|
||||
elif isinstance(data, dict):
|
||||
data_dict = data
|
||||
else:
|
||||
raise TypeError("O parâmetro 'data' deve ser um BaseModel ou dict.")
|
||||
|
||||
columns = []
|
||||
params = []
|
||||
returning_fields = []
|
||||
|
||||
for key, value in data_dict.items():
|
||||
column_name = key.upper()
|
||||
|
||||
# Converte Decimal → float
|
||||
if isinstance(value, Decimal):
|
||||
data_dict[key] = float(value)
|
||||
|
||||
# Campos válidos para retorno
|
||||
if value is not None:
|
||||
returning_fields.append(column_name)
|
||||
|
||||
# Coluna em maiúsculo, parâmetro em minúsculo
|
||||
columns.append(column_name)
|
||||
params.append(f":{key}")
|
||||
|
||||
columns_str = ", ".join(columns)
|
||||
params_str = ", ".join(params)
|
||||
returning_str = ", ".join(returning_fields) if returning_fields else "*"
|
||||
|
||||
sql = (
|
||||
f"INSERT INTO {table_name} (\n"
|
||||
f" {columns_str}\n"
|
||||
f") VALUES (\n"
|
||||
f" {params_str}\n"
|
||||
f") RETURNING {returning_str};"
|
||||
)
|
||||
|
||||
return sql
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.g_natureza_titulo.g_natureza_titulo_delete_repository import GNaturezaTituloDeleteRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
|
||||
|
||||
class GNaturezaTituloDeleteAction(BaseAction):
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de exclusão de um registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Executa a operação de exclusão no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema):
|
||||
O esquema contendo o ID do registro a ser excluído.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de exclusão.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento do repositório
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_delete_repository = GNaturezaTituloDeleteRepository()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da exclusão
|
||||
# ----------------------------------------------------
|
||||
response = g_natureza_titulo_delete_repository.execute(g_natureza_titulo_id_schema)
|
||||
|
||||
return response
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.g_natureza_titulo.g_natureza_titulo_index_repository import GNaturezaTituloIndexRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIndexSchema
|
||||
|
||||
|
||||
class GNaturezaTituloIndexAction(BaseAction):
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de listagem de todos os registros na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_index_schema: GNaturezaTituloIndexSchema):
|
||||
"""
|
||||
Executa a operação de listagem no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_index_schema (GNaturezaTituloIndexSchema):
|
||||
Esquema contendo parâmetros opcionais de filtro.
|
||||
|
||||
Returns:
|
||||
A lista de registros encontrados.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento do repositório
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_index_repository = GNaturezaTituloIndexRepository()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do repositório
|
||||
# ----------------------------------------------------
|
||||
response = g_natureza_titulo_index_repository.execute(g_natureza_titulo_index_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# --------------------------------
|
||||
return response
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.g_natureza_titulo.g_natureza_titulo_save_repository import GNaturezaTituloSaveRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloSaveSchema
|
||||
|
||||
|
||||
class GNaturezaTituloSaveAction(BaseAction):
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de salvamento de um novo registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_save_schema: GNaturezaTituloSaveSchema):
|
||||
"""
|
||||
Executa a operação de salvamento.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_schema (GNaturezaTituloSchema):
|
||||
O esquema com os dados a serem persistidos.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de salvamento.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento do repositório
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_save_repository = GNaturezaTituloSaveRepository()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do repositório
|
||||
# ----------------------------------------------------
|
||||
response = g_natureza_titulo_save_repository.execute(g_natureza_titulo_save_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return response
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.g_natureza_titulo.g_natureza_titulo_show_repository import GNaturezaTituloShowRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
|
||||
|
||||
class GNaturezaTituloShowAction(BaseAction):
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a exibição
|
||||
de um registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Executa a operação de exibição.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema):
|
||||
O esquema com o ID do registro a ser exibido.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de exibição.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento do repositório
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_show_repository = GNaturezaTituloShowRepository()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do repositório
|
||||
# ----------------------------------------------------
|
||||
response = g_natureza_titulo_show_repository.execute(g_natureza_titulo_id_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return response
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
from abstracts.action import BaseAction
|
||||
from api.packages.v1.administrativo.repositories.g_natureza_titulo.g_natureza_titulo_update_repository import GNaturezaTituloUpdateRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloUpdateSchema
|
||||
|
||||
|
||||
class GNaturezaTituloUpdateAction(BaseAction):
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a atualização
|
||||
de um registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_update_schema: GNaturezaTituloUpdateSchema):
|
||||
"""
|
||||
Executa a operação de atualização.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_update_schema (GNaturezaTituloUpdateSchema):
|
||||
O esquema com os dados a serem atualizados.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de atualização.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento do repositório de atualização
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_update_repository = GNaturezaTituloUpdateRepository()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do repositório
|
||||
# ----------------------------------------------------
|
||||
response = g_natureza_titulo_update_repository.execute(g_natureza_titulo_update_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno do resultado
|
||||
# ----------------------------------------------------
|
||||
return response
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from packages.v1.administrativo.schemas.g_natureza_titulo_schema import (
|
||||
GNaturezaTituloIndexSchema,
|
||||
GNaturezaTituloSaveSchema,
|
||||
GNaturezaTituloUpdateSchema,
|
||||
GNaturezaTituloIdSchema
|
||||
)
|
||||
|
||||
|
||||
class GNaturezaTituloController:
|
||||
"""
|
||||
Controller responsável por orquestrar as operações CRUD da tabela G_NATUREZA_TITULO,
|
||||
utilizando carregamento dinâmico de serviços via DynamicImport.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
# ----------------------------------------------------
|
||||
# Inicialização do DynamicImport
|
||||
# ----------------------------------------------------
|
||||
self.dynamic_import = DynamicImport()
|
||||
self.dynamic_import.set_package("administrativo")
|
||||
self.dynamic_import.set_table("g_natureza_titulo")
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Lista todos os registros de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
def index(self, g_natureza_titulo_index_schema: GNaturezaTituloIndexSchema):
|
||||
# Importação da classe desejada
|
||||
index_service = self.dynamic_import.service("g_natureza_titulo_index_service", "GNaturezaTituloIndexService")
|
||||
|
||||
# Instância da classe service
|
||||
self.index_service = index_service()
|
||||
|
||||
# Execução da listagem
|
||||
return {
|
||||
"message": "Registros de G_NATUREZA_TITULO localizados com sucesso.",
|
||||
"data": self.index_service.execute(g_natureza_titulo_index_schema),
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Busca um registro específico de G_NATUREZA_TITULO pelo ID
|
||||
# ----------------------------------------------------
|
||||
def show(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
# Importação da classe desejada
|
||||
show_service = self.dynamic_import.service("g_natureza_titulo_show_service", "GNaturezaTituloShowService")
|
||||
|
||||
# Instância da classe service
|
||||
self.show_service = show_service()
|
||||
|
||||
# Execução da busca
|
||||
return {
|
||||
"message": "Registro de G_NATUREZA_TITULO localizado com sucesso.",
|
||||
"data": self.show_service.execute(g_natureza_titulo_id_schema),
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Cadastra um novo registro em G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
def save(self, g_natureza_titulo_save_schema: GNaturezaTituloSaveSchema):
|
||||
# Importação da classe desejada
|
||||
save_service = self.dynamic_import.service("g_natureza_titulo_save_service", "GNaturezaTituloSaveService")
|
||||
|
||||
# Instância da classe service
|
||||
self.save_service = save_service()
|
||||
|
||||
# Execução do salvamento
|
||||
return {
|
||||
"message": "Registro de G_NATUREZA_TITULO salvo com sucesso.",
|
||||
"data": self.save_service.execute(g_natureza_titulo_save_schema),
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Atualiza um registro existente de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
def update(self, g_natureza_titulo_update_schema: GNaturezaTituloUpdateSchema):
|
||||
# Importação da classe desejada
|
||||
update_service = self.dynamic_import.service("g_natureza_titulo_update_service", "GNaturezaTituloUpdateService")
|
||||
|
||||
# Instância da classe service
|
||||
self.update_service = update_service()
|
||||
|
||||
# Execução da atualização
|
||||
return {
|
||||
"message": "Registro de G_NATUREZA_TITULO atualizado com sucesso.",
|
||||
"data": self.update_service.execute(g_natureza_titulo_update_schema),
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Exclui um registro de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
def delete(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
# Importação da classe desejada
|
||||
delete_service = self.dynamic_import.service("g_natureza_titulo_delete_service", "GNaturezaTituloDeleteService")
|
||||
|
||||
# Instância da classe service
|
||||
self.delete_service = delete_service()
|
||||
|
||||
# Execução da exclusão
|
||||
return {
|
||||
"message": "Registro de G_NATUREZA_TITULO removido com sucesso.",
|
||||
"data": self.delete_service.execute(g_natureza_titulo_id_schema),
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
# Importação de bibliotecas
|
||||
from fastapi import APIRouter, Depends, status
|
||||
from actions.jwt.get_current_user import get_current_user
|
||||
from packages.v1.administrativo.controllers.g_natureza_titulo_controller import GNaturezaTituloController
|
||||
from packages.v1.administrativo.schemas.g_natureza_titulo_schema import (
|
||||
GNaturezaTituloIndexSchema,
|
||||
GNaturezaTituloSaveSchema,
|
||||
GNaturezaTituloUpdateSchema,
|
||||
GNaturezaTituloIdSchema
|
||||
)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Inicializa o roteador para as rotas da tabela G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
router = APIRouter()
|
||||
|
||||
# Instanciamento do controller
|
||||
g_natureza_titulo_controller = GNaturezaTituloController()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Lista todos os registros de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
@router.get('/sistema/{sistema_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Lista todos os registros de G_NATUREZA_TITULO cadastrados',
|
||||
response_description='Lista todos os registros de G_NATUREZA_TITULO cadastrados')
|
||||
async def index(sistema_id:int, current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Retorna todos os registros da tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
g_natureza_titulo_index_schema = GNaturezaTituloIndexSchema(sistema_id=sistema_id)
|
||||
response = g_natureza_titulo_controller.index(g_natureza_titulo_index_schema)
|
||||
return response
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Busca um registro específico de G_NATUREZA_TITULO pelo ID
|
||||
# ----------------------------------------------------
|
||||
@router.get('/{natureza_titulo_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Busca um registro de G_NATUREZA_TITULO pelo ID',
|
||||
response_description='Busca um registro de G_NATUREZA_TITULO em específico')
|
||||
async def show(natureza_titulo_id: int, current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Retorna um registro específico de G_NATUREZA_TITULO com base no ID informado.
|
||||
"""
|
||||
g_natureza_titulo_id_schema = GNaturezaTituloIdSchema(natureza_titulo_id=natureza_titulo_id)
|
||||
response = g_natureza_titulo_controller.show(g_natureza_titulo_id_schema)
|
||||
return response
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Cadastra um novo registro em G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
@router.post('/',
|
||||
status_code=status.HTTP_201_CREATED,
|
||||
summary='Cadastra um novo registro em G_NATUREZA_TITULO',
|
||||
response_description='Cadastra um novo registro em G_NATUREZA_TITULO')
|
||||
async def save(g_natureza_titulo_schema: GNaturezaTituloSaveSchema, current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Cria um novo registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
response = g_natureza_titulo_controller.save(g_natureza_titulo_schema)
|
||||
return response
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Atualiza um registro existente de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
@router.put('/{natureza_titulo_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Atualiza um registro existente em G_NATUREZA_TITULO',
|
||||
response_description='Atualiza um registro existente em G_NATUREZA_TITULO')
|
||||
async def update(natureza_titulo_id: int, g_natureza_titulo_update_schema: GNaturezaTituloUpdateSchema, current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Atualiza um registro existente de G_NATUREZA_TITULO com base no ID informado.
|
||||
"""
|
||||
g_natureza_titulo_update_schema.natureza_titulo_id = natureza_titulo_id
|
||||
response = g_natureza_titulo_controller.update(g_natureza_titulo_update_schema)
|
||||
return response
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Exclui um registro de G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
@router.delete('/{natureza_titulo_id}',
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary='Remove um registro de G_NATUREZA_TITULO',
|
||||
response_description='Remove um registro de G_NATUREZA_TITULO')
|
||||
async def delete(natureza_titulo_id: int, current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Remove um registro específico de G_NATUREZA_TITULO com base no ID informado.
|
||||
"""
|
||||
g_natureza_titulo_id_schema = GNaturezaTituloIdSchema(natureza_titulo_id=natureza_titulo_id)
|
||||
response = g_natureza_titulo_controller.delete(g_natureza_titulo_id_schema)
|
||||
return response
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
|
||||
class GNaturezaTituloDeleteRepository(BaseRepository):
|
||||
"""
|
||||
Repositório responsável pela exclusão de registros na tabela
|
||||
G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Executa a exclusão de um registro específico da tabela G_NATUREZA_TITULO
|
||||
com base no ID informado.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema): Esquema contendo o ID do registro a ser excluído.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de exclusão.
|
||||
"""
|
||||
try:
|
||||
# Montagem do SQL
|
||||
sql = """
|
||||
DELETE FROM G_NATUREZA_TITULO GNT
|
||||
WHERE GNT.NATUREZA_TITULO_ID = :natureza_titulo_id
|
||||
"""
|
||||
|
||||
# Preenchimento dos parâmetros
|
||||
params = {
|
||||
"natureza_titulo_id": g_natureza_titulo_id_schema.natureza_titulo_id
|
||||
}
|
||||
|
||||
# Execução da instrução SQL
|
||||
response = self.run(sql, params)
|
||||
|
||||
# Retorna o resultado da exclusão
|
||||
return response
|
||||
|
||||
except Exception as e:
|
||||
# Lança exceção HTTP em caso de erro
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao excluir registro de G_NATUREZA_TITULO: {e}"
|
||||
)
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIndexSchema
|
||||
|
||||
class GNaturezaTituloIndexRepository(BaseRepository):
|
||||
"""
|
||||
Repositório para a operação de listagem de todos os registros
|
||||
na tabela t_censec_qualidade.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_index_schema: GNaturezaTituloIndexSchema):
|
||||
"""
|
||||
Executa a consulta SQL para buscar todos os registros.
|
||||
|
||||
Returns:
|
||||
Uma lista de dicionários contendo os dados dos registros.
|
||||
"""
|
||||
# Montagem do SQL
|
||||
sql = """ SELECT
|
||||
GNT.*
|
||||
FROM G_NATUREZA_TITULO GNT
|
||||
WHERE GNT.SISTEMA_ID = :sistema_id
|
||||
"""
|
||||
|
||||
# Montagem dos parâmetros
|
||||
params = g_natureza_titulo_index_schema.model_dump(exclude_unset=True)
|
||||
|
||||
# Execução do sql
|
||||
response = self.fetch_all(sql, params)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloSaveSchema
|
||||
|
||||
|
||||
class GNaturezaTituloSaveRepository(BaseRepository):
|
||||
"""
|
||||
Repositório responsável pela operação de salvamento de um novo registro
|
||||
na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_save_schema: GNaturezaTituloSaveSchema):
|
||||
"""
|
||||
Executa a operação de salvamento no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_save_schema (GNaturezaTituloSchema): O esquema com os dados a serem salvos.
|
||||
|
||||
Returns:
|
||||
O registro recém-criado.
|
||||
|
||||
Raises:
|
||||
HTTPException: Caso ocorra um erro na execução da query.
|
||||
"""
|
||||
try:
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Preenchimento dos parâmetros
|
||||
# ----------------------------------------------------
|
||||
params = g_natureza_titulo_save_schema.model_dump(exclude_unset=True)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Montagem do SQL dinâmico
|
||||
# ----------------------------------------------------
|
||||
sql = generate_insert_sql('G_NATUREZA_TITULO', params)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do SQL e retorno do registro
|
||||
# ----------------------------------------------------
|
||||
return self.run_and_return(sql, params)
|
||||
|
||||
except Exception as e:
|
||||
# ----------------------------------------------------
|
||||
# Tratamento de erros e lançamento de exceção HTTP
|
||||
# ----------------------------------------------------
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao salvar registro em G_NATUREZA_TITULO: {e}"
|
||||
)
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
|
||||
|
||||
class GNaturezaTituloShowRepository(BaseRepository):
|
||||
"""
|
||||
Repositório responsável pela operação de exibição de um registro
|
||||
na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Busca um registro específico de G_NATUREZA_TITULO pelo ID.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema):
|
||||
Esquema contendo o ID do registro a ser buscado.
|
||||
|
||||
Returns:
|
||||
O registro encontrado ou levanta exceção HTTP 404 se não existir.
|
||||
|
||||
Raises:
|
||||
HTTPException: Caso ocorra um erro na execução da query.
|
||||
"""
|
||||
try:
|
||||
# ----------------------------------------------------
|
||||
# Montagem do SQL
|
||||
# ----------------------------------------------------
|
||||
sql = """
|
||||
SELECT *
|
||||
FROM G_NATUREZA_TITULO GNT
|
||||
WHERE GNT.NATUREZA_TITULO_ID = :natureza_titulo_id
|
||||
"""
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Preenchimento de parâmetros
|
||||
# ----------------------------------------------------
|
||||
params = g_natureza_titulo_id_schema.model_dump(exclude_unset=True)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução do SQL
|
||||
# ----------------------------------------------------
|
||||
result = self.fetch_one(sql, params)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Validação de retorno
|
||||
# ----------------------------------------------------
|
||||
if not result:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="Registro de G_NATUREZA_TITULO não encontrado."
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
except HTTPException:
|
||||
# Repassa exceções HTTP explícitas (como 404)
|
||||
raise
|
||||
|
||||
except Exception as e:
|
||||
# Captura falhas inesperadas de execução
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao buscar registro em G_NATUREZA_TITULO: {e}"
|
||||
)
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloUpdateSchema
|
||||
|
||||
|
||||
class GNaturezaTituloUpdateRepository(BaseRepository):
|
||||
"""
|
||||
Repositório responsável pela operação de atualização de registros
|
||||
na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_update_schema: GNaturezaTituloUpdateSchema):
|
||||
"""
|
||||
Atualiza um registro existente na tabela G_NATUREZA_TITULO.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_update_schema (GNaturezaTituloUpdateSchema):
|
||||
Esquema contendo os dados a serem atualizados.
|
||||
|
||||
Returns:
|
||||
O registro atualizado (via RETURNING *).
|
||||
|
||||
Raises:
|
||||
HTTPException: Caso ocorra um erro na execução do SQL.
|
||||
"""
|
||||
try:
|
||||
# ----------------------------------------------------
|
||||
# Prepara parâmetros e colunas de atualização dinâmicas
|
||||
# ----------------------------------------------------
|
||||
params, update_columns = prepare_update_data(
|
||||
g_natureza_titulo_update_schema,
|
||||
exclude_fields=["natureza_titulo_id"],
|
||||
id_field="natureza_titulo_id"
|
||||
)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Montagem do SQL dinâmico
|
||||
# ----------------------------------------------------
|
||||
sql = f"""
|
||||
UPDATE G_NATUREZA_TITULO
|
||||
SET {update_columns}
|
||||
WHERE NATUREZA_TITULO_ID = :natureza_titulo_id
|
||||
RETURNING *;
|
||||
"""
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução e retorno do registro atualizado
|
||||
# ----------------------------------------------------
|
||||
response = self.run_and_return(sql, params)
|
||||
return response
|
||||
|
||||
except Exception as e:
|
||||
# ----------------------------------------------------
|
||||
# Tratamento de exceção e retorno HTTP padronizado
|
||||
# ----------------------------------------------------
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao atualizar registro em G_NATUREZA_TITULO: {str(e)}"
|
||||
)
|
||||
165
packages/v1/administrativo/schemas/g_natureza_titulo_schema.py
Normal file
165
packages/v1/administrativo/schemas/g_natureza_titulo_schema.py
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema base - representa a tabela G_NATUREZA_TITULO
|
||||
# ----------------------------------------------------
|
||||
class GNaturezaTituloSchema(BaseModel):
|
||||
codigo_natureza_sef: Optional[float] = None
|
||||
emolumento_id: Optional[float] = None
|
||||
natureza_titulo_id: Optional[int] = None
|
||||
descricao: Optional[str] = None
|
||||
prazo: Optional[float] = None
|
||||
situacao: Optional[str] = None
|
||||
abrir_matricula: Optional[str] = None
|
||||
sistema_id: Optional[float] = None
|
||||
codigo_doi: Optional[float] = None
|
||||
tipo_cobranca: Optional[str] = None
|
||||
tipo_titulo: Optional[str] = None
|
||||
possui_valor: Optional[str] = None
|
||||
pertence_registro_imovel: Optional[str] = None
|
||||
emitir_etiqueta: Optional[str] = None
|
||||
tipo_onus: Optional[str] = None
|
||||
prazo_tipo: Optional[str] = None
|
||||
utilizar_desconto: Optional[str] = None
|
||||
desconto: Optional[float] = None
|
||||
prazo_especial: Optional[str] = None
|
||||
informar_doi: Optional[str] = None
|
||||
usar_lancar_itens_automaticos: Optional[str] = None
|
||||
nao_gerar_selo: Optional[str] = None
|
||||
quantidade_busca: Optional[float] = None
|
||||
quantidade_folha_excedente: Optional[float] = None
|
||||
tipo_recibo: Optional[str] = None
|
||||
template_id: Optional[float] = None
|
||||
template_id_positiva: Optional[float] = None
|
||||
editar_quantidade: Optional[str] = None
|
||||
eri_escritura_natureza_id: Optional[float] = None
|
||||
selar_na_prenotacao: Optional[str] = None
|
||||
texto_certidao: Optional[str] = None
|
||||
consolidacao: Optional[str] = None
|
||||
nao_cancelar_automatico: Optional[str] = None
|
||||
acao_to: Optional[str] = None
|
||||
descricao_sinter: Optional[str] = None
|
||||
categoria_ato: Optional[str] = None
|
||||
nao_gerar_cert_automaticamente: Optional[str] = None
|
||||
tipo_operacao: Optional[str] = None
|
||||
eh_onr: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema de indexação/listagem (ex: GET /index)
|
||||
# ----------------------------------------------------
|
||||
class GNaturezaTituloIndexSchema(BaseModel):
|
||||
sistema_id: Optional[int] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema para localizar um registro pelo ID (GET /{id})
|
||||
# ----------------------------------------------------
|
||||
class GNaturezaTituloIdSchema(BaseModel):
|
||||
natureza_titulo_id: float
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema para criação (POST)
|
||||
# ----------------------------------------------------
|
||||
class GNaturezaTituloSaveSchema(BaseModel):
|
||||
natureza_titulo_id: Optional[float] = None
|
||||
codigo_natureza_sef: Optional[float] = None
|
||||
emolumento_id: Optional[float] = None
|
||||
descricao: Optional[str] = None
|
||||
prazo: Optional[float] = None
|
||||
situacao: Optional[str] = None
|
||||
abrir_matricula: Optional[str] = None
|
||||
sistema_id: Optional[float] = None
|
||||
codigo_doi: Optional[float] = None
|
||||
tipo_cobranca: Optional[str] = None
|
||||
tipo_titulo: Optional[str] = None
|
||||
possui_valor: Optional[str] = None
|
||||
pertence_registro_imovel: Optional[str] = None
|
||||
emitir_etiqueta: Optional[str] = None
|
||||
tipo_onus: Optional[str] = None
|
||||
prazo_tipo: Optional[str] = None
|
||||
utilizar_desconto: Optional[str] = None
|
||||
desconto: Optional[float] = None
|
||||
prazo_especial: Optional[str] = None
|
||||
informar_doi: Optional[str] = None
|
||||
usar_lancar_itens_automaticos: Optional[str] = None
|
||||
nao_gerar_selo: Optional[str] = None
|
||||
quantidade_busca: Optional[float] = None
|
||||
quantidade_folha_excedente: Optional[float] = None
|
||||
tipo_recibo: Optional[str] = None
|
||||
template_id: Optional[float] = None
|
||||
template_id_positiva: Optional[float] = None
|
||||
editar_quantidade: Optional[str] = None
|
||||
eri_escritura_natureza_id: Optional[float] = None
|
||||
selar_na_prenotacao: Optional[str] = None
|
||||
texto_certidao: Optional[str] = None
|
||||
consolidacao: Optional[str] = None
|
||||
nao_cancelar_automatico: Optional[str] = None
|
||||
acao_to: Optional[str] = None
|
||||
descricao_sinter: Optional[str] = None
|
||||
categoria_ato: Optional[str] = None
|
||||
nao_gerar_cert_automaticamente: Optional[str] = None
|
||||
tipo_operacao: Optional[str] = None
|
||||
eh_onr: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema para atualização (PUT)
|
||||
# ----------------------------------------------------
|
||||
class GNaturezaTituloUpdateSchema(BaseModel):
|
||||
natureza_titulo_id: Optional[float] = None
|
||||
codigo_natureza_sef: Optional[float] = None
|
||||
emolumento_id: Optional[float] = None
|
||||
descricao: Optional[str] = None
|
||||
prazo: Optional[float] = None
|
||||
situacao: Optional[str] = None
|
||||
abrir_matricula: Optional[str] = None
|
||||
sistema_id: Optional[float] = None
|
||||
codigo_doi: Optional[float] = None
|
||||
tipo_cobranca: Optional[str] = None
|
||||
tipo_titulo: Optional[str] = None
|
||||
possui_valor: Optional[str] = None
|
||||
pertence_registro_imovel: Optional[str] = None
|
||||
emitir_etiqueta: Optional[str] = None
|
||||
tipo_onus: Optional[str] = None
|
||||
prazo_tipo: Optional[str] = None
|
||||
utilizar_desconto: Optional[str] = None
|
||||
desconto: Optional[float] = None
|
||||
prazo_especial: Optional[str] = None
|
||||
informar_doi: Optional[str] = None
|
||||
usar_lancar_itens_automaticos: Optional[str] = None
|
||||
nao_gerar_selo: Optional[str] = None
|
||||
quantidade_busca: Optional[float] = None
|
||||
quantidade_folha_excedente: Optional[float] = None
|
||||
tipo_recibo: Optional[str] = None
|
||||
template_id: Optional[float] = None
|
||||
template_id_positiva: Optional[float] = None
|
||||
editar_quantidade: Optional[str] = None
|
||||
eri_escritura_natureza_id: Optional[float] = None
|
||||
selar_na_prenotacao: Optional[str] = None
|
||||
texto_certidao: Optional[str] = None
|
||||
consolidacao: Optional[str] = None
|
||||
nao_cancelar_automatico: Optional[str] = None
|
||||
acao_to: Optional[str] = None
|
||||
descricao_sinter: Optional[str] = None
|
||||
categoria_ato: Optional[str] = None
|
||||
nao_gerar_cert_automaticamente: Optional[str] = None
|
||||
tipo_operacao: Optional[str] = None
|
||||
eh_onr: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
from api.packages.v1.administrativo.actions.g_natureza_titulo.g_natureza_titulo_delete_action import GNaturezaTituloDeleteAction
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
|
||||
|
||||
class GNaturezaTituloDeleteService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de exclusão de um registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Executa a operação de exclusão do registro no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema):
|
||||
O esquema com o ID do registro a ser excluído.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de exclusão.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento da ação
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_delete_action = GNaturezaTituloDeleteAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação
|
||||
# ----------------------------------------------------
|
||||
data = g_natureza_titulo_delete_action.execute(g_natureza_titulo_id_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return data
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
from api.packages.v1.administrativo.actions.g_natureza_titulo.g_natureza_titulo_index_action import GNaturezaTituloIndexAction
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIndexSchema
|
||||
|
||||
|
||||
class GNaturezaTituloIndexService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de listagem de registros na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_index_schema: GNaturezaTituloIndexSchema):
|
||||
"""
|
||||
Executa a operação de busca de todos os registros no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_index_schema (GNaturezaTituloIndexSchema):
|
||||
Esquema que pode conter filtros ou parâmetros de busca.
|
||||
|
||||
Returns:
|
||||
A lista de registros encontrados.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento da ação
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_index_action = GNaturezaTituloIndexAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação
|
||||
# ----------------------------------------------------
|
||||
data = g_natureza_titulo_index_action.execute(g_natureza_titulo_index_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Verificação de retorno
|
||||
# ----------------------------------------------------
|
||||
if not data:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="Não foi possível localizar registros de G_NATUREZA_TITULO."
|
||||
)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return data
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
from api.packages.v1.administrativo.actions.g_natureza_titulo.g_natureza_titulo_save_action import GNaturezaTituloSaveAction
|
||||
from api.packages.v1.sequencia.schemas.g_sequencia import GSequenciaSchema
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloSaveSchema
|
||||
from api.packages.v1.sequencia.services.g_sequencia.generate_service import GenerateService
|
||||
|
||||
|
||||
class GNaturezaTituloSaveService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de criação de registros na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_save_schema: GNaturezaTituloSaveSchema):
|
||||
"""
|
||||
Executa a operação de salvamento do registro no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_save_schema (GNaturezaTituloSaveSchema):
|
||||
O esquema com os dados a serem salvos.
|
||||
|
||||
Returns:
|
||||
O registro recém-criado.
|
||||
"""
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Geração automática de ID (sequência)
|
||||
# ----------------------------------------------------
|
||||
if not g_natureza_titulo_save_schema.natureza_titulo_id:
|
||||
# Cria o schema de sequência
|
||||
sequencia_schema = GSequenciaSchema()
|
||||
sequencia_schema.tabela = "G_NATUREZA_TITULO"
|
||||
|
||||
# Gera a sequência atualizada
|
||||
generate = GenerateService()
|
||||
sequencia = generate.execute(sequencia_schema)
|
||||
|
||||
# Atualiza o ID no schema
|
||||
g_natureza_titulo_save_schema.natureza_titulo_id = sequencia.sequencia
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento e execução da Action de salvamento
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_save_action = GNaturezaTituloSaveAction()
|
||||
return g_natureza_titulo_save_action.execute(g_natureza_titulo_save_schema)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
from api.packages.v1.administrativo.actions.g_natureza_titulo.g_natureza_titulo_show_action import GNaturezaTituloShowAction
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloIdSchema
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
|
||||
class GNaturezaTituloShowService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de busca de um registro na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_id_schema: GNaturezaTituloIdSchema):
|
||||
"""
|
||||
Executa a operação de busca no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_id_schema (GNaturezaTituloIdSchema):
|
||||
O esquema com o ID do registro a ser buscado.
|
||||
|
||||
Returns:
|
||||
O resultado da busca.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento da ação
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_show_action = GNaturezaTituloShowAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação
|
||||
# ----------------------------------------------------
|
||||
data = g_natureza_titulo_show_action.execute(g_natureza_titulo_id_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Verificação de resultado
|
||||
# ----------------------------------------------------
|
||||
if not data:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="Não foi possível localizar o registro de G_NATUREZA_TITULO."
|
||||
)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return data
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
from api.packages.v1.administrativo.actions.g_natureza_titulo.g_natureza_titulo_update_action import GNaturezaTituloUpdateAction
|
||||
from api.packages.v1.administrativo.schemas.g_natureza_titulo_schema import GNaturezaTituloUpdateSchema
|
||||
|
||||
|
||||
class GNaturezaTituloUpdateService:
|
||||
"""
|
||||
Serviço responsável pela operação de atualização de um registro
|
||||
na tabela G_NATUREZA_TITULO.
|
||||
"""
|
||||
|
||||
def execute(self, g_natureza_titulo_update_schema: GNaturezaTituloUpdateSchema):
|
||||
"""
|
||||
Executa a operação de atualização no banco de dados.
|
||||
|
||||
Args:
|
||||
g_natureza_titulo_update_schema (GNaturezaTituloUpdateSchema):
|
||||
O esquema com os dados a serem atualizados.
|
||||
|
||||
Returns:
|
||||
O resultado da operação de atualização.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento da ação
|
||||
# ----------------------------------------------------
|
||||
g_natureza_titulo_update_action = GNaturezaTituloUpdateAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação e retorno do resultado
|
||||
# ----------------------------------------------------
|
||||
return g_natureza_titulo_update_action.execute(g_natureza_titulo_update_schema)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
from fastapi import APIRouter
|
||||
|
||||
# Importa os módulos de rotas específicos
|
||||
from api.packages.v1.administrativo.endpoints import t_ato_partetipo_endpoint, t_censec_tiponatureza_endpoint
|
||||
from api.packages.v1.administrativo.endpoints import g_natureza_titulo_endpoint, t_ato_partetipo_endpoint, t_censec_tiponatureza_endpoint
|
||||
from packages.v1.administrativo.endpoints import t_censec_tipoato_endpoint
|
||||
from packages.v1.administrativo.endpoints import t_censec_qualidadeato_endpoint
|
||||
from packages.v1.administrativo.endpoints import g_tb_txmodelogrupo_endpoint
|
||||
|
|
@ -199,4 +199,9 @@ api_router.include_router(
|
|||
# Inclui as rotas de t_censec_tiponatureza
|
||||
api_router.include_router(
|
||||
t_censec_tiponatureza_endpoint.router, prefix="/administrativo/t_censec_tiponatureza", tags=["Tipo de Natureza do CENSEC"]
|
||||
)
|
||||
|
||||
# Inclui as rotas de g_natureza_titulo
|
||||
api_router.include_router(
|
||||
g_natureza_titulo_endpoint.router, prefix="/administrativo/g_natureza_titulo", tags=["Títulos do GNatureza"]
|
||||
)
|
||||
Loading…
Add table
Reference in a new issue