feat: Implement SMS sending functionality with KavehNegar and Rangineh providers
- 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.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# تسک ۰۴: ماژول بلاگ
|
||||
|
||||
## توضیح
|
||||
پیادهسازی سیستم مدیریت مقالات (بلاگ) شامل ایجاد، ویرایش، حذف،
|
||||
نمایش لیست، بلاگهای برتر و آپلود تصویر.
|
||||
|
||||
## 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": "..." }
|
||||
]
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user