🚨 Report & Block API

POST /api/chat/report

گزارش کاربر یا پیام

Request Body:

فیلدنوعتوضیحات
ReporterIDstring (UUID)الزامی شناسه گزارش‌دهنده
ReportedUserIDstring (UUID)الزامی شناسه کاربر گزارش شده
MessageIDstring (UUID)اختیاری شناسه پیام (در صورت گزارش پیام)
Reasonstringالزامی دلیل گزارش: spam, harassment, inappropriate_content, fake_account, scam, other
Descriptionstringاختیاری توضیحات بیشتر

Request Example:

{
  "ReporterID": "uuid",
  "ReportedUserID": "uuid",
  "MessageID": "uuid",
  "Reason": "harassment",
  "Description": "توضیحات گزارش"
}

Response (201 Created):

{
  "success": true,
  "report": {
    "ReportID": "uuid",
    "Status": "pending"
  }
}

GET /api/chat/reports

دریافت لیست گزارش‌های کاربر

Query Parameters:

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

Response (200 OK):

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

POST /api/chat/block

بلاک کردن کاربر

Request Body:

فیلدنوعتوضیحات
BlockerIDstring (UUID)الزامی شناسه کاربر بلاک کننده
BlockedUserIDstring (UUID)الزامی شناسه کاربر بلاک شده
Reasonstringاختیاری دلیل بلاک

Response (201 Created):

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

DELETE /api/chat/block

آنبلاک کردن کاربر

Request Body:

فیلدنوعتوضیحات
BlockerIDstring (UUID)الزامی شناسه کاربر بلاک کننده
BlockedUserIDstring (UUID)الزامی شناسه کاربر بلاک شده

Response (200 OK):

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

GET /api/chat/blocked-users

دریافت لیست کاربران بلاک شده

Query Parameters:

پارامترنوعتوضیحات
UserIDstring (UUID)الزامی شناسه کاربر

Response (200 OK):

{
  "success": true,
  "blocked_users": [
    {
      "BlockID": "uuid",
      "BlockedUserID": "uuid",
      "Reason": "دلیل بلاک",
      "CreatedAt": "2024-01-01T12:00:00"
    }
  ]
}