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