🛣️ アトリビューションルート
アトリビューションルートはExpressミドルウェアではなくSDKコンポーザーです。公開された読み取りには認証が不要ですが、ミューテーションには認証済み管理者が必要です。
目次
| ルート | メソッド / プロトコル | パス | スキーマ | バリデーター | 成功ステータス |
|---|---|---|---|---|---|
createAttributeRoute | POST / HTTP | /attributes | createAttributesSchema | isAuthenticated()、checkIdentityType(['admin']) | 201 |
findAttributesRoute | GET / HTTP | /attributes | findAttributesSchema | なし | 200 |
getAttributeRoute | GET / HTTP | /attributes/:attributeId | getAttributeSchema | なし | 200 |
updateAttributeRoute | PATCH / HTTP | /attributes/:attributeId | updateAttributesSchema | isAuthenticated()、checkIdentityType(['admin']) | 200 |
deleteAttributeRoute | DELETE / HTTP | /attributes/:attributeId | deleteAttributeSchema | isAuthenticated()、checkIdentityType(['admin']) | 204 |
詳細
createAttributeRoute
実装
エンドポイント: POST /attributes
アクセス: 認証済み管理者: isAuthenticated() かつ checkIdentityType(['admin'])。
リクエスト: 必須JSON作成ボディ。
パイプライン: createAttributeGroup → getAttributeGroupById → createAttributeGroupTerminator。
成功: _id を除かれた作成されたグループを 201 で返します。
失敗: 不足/空のボディまたは不足な挿入結果は 400;失敗したポスト作成ルックアップ/ターミネーターは 404;スローされた永続化作業は 500 です。認証と管理者検証が最初に実行されます。完全なソースを表示
findAttributesRoute
実装
エンドポイント: GET /attributes
アクセス: 公開。
リクエスト: オプションのnameおよびページネーションクエリ。
パイプライン: findAttributeGroups through withPagination → normalizeAttributesListTerminator。
成功: ペネーションがページネーション結果を提供する場合、正規化されたグループ、または { data, metadata: { pagination } } を 200 で返します。
失敗: クエリ/データベースの失敗または予期せぬリスト結果の形状は 500 です。完全なソースを表示
getAttributeRoute
実装
エンドポイント: GET /attributes/:attributeId
アクセス: 公開。
リクエスト: 必須文字列attributeId パスパラメータ。
パイプライン: getAttributeGroupById → normalizeAttributeGroupTerminator。
成功: _id を除かれたグループを 200 で返します。
失敗: 不足なIDは 400、不足なグループは 404、スローされたクエリは 500 です。完全なソースを表示
updateAttributeRoute
実装
エンドポイント: PATCH /attributes/:attributeId
アクセス: 認証済み管理者: isAuthenticated() かつ checkIdentityType(['admin'])。
リクエスト: 必須path/body契約。name のみがスキーマでサポートされています;ハンドラーは {} も拒否します。
パイプライン: updateAttributeGroup → getAttributeGroupById → normalizeAttributeGroupTerminator。
成功: 再読み込みされた正規化グループを 200 で返します。
失敗: 不足なID/ボディまたは変更のない更新は 400;不足なグループは 404;スローされた更新/再読み込みは 500 です。認証と管理者検証が最初に実行されます。完全なソースを表示
deleteAttributeRoute
実装
エンドポイント: DELETE /attributes/:attributeId
アクセス: 認証済み管理者: isAuthenticated() かつ checkIdentityType(['admin'])。
リクエスト: 必須文字列attributeId パスパラメータ。
パイプライン: deleteAttributeGroup → deleteAttributeTerminator。
成功: レスポンスデータなしの 204。
失敗: 不足なIDは 400、一致するグループがない場合は 404、false/スローされた削除または不足なターミネーターフラグは 500 です。認証と管理者検証が最初に実行されます。完全なソースを表示