Files
CFDivePlatform/openspec/changes/swagger-api-docs-completion/tasks.md
T
a620906209 b475a61d14 chore:新增 swagger-api-docs-completion change 規劃
proposal / design / specs / tasks 全部就緒,21 tasks 待實作

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 18:24:50 +00:00

4.5 KiB
Raw Blame History

1. 修正 AuthApiDoc.php 既有錯誤

  • 1.1 [後端] AuthApiDoc.php 修正所有路徑錯位:/register/member/member/register/login/member/member/login/logout/member/member/logout/profile/member/member/profileprovider、admin 同樣修正)
  • 1.2 [後端] AuthApiDoc.php 修正 change-password 路徑:/password/member/member/change-password/password/provider/provider/change-password/password/admin/admin/change-password
  • 1.3 [後端] AuthApiDoc.php 補上 POST /logout(通用登出)與 GET /user(取得當前使用者)

2. AuthSupplementDocGoogle OAuth 專用)

  • 2.1 [後端] 建立 app/Docs/AuthSupplementDoc.php,補上 GET /auth/google/redirectresponse: redirect_url)與 GET /auth/google/callbackresponse: token + user)兩個端點

3. 共用 Schema 與 PublicApiDoc

  • 3.1 [後端] 建立 app/Docs/PublicApiDoc.php,定義共用 SchemaDivingOfferReviewCourseScheduleBookingPaginationMetaApiErrorResponse
  • 3.2 [後端] PublicApiDoc.php 補上 GET /diving-offersquery: q、region、tag、per_page、pageresponse: DivingOffer 分頁)
  • 3.3 [後端] PublicApiDoc.php 補上 GET /diving-offers/{id}response: DivingOffer 含 cover_image_url、images 陣列;404
  • 3.4 [後端] PublicApiDoc.php 補上 GET /diving-offers/{id}/reviewsquery: sort、page、per_pageresponse: summary + reviews 分頁 + meta
  • 3.5 [後端] PublicApiDoc.php 補上 GET /diving-offers/{id}/schedulesresponse: CourseSchedule 陣列)

4. MemberApiDoc

  • 4.1 [後端] 建立 app/Docs/MemberApiDoc.php,補上 Member bookingsPOST /member/bookings201)、GET /member/bookings(分頁)、GET /member/bookings/{id}DELETE /member/bookings/{id}
  • 4.2 [後端] MemberApiDoc.php 補上 Member reviewsPOST /member/reviews403/422)、PUT /member/reviews/{id}403)、DELETE /member/reviews/{id}403
  • 4.3 [後端] MemberApiDoc.php 補上 POST /reviews/{id}/helpfulresponse: helpful_count、has_voted
  • 4.4 [後端] MemberApiDoc.php 補上 notificationsGET /notifications(分頁)、GET /notifications/unread-countPATCH /notifications/{id}/readPATCH /notifications/read-allDELETE /notifications/{id}

5. ProviderApiDoc

  • 5.1 [後端] 建立 app/Docs/ProviderApiDoc.php,補上 Provider offers CRUDGET /provider/offersPOST /provider/offersGET /provider/offers/{id}403)、PUT /provider/offers/{id}DELETE /provider/offers/{id}
  • 5.2 [後端] ProviderApiDoc.php 補上圖片管理:POST /provider/offers/{id}/covermultipart)、DELETE /provider/offers/{id}/coverPOST /provider/offers/{id}/imagesDELETE /provider/images/{id}
  • 5.3 [後端] ProviderApiDoc.php 補上 schedulesGET /provider/schedulesquery: offer_id?)、POST /provider/schedulesPUT /provider/schedules/{id}DELETE /provider/schedules/{id}
  • 5.4 [後端] ProviderApiDoc.php 補上 bookings 管理:GET /provider/bookingsPUT /provider/bookings/{id}/confirmPUT /provider/bookings/{id}/rejectPUT /provider/bookings/{id}/completePUT /provider/bookings/{id}/cancel

6. AdminApiDoc

  • 6.1 [後端] 建立 app/Docs/AdminApiDoc.php,補上 GET /admin/statsresponse: total_members/providers/offers403
  • 6.2 [後端] AdminApiDoc.php 補上會員管理:GET /admin/members(分頁)、GET /admin/members/{id}PUT /admin/members/{id}/toggle-activeGET /admin/check-member/{id}
  • 6.3 [後端] AdminApiDoc.php 補上教練管理:GET /admin/providers(分頁)、GET /admin/providers/{id}PUT /admin/providers/{id}/toggle-activePUT /admin/providers/{id}/toggle-verifiedGET /admin/check-provider/{id}
  • 6.4 [後端] AdminApiDoc.php 補上課程/預約/評價管理:GET /admin/offersDELETE /admin/offers/{id}GET /admin/bookingsPUT /admin/bookings/{id}/completeGET /admin/reviewsper_page 最大 100)、DELETE /admin/reviews/{id}

7. 驗證

  • 7.1 [整合測試] 執行 docker exec cfdive-app php artisan l5-swagger:generate,確認無 parse error
  • 7.2 [整合測試] 開啟 http://localhost:8080/api/documentation,展開各 tag 確認路徑正確(/member/register 而非 /register/member
  • 7.3 [整合測試] 確認端點總數 ≥ 76,GET /diving-offers/{id}/reviews 顯示分頁 meta schema