🚀 Auto-deploy: GPI atualizado em 03/04/2026 20:42:16
This commit is contained in:
@@ -9,10 +9,34 @@ interface AuthRequest extends Request {
|
|||||||
|
|
||||||
export const getStockItems = async (req: AuthRequest, res: Response) => {
|
export const getStockItems = async (req: AuthRequest, res: Response) => {
|
||||||
try {
|
try {
|
||||||
const { data, error } = await supabase.from('stock_items').select('*');
|
const { data: items, error: itemsError } = await supabase.from('stock_items').select('*');
|
||||||
if (error && error.code !== '42P01') throw error;
|
if (itemsError && itemsError.code !== '42P01') throw itemsError;
|
||||||
res.json(toCamelCase(data || []));
|
if (!items || items.length === 0) return res.json([]);
|
||||||
|
|
||||||
|
// Get unique data sheet IDs
|
||||||
|
const dsIds = [...new Set(items.map(i => i.data_sheet_id).filter(Boolean))];
|
||||||
|
|
||||||
|
let dataSheets: any[] = [];
|
||||||
|
if (dsIds.length > 0) {
|
||||||
|
const { data: sheets, error: dsError } = await supabase
|
||||||
|
.from('technical_data_sheets')
|
||||||
|
.select('*')
|
||||||
|
.in('id', dsIds);
|
||||||
|
if (!dsError) dataSheets = sheets || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map data sheets to a lookup object
|
||||||
|
const dsMap = Object.fromEntries(dataSheets.map(ds => [ds.id, ds]));
|
||||||
|
|
||||||
|
// Merge and convert to camelCase
|
||||||
|
const enrichedItems = items.map(item => ({
|
||||||
|
...item,
|
||||||
|
data_sheet_id: dsMap[item.data_sheet_id] || item.data_sheet_id
|
||||||
|
}));
|
||||||
|
|
||||||
|
res.json(toCamelCase(enrichedItems));
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
|
console.error('Error fetching stock items:', error);
|
||||||
res.json([]);
|
res.json([]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user