{
  "title": "جریان محدودیت کاربر",
  "slug": "team/backend/diagram/moderation_restriction_flow",
  "url": "/docs/team/backend/diagram/moderation_restriction_flow",
  "frontmatter": {
    "layout": "doc",
    "title": "جریان اعمال محدودیت کاربر",
    "description": "جریان اعمال محدودیت کاربر و کانتینر های وابسته",
    "version": "0.2.0",
    "status": "Draft",
    "author": "Backend Team",
    "owner": "Backend Team",
    "created_at": "2026-06-06",
    "updated_at": "2026-06-22",
    "tags": "",
    "reviewers": ""
  },
  "sections": [
    {
      "level": 1,
      "heading": "جریان محدودیت کاربر",
      "content": "**Moderation & Restriction Flow**\n\nاین فلو نحوه تشخیص تخلف و اعمال محدودیت بر کاربران را نشان می‌دهد."
    },
    {
      "level": 2,
      "heading": "مراحل",
      "content": "1. **گزارش تخلف** — سرویس‌های Chat و Marketplace تخلفات را از طریق NATS گزارش می‌دهند\n2. **Moderation Service** — تخلف را بررسی و تأیید می‌کند\n3. **اعمال محدودیت** — در صورت تأیید تخلف، IAM Service محدودیت را از طریق API ثبت می‌کند\n4. **اجرای خط مشی** — IAM Policy Engine خط مشی دسترسی جدید را اعمال می‌کند\n5. **مسدودسازی دسترسی** — سرویس‌های دیگر از IAM وضعیت کاربر را استعلام می‌کنند (`POST /v1/iam/authorization/check`)\n6. **انتشار رویداد** — IAM رویداد `nons.iam.user.restriction_added` یا `nons.iam.user.status_changed` منتشر می‌کند"
    },
    {
      "level": 2,
      "heading": "انواع محدودیت",
      "content": "- **موقت** — محدودیت زمانی (ساعت/روز)\n- **دائمی** — مسدودسازی کامل کاربر\n- **جزئی** — محدودیت در سرویس خاص (فقط Chat یا فقط Marketplace)"
    },
    {
      "level": 2,
      "heading": "سرویس‌های درگیر",
      "content": "- **Moderation Service** — تشخیص و تأیید تخلف\n- **IAM Service** — مدیریت وضعیت کاربر، اعمال محدودیت و اجرای Policy Engine داخلی\n- **NATS JetStream** — رویدادمحور بودن تشخیص تخلف"
    },
    {
      "level": 2,
      "heading": "رویدادها",
      "content": "- `moderation.violation.detected` — تخلف جدید شناسایی شد\n- `moderation.restriction.applied` — محدودیت بر کاربر اعمال شد\n- `moderation.restriction.lifted` — محدودیت برداشته شد\n- `nons.iam.user.restriction_added` — IAM محدودیت جدید ثبت کرد\n- `nons.iam.user.status_changed` — وضعیت کاربر تغییر کرد\n\n```mermaid\n\nflowchart TD\n\n    Chat[Chat Service]\n\n    Marketplace[Marketplace Service]\n\n    NATS[(NATS)]\n\n    Moderation[Moderation Service]\n\n    IAM[IAM Service]\n\n    Chat --> NATS\n\n    Marketplace --> NATS\n\n    NATS --> Moderation\n\n    Moderation -->|Violation Detected| IAM\n\n    IAM -->|Restriction Applied| IAM\n\n```"
    }
  ]
}