microcms-js-sdk
microcms-js-sdk copied to clipboard
【DO NOT MERGE】updateのリクエストにisDraft追加
Summary by CodeRabbit
-
新機能
- 更新操作でドラフト保存が可能になりました(isDraft フラグ指定でドラフトとして更新)。
-
パブリックAPIの変更
- 更新リクエストにオプションの isDraft フィールドが追加され、更新呼び出しで指定可能になりました。
-
テスト
- ドラフト/非ドラフト双方の更新フローを検証するテストを追加・更新しました。
-
ドキュメント
- README と日本語ドキュメントに「ドラフト更新」の使用例を追加し、関連コメントを整理しました。
✏️ Tip: You can customize this high-level summary in your review settings.
Walkthrough
更新操作にドラフト対応を追加しました。UpdateRequest に isDraft?: boolean を追加し、createClient の update 実装で isDraft を受け取り queries = isDraft ? { status: 'draft' } : {} を作成して makeRequest に渡すように変更。テストとドキュメントにドラフト更新の例と検証を追加しています。
変更内容
| コホート / ファイル | 変更サマリー |
|---|---|
型定義 src/types.ts |
UpdateRequest<T> インターフェースに isDraft?: boolean オプショナルプロパティを追加 |
クライアント実装 src/createClient.ts |
update メソッドで isDraft = false を受け取り、queries = isDraft ? { status: 'draft' } : {} を生成して makeRequest に渡すロジックを追加 |
テスト更新 tests/write.test.ts |
テストサーバーモックが URL の status クエリを解析して、patchListApiMockFn/patchObjectApiMockFn の第1引数に 'draft' または null を渡すよう変更。既存テストを null 呼び出しに更新し、ドラフト更新の新規テストを追加 |
ドキュメント README.md, README_jp.md |
「下書き更新 (isDraft)」の使用例を追加し、古い注釈(料金に関するコメント)を削除。日本語版にも同等の例を追加 |
Sequence Diagram
sequenceDiagram
participant Client
participant UpdateFn as update(...)
participant MakeReq as makeRequest
participant API
rect rgb(240,248,255)
Note over Client,API: 非ドラフト更新 (isDraft = false)
Client->>UpdateFn: update({ isDraft: false, ... })
UpdateFn->>UpdateFn: queries = {}
UpdateFn->>MakeReq: makeRequest(..., queries)
MakeReq->>API: PATCH /path
end
rect rgb(245,255,240)
Note over Client,API: ドラフト更新 (isDraft = true)
Client->>UpdateFn: update({ isDraft: true, ... })
UpdateFn->>UpdateFn: queries = { status: 'draft' }
UpdateFn->>MakeReq: makeRequest(..., queries)
MakeReq->>API: PATCH /path?status=draft
end
推定コードレビュー工数
🎯 3 (Moderate) | ⏱️ ~20–30 分
- 注目ポイント:
-
src/createClient.ts:isDraftによるクエリ生成とmakeRequest呼び出しの引数整合性(既存のパス/クエリ結合ロジックとの整合)。 -
src/types.ts: public API 型の変更による影響範囲(型利用箇所の確認)。 -
tests/write.test.ts: モック呼び出しシグネチャとアサーションの適合性、ドラフトケースの網羅。
-
Pre-merge checks and finishing touches
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | プルリクエストのタイトルは、UpdateRequestに isDraft パラメータを追加するという主要な変更を正確に説明しており、変更内容と完全に関連しています。 |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✨ Finishing touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
add-draft-to-patch
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
TODO:APIのリリース後にマージしてPublishする