Motoshub · API v1 Build · branch feat/api-all-features · not pushed

گزارش ساخت API — موج ۱

مهاجرت امکانات موتوشاب به تمپلیت REST v1 (فریم‌ورک Bridge). این صفحه کدِ تولیدشده را برای مرور نشان می‌دهد — همه‌چیز در یک برنچ ایزوله ساخته شده و هنوز روی گیت‌لب پوش نشده.

20
فیچر — همه‌ی موج‌ها کامل
161
endpoint REST
510
فایل بررسی‌شده
0
خطای lint (PHP 8.4)
ساخت کامل شد. هر ۶ موج تمام: ۱۶۱ endpoint در ۱۹ ماژول، ۱۳۷ اکشن با Policy کامل، صفر تداخل روت، صفر خطای syntax. فهرست کامل در مرجع API v1 + فایل Postman آماده‌ی دانلود. در انتظار تأیید مالک برای push به گیت‌لب.
مرتبط: سند API v1 و نقشه‌ی مهاجرت · معماری کلی · فهرست اسناد
روش کار: هر فیچر دقیقاً با تمپلیت ۵ فیچر قبلی (Auth/Blogs/News/Photos/Albums) ساخته شده — Controller + Requestها + Resource + Service + Repository + Policy + Model + DTO + Queryها. منطق بازنویسی نشده؛ Service هر فیچر همان BOL موجود اکسوال را صدا می‌زند (مثل web_service_* قدیمی).

01 فیچرهای ساخته‌شده (موج ۱)

هر چهار فیچر lint-clean روی PHP 8.4 و در SwaggerController ثبت شده‌اند.

Video ۱۷ فایل lint

ow_plugins/video/src · table video_clip · wraps VIDEO_BOL_ClipService

GET /api/v1/videos
POST /api/v1/videos
GET /api/v1/videos/{id}
PATCH /api/v1/videos/{id}
DELETE /api/v1/videos/{id}
افزودن ویدیو از طریق event video.add_clip است که به پلاگین iisvideoplus وابسته‌ست.
permissionهای video.list/show/update/delete باید به authorization اضافه شوند.

Events ۱۷ فایل lint

ow_plugins/event/src · table event_item · wraps EVENT_BOL_EventService

GET /api/v1/events
POST /api/v1/events
GET /api/v1/events/{id}
PATCH /api/v1/events/{id}
DELETE /api/v1/events/{id}
قرارداد ورودی تاریخ: الان Unix timestamp می‌گیرد — تأیید کن که با کلاینت‌ها می‌خواند (در برابر رشته‌ی شمسی).
آپلود تصویر رویداد نیاز به endpoint multipart جدا دارد؛ رویدادهای «فقط دعوت‌شده» فعلاً در لیست نمی‌آیند.

Friends ۱۶ فایل lint

ow_plugins/friends/src · table friends_friendship · wraps FRIENDS_BOL_Service

GET /api/v1/friends
GET /api/v1/friends/requests
POST /api/v1/friends
POST /api/v1/friends/{id}/accept
DELETE /api/v1/friends/{id}
حذف دوستِ فعال از طریق side-effect یک event انجام می‌شود (event handler پلاگین friends).

Notifications ۱۶ فایل lint

ow_plugins/notifications/src · table notifications_notification · wraps NOTIFICATIONS_BOL_Service

GET /api/v1/notifications
POST /api/v1/notifications/seen
POST /api/v1/notifications/{id}/read
GET /api/v1/notifications/settings
PATCH /api/v1/notifications/settings
غنی‌سازی payload (آواتار فرستنده، متن آماده) که به ۱۰ پلاگین دیگر وصل است، فعلاً پورت نشده — فقط ستون‌های اصلی + data.

01b فیچرهای موج ۲

هر سه lint-clean روی PHP 8.4 و در SwaggerController ثبت شده‌اند.

Forum ۳۲ فایل · ۲ ریسورس lint

ow_plugins/forum/src · wraps FORUM_BOL_ForumService · Topic + Post

GET /api/v1/forum/topics · POST · GET /{id} · PATCH · DELETE
GET /api/v1/forum/topics/{id}/posts · POST
PATCH /api/v1/forum/posts/{id} · DELETE

Questions / Polls ۱۸ فایل lint

ow_plugins/iisquestions/src · wraps iisquestions BOL

GET /api/v1/polls · POST · GET /{id} · PATCH · DELETE
POST /api/v1/polls/{id}/vote

Comments ۱۷ فایل lint

ow_plugins/iiscommentplus/src · cross-entity · wraps BOL_CommentService + IISLIKE_BOL_Service

GET /api/v1/comments?entity_type=&entity_id=
POST /api/v1/comments · DELETE /{id}
POST /api/v1/comments/{id}/like · DELETE /{id}/like
لایک کامنت از طریق پلاگین iislike است (باید فعال باشد).

02 ثبت مرکزی (انجام‌شده)

فایل‌های مشترک ویرایش و lint شدند.

فایلتغییر
composer.jsonpsr-4 برای Plugin\Video/Event/Friends/Notifications
bridge/src/Kernel.php۴ Provider به آرایه‌ی $providers اضافه شد
ow_plugins/api/.../SwaggerController.phpscanDirs برای ۴ پلاگین (تا در داکس زنده ظاهر شوند)
هر پلاگینbootstrap/app.php + controllers/bridge.php + init.php + routes/api.php

03 نیاز به تأیید تو

چند تصمیم که بهتره قبل از پوش روشن شوند.

04 ادامه‌ی کار

این صفحه با تکمیل هر موج به‌روز می‌شود.

وضعیت پوش: هیچ‌چیز روی گیت‌لب moto-next پوش نشده. کل کد در برنچ ایزوله‌ی feat/api-all-features است. پس از تأیید نهایی تو، پوش می‌شود.

Motoshub API v1 Build Review · تولید در worktree ایزوله · lint با PHP 8.4