From 9a3874bd6148545a56cf14b2fcf36364d03393b7 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Fri, 3 Apr 2026 19:56:31 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Auto-deploy:=20GPI=20atualizado?= =?UTF-8?q?=20em=2003/04/2026=2019:56:31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/controllers/stockController.ts | 50 ++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/server/controllers/stockController.ts b/src/server/controllers/stockController.ts index ff86d77..fadbed2 100644 --- a/src/server/controllers/stockController.ts +++ b/src/server/controllers/stockController.ts @@ -74,4 +74,52 @@ export const deleteStockItem = async (req: AuthRequest, res: Response) => { } catch (error: unknown) { res.status(204).send(); } -}; \ No newline at end of file +}; +export const adjustStock = async (req: AuthRequest, res: Response) => { + try { + const { id } = req.params; + const { data, error } = await supabase.from('stock_items').update(req.body).eq('id', id).select().single(); + if (error) throw error; + res.json(toCamelCase(data)); + } catch (error: unknown) { + res.status(500).json({ error: error instanceof Error ? error.message : 'Unknown error' }); + } +}; + +export const consumeStock = async (req: AuthRequest, res: Response) => { + try { + const { id } = req.params; + const { quantity } = req.body; + const { data: item, error: fetchError } = await supabase.from('stock_items').select('quantity').eq('id', id).single(); + if (fetchError) throw fetchError; + + const newQuantity = (item.quantity || 0) - (quantity || 0); + const { data, error } = await supabase.from('stock_items').update({ quantity: newQuantity }).eq('id', id).select().single(); + if (error) throw error; + + res.json(toCamelCase(data)); + } catch (error: unknown) { + res.status(500).json({ error: error instanceof Error ? error.message : 'Unknown error' }); + } +}; + +export const updateStockMovement = async (req: AuthRequest, res: Response) => { + try { + const { id } = req.params; + const { data, error } = await supabase.from('stock_movements').update(req.body).eq('id', id).select().single(); + if (error) throw error; + res.json(toCamelCase(data)); + } catch (error: unknown) { + res.status(500).json({ error: error instanceof Error ? error.message : 'Unknown error' }); + } +}; + +export const deleteStockMovement = async (req: AuthRequest, res: Response) => { + try { + const { id } = req.params; + await supabase.from('stock_movements').delete().eq('id', id); + res.status(204).send(); + } catch (error: unknown) { + res.status(500).json({ error: error instanceof Error ? error.message : 'Unknown error' }); + } +};