From 647befc201fb204d19e41025a7d9cdd61b3d1764 Mon Sep 17 00:00:00 2001 From: GUSTAVO PIZATTO Date: Tue, 5 Aug 2025 08:25:22 -0300 Subject: [PATCH] Update participacao_agente.ts --- .../pages/api/mapcon/participacao_agente.ts | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/mapcon/pages/api/mapcon/participacao_agente.ts b/mapcon/pages/api/mapcon/participacao_agente.ts index 261a83c..977efa5 100644 --- a/mapcon/pages/api/mapcon/participacao_agente.ts +++ b/mapcon/pages/api/mapcon/participacao_agente.ts @@ -1,28 +1,61 @@ import type { NextApiRequest, NextApiResponse } from 'next'; +// Importa os tipos das requisições e respostas Next.js para tipagem TypeScript + import { getServerSession } from "next-auth" +// Importa função para obter a sessão autenticada do usuário + import base from '../../../lib/back/base_query' +// Importa módulo base para operações genéricas de banco (CRUD) + import { LogRequest } from './_helper'; +// Importa função auxiliar para registrar logs da requisição export default async (req: NextApiRequest, res: NextApiResponse) => { + // Função padrão exportada para lidar com a requisição API + const session = await getServerSession(req, res, { /* options */ }); - if (session) { + // Obtém sessão do usuário para verificar se está autenticado + + if (session) { + // Se usuário está autenticado, processa a requisição + LogRequest(__filename, req); + // Registra informações da requisição para auditoria e debug + if (req.method == 'GET' && req.query.id) { - res.status(200).json(await base.getModel('participacao_agente', { 'num_seq_participacao_agente': req.query.id })) + // Se for método GET e tiver parâmetro 'id' na query + // Retorna um único registro da tabela 'participacao_agente' com base no id + res.status(200).json( + await base.getModel('participacao_agente', { 'num_seq_participacao_agente': req.query.id }) + ); + } else if (req.method == 'GET') { - res.status(200).json(await base.getModels('participacao_agente', req.query)) + // Se for GET sem id, retorna múltiplos registros filtrados pelos parâmetros da query + res.status(200).json( + await base.getModels('participacao_agente', req.query) + ); + } else if (req.method == 'POST') { - res.status(200).json(await base.addModel('participacao_agente', req.body)) + // Se for POST, cria um novo registro usando os dados enviados no corpo da requisição + res.status(200).json( + await base.addModel('participacao_agente', req.body) + ); + } else if (req.method == 'PUT'){ - res.status(200).json(await base.updateModel('participacao_agente',{ 'num_seq_participacao_agente': req.body.num_seq_participacao_agente },req.body)) + // Se for PUT, atualiza um registro identificado pelo 'num_seq_participacao_agente' do corpo da requisição + res.status(200).json( + await base.updateModel('participacao_agente', { 'num_seq_participacao_agente': req.body.num_seq_participacao_agente }, req.body) + ); + } else if (req.method == 'DELETE'){ - res.status(200).json(await base.deleteModel('participacao_agente',{ 'num_seq_participacao_agente': req.body.num_seq_participacao_agente })) + // Se for DELETE, deleta o registro identificado pelo 'num_seq_participacao_agente' no corpo da requisição + res.status(200).json( + await base.deleteModel('participacao_agente', { 'num_seq_participacao_agente': req.body.num_seq_participacao_agente }) + ); } } else { - - res.status(401).json({ "Acesso Negado": "Você não possui permissão para acessar esses dados." }) - + // Se o usuário não estiver autenticado, retorna erro 401 e mensagem de acesso negado + res.status(401).json({ "Acesso Negado": "Você não possui permissão para acessar esses dados." }); } - }