إعدادات الشركة

إعدادات الشركة والاتصال

إعدادات مساحة العمل والتحقق من اتصال مشروع Supabase الحالي دون تغيير جداول أو سياسات.

إعداد مالك المنصة في Supabase

الحساب المطلوب: alhommaidi1999@gmail.com. منح الصلاحية يتم من سجل platform_admins الموجود، وليس من حقل البريد في الواجهة. لم تُمنح الصلاحية في مشروعك تلقائيًا.

  1. أنشئ الحساب أو سجّل الدخول بحسابه الحالي وأكد البريد الإلكتروني في Supabase Auth.
  2. افتح مشروع Supabase ثم SQL Editor. شغّل ملف الفحص للقراءة فقط وراجع جدول platform_admins وتعريف is_platform_admin وسياسات الحماية.
  3. نفّذ ملف إضافة المالك بعد المراجعة. يضيف عضوية الحساب فقط، ولا يحذف مالكين حاليين أو يعيد إنشاء الجداول أو يغيّر RLS. يتوقف برسالة إذا كان المخطط مختلفًا.
  4. سجّل الدخول بهذا الحساب، ثم حدّث الصلاحيات وافتح إدارة المنصة. يجب أن تتعرف الدالة is_platform_admin على عضويته وأن تسمح سياسات Supabase بقراءة الشركات وتنفيذ إجراءاتها.
  5. في Authentication → URL Configuration اضبط Site URL وRedirect URLs على عنوان التطبيق المنشور لإكمال تأكيد البريد واستعادة كلمة المرور.
https://app-hs59t7nd-x9mi.genmb.com
معاينة SQL إضافة المالك
-- إضافة الحساب المطلوب إلى سجل مسؤولي المنصة الموجود فقط.
-- نفّذ يدويًا في SQL Editor بعد مراجعة المخطط. لا ينشئ جداول ولا يغيّر RLS.
do $$
declare
  target_user uuid;
  role_definition text;
begin
  if to_regclass('public.platform_admins') is null then
    raise exception 'جدول platform_admins غير موجود. شغّل فحص المخطط أولًا؛ لا تُعد إنشاء قاعدة البيانات.';
  end if;
  if not exists (
    select 1 from information_schema.columns
    where table_schema = 'public' and table_name = 'platform_admins'
      and column_name = 'user_id' and udt_name = 'uuid'
  ) then
    raise exception 'المخطط مختلف: يلزم فحص عمود user_id في platform_admins قبل منح الصلاحية.';
  end if;
  if to_regprocedure('public.is_platform_admin()') is null then
    raise exception 'الدالة is_platform_admin() غير موجودة. راجع ملف فحص Supabase أولًا.';
  end if;
  select pg_get_functiondef(to_regprocedure('public.is_platform_admin()')) into role_definition;
  if position('platform_admins' in lower(role_definition)) = 0 then
    raise exception 'دالة الصلاحية لا تشير إلى platform_admins مباشرة. راجع تعريفها قبل تشغيل هذا الملف.';
  end if;
  select id into target_user from auth.users
    where lower(email) = 'alhommaidi1999@gmail.com' and email_confirmed_at is not null;
  if target_user is null then
    raise exception 'أنشئ حساب alhommaidi1999@gmail.com في Supabase وأكد البريد أولًا، ثم أعد تشغيل الملف.';
  end if;
  if not exists (select 1 from public.platform_admins where user_id = target_user) then
    insert into public.platform_admins (user_id) values (target_user);
  end if;
  if not exists (select 1 from public.platform_admins where user_id = target_user) then
    raise exception 'لم يمكن تأكيد إضافة الحساب إلى سجل مسؤولي المنصة.';
  end if;
  raise notice 'تم تأكيد وجود الحساب في platform_admins. سجل الدخول في التطبيق وتحقق من الصلاحية الفعلية.';
end
$$;

select u.id, u.email, u.email_confirmed_at,
  exists (select 1 from public.platform_admins p where p.user_id = u.id) as owner_record_exists
from auth.users u where lower(u.email) = 'alhommaidi1999@gmail.com';

إذا فشل الملف بسبب أعمدة إلزامية أو تعريف مختلف للدالة، لا تعطّل RLS ولا تستخدم مفتاحًا إداريًا. راجع نتائج الفحص قبل أي تعديل إضافي. وجود سجل المالك وحده لا يثبت نجاح سياسات القراءة والاعتماد.

معلومات الشركة

لا تتغير حالة الاعتماد من هذه الصفحة. تحديث المعلومات يظل خاضعًا لسياسات Supabase الحالية.

اتصال Supabase

المشروع الحالي
https://jwegwhciusiofynhjgos.supabase.co
  1. تم ربط المشروع بالمفتاح العام من إضافة Supabase؛ لا يلزم إعداد Secrets.
  2. تسجيل الدخول وتجديد الجلسات وقراءة البيانات تستخدم عميل Supabase الرسمي.
  3. الإجراءات الحساسة تظل خاضعة للتحقق الخادمي ولصلاحيات حسابك وسياسات RLS، دون مفتاح إداري.
  4. اضغط فحص الاتصال لقراءة الأعمدة المطلوبة مباشرة؛ افحص تعريف الدوال ومنحها بملف التشخيص للقراءة فقط داخل SQL Editor، دون مفتاح سري في المتصفح.
  5. لا نعدل الجداول أو الدوال أو سياسات RLS تلقائيًا.
تعذر الاتصال بالخدمة. تحقق من اتصال الإنترنت ثم أعد المحاولة.

حدود الفحص والأمان

تتحقق الإجراءات على الخادم من حساب Supabase والعضوية وحالة الشركة. تبقى RLS خط الدفاع على مصدر البيانات. لا يمكن اعتبار عزل الشركات أو منع ترقية الدور مختبرًا دون حسابات فعلية ومراجعة السياسات في مشروعك. مصدر جميع البيانات التشغيلية هو Supabase، ولا تُنقل إلى تخزين GenMB. لا تتوفر قاعدة مُدارة مدمجة على خطتك؛ القاعدة المُدارة ميزة Pro، ويمكن أيضًا ربط مشروع Supabase الخاص بك مجانًا من لوحة Database.

تسجيل الدخول لاختبار الحساب الحالي

تفضيل عرض عام

هذا الخيار غير حساس ومشترك للواجهة فقط؛ يُحفظ في مخزن المفاتيح المدمج، وليس بيانات الشركة أو الصلاحيات.

اختبارات السيناريوهات المطلوبة

هذه قائمة التحقق المطلوبة قبل التشغيل التجاري. فحص الاتصال أعلاه لا يُسجّل هذه السيناريوهات كناجحة، ولا ينشئ بيانات اختبار أو يغيّر حالات الشركات.

  • إدارة الشركات والاعتماد والرفض والإيقاف: لم يُنفذ اختبار كتابة؛ يلزم حساب مالك المنصة وشركة اختبار مصرح بتغييرها.
  • عزل شركتين ورفض وصول الحساب غير المخوّل: غير مختبر فعليًا؛ يلزم حسابان ومعرّفات سجلات اختبار من شركتين.
  • صلاحيات المدير والفني والمشاهد والشركة المعلقة أو الموقوفة: غير مختبرة بحسابات فعلية لكل حالة.
  • إنشاء وتعديل العملاء والفنيين والأجهزة والزيارات ونتائج الفحص، والتحقق من حفظها: لم تُنفذ كتابة على سجلاتك في هذه الجولة.
  • تسجيل الدخول والخروج والحراس: رُوجع الكود؛ لا تُعد المراجعة اختبار جلسة فعلية في المتصفح.
⚡Make an app like this, free