first commit
This commit is contained in:
commit
c9fb67e751
423 files changed
+53287
No files matched your search
@@ -0,0 +1,111 @@
|
||||
import { Router } from 'express';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { extractUser } from '../authMiddleware'; // Importar a função correta
|
||||
|
||||
const router = Router();
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
// Middleware de autenticação
|
||||
router.use(extractUser);
|
||||
|
||||
// Criar novo cálculo de pensão alimentícia
|
||||
router.post('/', async (req, res) => {
|
||||
try {
|
||||
const {
|
||||
titulo,
|
||||
descricao,
|
||||
dataInicial,
|
||||
dataFinal,
|
||||
percentualSalarioMinimo,
|
||||
multaPactuada,
|
||||
tipoAtualizacao,
|
||||
processoId,
|
||||
clienteId,
|
||||
observacoes
|
||||
} = req.body;
|
||||
|
||||
const calculo = await prisma.calculoPensaoAlimenticia.create({
|
||||
data: {
|
||||
titulo,
|
||||
descricao,
|
||||
status: 'ATIVO',
|
||||
dataInicial: new Date(dataInicial),
|
||||
dataFinal: dataFinal ? new Date(dataFinal) : null,
|
||||
percentualSalarioMinimo,
|
||||
multaPactuada,
|
||||
tipoAtualizacao,
|
||||
valorCalculado: 0,
|
||||
valorMulta: 0,
|
||||
valorTotal: 0,
|
||||
processoId,
|
||||
clienteId,
|
||||
observacoes,
|
||||
usuarioId: req.user.id
|
||||
}
|
||||
});
|
||||
|
||||
res.json(calculo);
|
||||
} catch (error) {
|
||||
console.error('Erro ao criar cálculo de pensão:', error);
|
||||
res.status(500).json({ error: 'Falha ao criar cálculo' });
|
||||
}
|
||||
});
|
||||
|
||||
// Buscar cálculo por ID
|
||||
router.get('/:id', async (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
|
||||
const calculo = await prisma.calculoPensaoAlimenticia.findUnique({
|
||||
where: { id },
|
||||
include: {
|
||||
processo: true,
|
||||
cliente: true,
|
||||
usuario: {
|
||||
select: {
|
||||
id: true,
|
||||
nome: true,
|
||||
email: true
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (!calculo) {
|
||||
return res.status(404).json({ error: 'Cálculo não encontrado' });
|
||||
}
|
||||
|
||||
res.json(calculo);
|
||||
} catch (error) {
|
||||
console.error('Erro ao buscar cálculo:', error);
|
||||
res.status(500).json({ error: 'Falha ao buscar cálculo' });
|
||||
}
|
||||
});
|
||||
|
||||
// Listar cálculos
|
||||
router.get('/', async (req, res) => {
|
||||
try {
|
||||
const calculos = await prisma.calculoPensaoAlimenticia.findMany({
|
||||
include: {
|
||||
processo: true,
|
||||
cliente: true,
|
||||
usuario: {
|
||||
select: {
|
||||
id: true,
|
||||
nome: true
|
||||
}
|
||||
}
|
||||
},
|
||||
orderBy: {
|
||||
criadoEm: 'desc'
|
||||
}
|
||||
});
|
||||
|
||||
res.json(calculos);
|
||||
} catch (error) {
|
||||
console.error('Erro ao listar cálculos:', error);
|
||||
res.status(500).json({ error: 'Falha ao listar cálculos' });
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
Reference in new issue
Block a user