All checks were successful
Build & Deploy Frontend / build-push-deploy (push) Successful in 1m45s
13 lines
475 B
PL/PgSQL
13 lines
475 B
PL/PgSQL
-- Harden function with explicit search_path and security definer
|
|
CREATE OR REPLACE FUNCTION public.set_purchase_total_cost()
|
|
RETURNS TRIGGER
|
|
LANGUAGE plpgsql
|
|
SECURITY DEFINER
|
|
SET search_path = public
|
|
AS $$
|
|
DECLARE base_cost numeric(14,2);
|
|
BEGIN
|
|
SELECT COALESCE(a.purchase_cost, 0) INTO base_cost FROM public.assets a WHERE a.id = NEW.asset_id;
|
|
NEW.total_cost := COALESCE(base_cost,0) + COALESCE(NEW.shipping_cost,0) + COALESCE(NEW.customs_duty,0);
|
|
RETURN NEW;
|
|
END; $$; |