- Add SendSmsMessage class for encapsulating SMS message data. - Create KavehNegarProvider and RanginehProvider classes implementing SmsProviderInterface for sending SMS. - Implement SmsLogRepository and SmsTemplateRepository for managing SMS logs and templates. - Develop SendSmsHandler for handling SMS sending messages. - Create SmsService to manage SMS dispatching and logging. - Add UserProfileController for managing user profiles with CRUD operations. - Implement UserProfile entity and repository for user profile data management. - Update symfony.lock and bootstrap.php for project dependencies and environment setup.
72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# تسک ۰۴: ماژول بلاگ
|
|
|
|
## توضیح
|
|
پیادهسازی سیستم مدیریت مقالات (بلاگ) شامل ایجاد، ویرایش، حذف،
|
|
نمایش لیست، بلاگهای برتر و آپلود تصویر.
|
|
|
|
## 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": "..." }
|
|
]
|
|
}
|
|
```
|