メインコンテンツまでスキップ
バージョン: 0.15.0 (最新)

✅ カテゴリバリデータ

カテゴリルートは、直接のカテゴリ存在ガードと共有認証・管理者チェックを構成します。

インベントリ​

バリデータ読み取り成功条件失敗 / エラー消費者
doesCategoryExistparams.requestParams.categoryId、context.db.categoriesその ID を持つカテゴリが存在する。404 Category does not exist;データベースの拒否がサービスにより 500 に到達。getCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute
isAuthenticated()context.authenticate、または Bearer トークンのフォールバック設定された認証が成功する。アダプター定義の認証失敗。createCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute
checkIdentityType(['admin'])認証アダプター、identities、configuration.identity.typeIdsアイデンティティ typeId が設定された admin ID に等しい。500、401、または 403(失敗した前提条件による)。createCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute

詳細​

doesCategoryExist​

実装

これは直接バリデータです;doesCategoryExist() ではなく doesCategoryExist を使用してください。context.db.categories で String(params.requestParams?.categoryId) をルックアップし、レコードが存在しない場合に NodeblocksError(404, 'Category does not exist') をスローします。データベースの拒否を捕捉しないため、defService がその拒否を 500 サービスエラーに変換します。

消費者: getCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute。

isAuthenticated()​

実装

共有ファクトリバリデータです。設定されている場合 context.authenticate(payload) を呼び出します;そうでない場合は SDK Bearer トークンアダプターを使用します。アダプターはクライアントに返される認証エラーを決定します。

消費者: createCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute。Authentication バリデータリファレンス を参照してください。

checkIdentityType(['admin'])​

実装

共有ファクトリバリデータです。db.identities と configuration.identity.typeIds を要求し、リクエストを認証し、アイデンティティを読み込み、その typeId を typeIds.admin と比較します。設定の欠損は 500;無効なトークンは 401;利用できない、不正な形式、または非管理者のアイデンティティは 403 です。

消費者: createCategoryRoute、updateCategoryRoute、deleteCategoryRoute、enableCategoryRoute、disableCategoryRoute。Authentication バリデータリファレンス を参照してください。