From f451add13cd1abcf806d1bc1e55e92a77c2823ea Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 May 2026 19:55:35 +0000 Subject: [PATCH] fix: replace assign_driver RPC with direct supabase update --- src/services/supabase/orderGroupRepository.js | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/services/supabase/orderGroupRepository.js b/src/services/supabase/orderGroupRepository.js index 8c83418..aabe4d2 100644 --- a/src/services/supabase/orderGroupRepository.js +++ b/src/services/supabase/orderGroupRepository.js @@ -221,19 +221,18 @@ export const assignDriverToOrderGroup = async ({ logger.debug("[assignDriver] orderGroupId:", orderGroupId, "driverId:", driverId); - // Use RPC to bypass RLS on order_groups update - const { data: rpcData, error: rpcError } = await client.rpc("assign_driver", { - p_order_group_id: orderGroupId, - p_driver_id: driverId || null, - }); + // Direct UPDATE — RLS allows manager/logistician/admin + const { error: updateError } = await client + .from("order_groups") + .update({ + assigned_driver_id: driverId || null, + delivery_status: driverId ? "driver_assigned" : undefined, + updated_at: new Date().toISOString(), + }) + .eq("id", orderGroupId); - logger.debug("[assignDriver] rpc result:", { rpcData, rpcError }); - if (rpcError) { - throw rpcError; - } - - if (!rpcData) { - throw new Error("Группа не найдена"); + if (updateError) { + throw updateError; } // Fetch with driver join for the mapper