Bedrud التوثيق

نقاط نهاية المشرفين تحت /api/admin/. تتطلب دور المشرف العام.

نظرة عامة

نقطة النهايةالطريقةالوصف
/api/admin/usersGETعرض جميع المستخدمين
/api/admin/users/:id/statusPUTتفعيل أو تعطيل مستخدم

نقاط النهاية

عرض جميع المستخدمين

استرجاع قائمة بجميع المستخدمين المُسجَّلين.

GET /api/admin/users

الرؤوس: Authorization: Bearer <accessToken>

الدور المطلوب: مشرف عام

الاستجابة (200):

{
  "users": [
    {
      "id": "uuid",
      "email": "user@example.com",
      "name": "John Doe",
      "avatar": "https://...",
      "role": "user",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "id": "uuid-2",
      "email": "admin@example.com",
      "name": "Admin User",
      "role": "admin",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-10T08:00:00Z"
    }
  ]
}

تحديث حالة المستخدم

تفعيل أو تعطيل حساب مستخدم. لا يمكن للمستخدمين المُعطَّلين تسجيل الدخول.

PUT /api/admin/users/:id/status

الرؤوس: Authorization: Bearer <accessToken>

الدور المطلوب: مشرف عام

معاملات URL:

المعاملالوصف
idUUID المستخدم

نص الطلب:

{
  "isActive": false
}

الاستجابة (200):

{
  "message": "user status updated",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "isActive": false
  }
}

أدوار المستخدمين

الدورالوصفالصلاحيات
guestمستخدم مؤقتالانضمام إلى الغرف فقط
userمستخدم عاديإنشاء/الانضمام إلى الغرف، إدارة الملف الشخصي
adminمشرف عامجميع صلاحيات المستخدم + إدارة المستخدمين، عرض جميع الغرف

إنشاء مشرف

يتم إنشاء المستخدمين المشرفين عبر سطر الأوامر:

# Create a user
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# Promote to admin
bedrud user promote --email "admin@example.com"

لا توجد نقطة نهاية API لترقية المستخدمين - وهذا متعمد لأسباب أمنية.


استجابات الخطأ

{
  "error": "forbidden"
}
الحالةالمعنى
401غير مُصدَّق
403ليس مشرفًا عامًا
404المستخدم غير موجود
500خطأ داخلي في الخادم

انظر أيضًا