# تسک ۰۴: ماژول بلاگ

## توضیح
پیاده‌سازی سیستم مدیریت مقالات (بلاگ) شامل ایجاد، ویرایش، حذف،
نمایش لیست، بلاگ‌های برتر و آپلود تصویر.

## Endpoint ها

| متد | مسیر | توضیح | نیاز به Auth |
|-----|------|-------|-------------|
| POST | `/api/v1/blog/` | ایجاد بلاگ جدید | بله (Admin/Doctor) |
| PATCH | `/api/v1/blog/{uuid}` | ویرایش بلاگ | بله (Owner/Admin) |
| DELETE | `/api/v1/blog/{uuid}` | حذف بلاگ | بله (Owner/Admin) |
| GET | `/api/v1/blog/{uuid}` | دریافت یک بلاگ | خیر |
| GET | `/api/v1/blogs` | لیست بلاگ‌ها (با pagination) | خیر |
| GET | `/api/v1/blogs/top` | بلاگ‌های برتر | خیر |
| POST | `/api/v1/blog/image` | آپلود تصویر بلاگ | بله |

## پیش‌نیازها
- تسک ۰۱ و ۰۲

## خروجی‌های مورد انتظار
- [ ] CRUD کامل برای بلاگ
- [ ] pagination در لیست
- [ ] آپلود و ذخیره تصویر
- [ ] بلاگ‌های برتر (براساس بازدید یا لایک)
- [ ] slug برای SEO

## زمان تخمینی
۶ تا ۸ ساعت

## نمونه Request/Response

### POST /api/v1/blog/
```json
// Request
{
  "title": "راهنمای کامل دیابت",
  "body": "<p>محتوای مقاله...</p>",
  "summary": "خلاصه مقاله",
  "tags": [1, 2, 3],
  "status": "published",
  "image_uuid": "abc-..."
}

// Response 201
{
  "data": {
    "uuid": "72522a1d-...",
    "title": "راهنمای کامل دیابت",
    "slug": "rahnamai-kamel-diabet",
    "status": "published",
    "created_at": "2024-01-01T00:00:00Z"
  }
}
```

### GET /api/v1/blogs
```
Query params: page=1&limit=10&category=1&tag=2
```

### GET /api/v1/blogs/top
```json
// Response
{
  "data": [
    { "uuid": "...", "title": "...", "views": 1250, "image": "..." }
  ]
}
```
