Files
a620906209 0dda2bb2a3
Tests / PHP 8.2 (pull_request) Failing after 2s
Tests / PHP 8.3 (pull_request) Failing after 2s
docs:補全所有 API 端點 Swagger 文件(73 個端點)
- 修正 AuthApiDoc.php 路徑錯位(/register/member → /member/register 等)
  及 change-password 方法(Post→Put);補上 POST /logout、GET /user
- 新增 AuthSupplementDoc.php(Google OAuth 2 端點)
- 新增 PublicApiDoc.php(共用 Schema + 公開課程 4 端點)
- 新增 MemberApiDoc.php(預約、評價、通知共 13 端點)
- 新增 ProviderApiDoc.php(課程、圖片、時段、預約管理共 18 端點)
- 新增 AdminApiDoc.php(統計、會員/教練/課程管理共 16 端點)
- 更新 README.md
- 歸檔 swagger-api-docs-completion change,同步主規格

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

44 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## ADDED Requirements
### Requirement: Provider 端點 Swagger 文件
`app/Docs/ProviderApiDoc.php` SHALL 文件化所有需要 Provider Bearer token 的端點(offers CRUD、圖片、schedules、bookings)。
#### Scenario: Provider offers CRUD 端點文件化
- **WHEN** 開啟 Swagger UI
- **THEN** 以下端點均有文件,標示 `security: bearerAuth`
- `GET /provider/offers`(分頁 response
- `POST /provider/offers`request: title、location、spot?、price、region、tag?、badges?、description?
- `GET /provider/offers/{id}`403 非本人)
- `PUT /provider/offers/{id}`request 同上,所有欄位 nullable
- `DELETE /provider/offers/{id}`
#### Scenario: Provider 圖片管理端點文件化
- **WHEN** 開啟 Swagger UI
- **THEN** 以下端點均有文件:
- `POST /provider/offers/{id}/cover`multipart/form-data: imageresponse: cover_image_url
- `DELETE /provider/offers/{id}/cover`
- `POST /provider/offers/{id}/images`multipart/form-data: images[];最多 10 張)
- `DELETE /provider/images/{id}`
#### Scenario: Provider schedules 端點文件化
- **WHEN** 開啟 Swagger UI
- **THEN** 以下端點均有文件:
- `GET /provider/schedules`query: offer_id?response: CourseSchedule 陣列)
- `POST /provider/schedules`request: diving_offer_id、date、period、capacity
- `PUT /provider/schedules/{id}`
- `DELETE /provider/schedules/{id}`
#### Scenario: Provider bookings 端點文件化
- **WHEN** 開啟 Swagger UI
- **THEN** 以下端點均有文件:
- `GET /provider/bookings`response: Booking 陣列,含 member 資訊)
- `PUT /provider/bookings/{id}/confirm`
- `PUT /provider/bookings/{id}/reject`
- `PUT /provider/bookings/{id}/complete`
- `PUT /provider/bookings/{id}/cancel`