🚀 Auto-deploy: GPI atualizado em 03/04/2026 20:38:03

This commit is contained in:
2026-04-03 20:38:03 +00:00
parent 0dace9ee00
commit e8ecac05d8

View File

@@ -1,26 +1,27 @@
import { Request, Response } from 'express';
import { supabase } from '../config/supabase.js';
import { toCamelCase, toSnakeCase } from '../utils/caseMapper.js';
const DEFAULT_TYPES = [
{ name: 'Guarda-corpo/escada', efficiency_loss: 20 },
{ name: 'Vigas leves', efficiency_loss: 20 },
{ name: 'Vigas médias', efficiency_loss: 20 },
{ name: 'Vigas pesadas', efficiency_loss: 20 },
{ name: 'Chaparia comum', efficiency_loss: 20 },
{ name: 'Chapas de pisos (>0,5m²)', efficiency_loss: 20 },
{ name: 'Calhas', efficiency_loss: 20 },
{ name: 'Cantoneiras', efficiency_loss: 20 },
{ name: 'Telhas', efficiency_loss: 20 },
{ name: 'Tubulações (ret/red) <100mm', efficiency_loss: 20 },
{ name: 'Tubulações (ret/red) >100mm', efficiency_loss: 20 },
{ name: 'Peças diversas (outras)', efficiency_loss: 20 }
{ name: 'Guarda-corpo/escada', efficiencyLoss: 20 },
{ name: 'Vigas leves', efficiencyLoss: 20 },
{ name: 'Vigas médias', efficiencyLoss: 20 },
{ name: 'Vigas pesadas', efficiencyLoss: 20 },
{ name: 'Chaparia comum', efficiencyLoss: 20 },
{ name: 'Chapas de pisos (>0,5m²)', efficiencyLoss: 20 },
{ name: 'Calhas', efficiencyLoss: 20 },
{ name: 'Cantoneiras', efficiencyLoss: 20 },
{ name: 'Telhas', efficiencyLoss: 20 },
{ name: 'Tubulações (ret/red) <100mm', efficiencyLoss: 20 },
{ name: 'Tubulações (ret/red) >100mm', efficiencyLoss: 20 },
{ name: 'Peças diversas (outras)', efficiencyLoss: 20 }
];
export const getAllnames = async (req: Request, res: Response) => {
try {
const { data, error } = await supabase.from('geometry_types').select('*');
if (error && error.code !== '42P01') throw error;
res.json(data || []);
res.json(toCamelCase(data || []));
} catch (error: unknown) {
res.json(DEFAULT_TYPES);
}
@@ -36,13 +37,18 @@ export const restoreDefaults = async (req: Request, res: Response) => {
export const createType = async (req: Request, res: Response) => {
try {
const payload = toSnakeCase({
...req.body,
organizationId: (req as any).appUser?.organizationId
});
const { data, error } = await supabase
.from('geometry_types')
.insert({ ...req.body, organization_id: req.appUser?.organizationId })
.insert(payload)
.select()
.single();
if (error) throw error;
res.status(201).json(data);
res.status(201).json(toCamelCase(data));
} catch (error: unknown) {
res.json(req.body);
}
@@ -52,12 +58,12 @@ export const updateType = async (req: Request, res: Response) => {
try {
const { data, error } = await supabase
.from('geometry_types')
.update(req.body)
.update(toSnakeCase(req.body))
.eq('id', req.params.id)
.select()
.single();
if (error) throw error;
res.json(data);
res.json(toCamelCase(data));
} catch (error: unknown) {
res.json(req.body);
}