🛡️ Moderation API

⚠️ توجه: این API ها فقط برای Moderator ها قابل دسترسی است. برای استفاده باید ModeratorID در متغیر محیطی MODERATOR_USER_IDS تنظیم شود.

GET /api/chat/moderation/reports

دریافت لیست تمام گزارش‌ها Moderator Only

Query Parameters:

پارامترنوعتوضیحات
ModeratorIDstring (UUID)الزامی شناسه Moderator
statusstringاختیاری فیلتر بر اساس وضعیت (پیش‌فرض: pending)

Response (200 OK):

{
  "success": true,
  "reports": [
    {
      "ReportID": "uuid",
      "ReporterID": "uuid",
      "ReportedUserID": "uuid",
      "MessageID": "uuid",
      "Reason": "harassment",
      "Description": "توضیحات",
      "Status": "pending",
      "ModeratorNotes": null,
      "CreatedAt": "2024-01-01T12:00:00"
    }
  ]
}

POST /api/chat/moderation/reports/{report_id}/resolve

حل کردن گزارش Moderator Only

Request Body:

فیلدنوعتوضیحات
ModeratorIDstring (UUID)الزامی شناسه Moderator
Statusstringالزامی resolved, rejected, reviewing
ModeratorNotesstringاختیاری یادداشت Moderator
Actionstringاختیاری delete, warn (در صورت وجود MessageID)

Response (200 OK):

{
  "success": true,
  "message": "Report resolved successfully"
}

POST /api/chat/moderation/users/{user_id}/ban

Ban کردن کاربر Moderator Only

Request Body:

فیلدنوعتوضیحات
ModeratorIDstring (UUID)الزامی شناسه Moderator
Actionstringالزامی temp_ban, permanent_ban
Reasonstringاختیاری دلیل ban
DurationDaysintegerاختیاری مدت زمان ban (برای temp_ban)

Response (201 Created):

{
  "success": true,
  "message": "User temp_ban applied successfully",
  "moderation": {
    "ModerationID": "uuid",
    "ExpiresAt": "2024-01-08T12:00:00"
  }
}

POST /api/chat/moderation/users/{user_id}/unban

Unban کردن کاربر Moderator Only

Request Body:

فیلدنوعتوضیحات
ModeratorIDstring (UUID)الزامی شناسه Moderator

Response (200 OK):

{
  "success": true,
  "message": "User unbanned successfully"
}

GET /api/chat/moderation/users/{user_id}/status

دریافت وضعیت moderation کاربر

Response (200 OK):

{
  "success": true,
  "status": {
    "UserID": "uuid",
    "IsBanned": false,
    "BanExpiresAt": null,
    "Warnings": [
      {
        "ModerationID": "uuid",
        "Reason": "دلیل هشدار",
        "CreatedAt": "2024-01-01T12:00:00"
      }
    ]
  }
}