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

✅ カテゴリバリデータ

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

インベントリ

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

詳細

doesCategoryExist

実装

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

消費者: getCategoryRouteupdateCategoryRoutedeleteCategoryRouteenableCategoryRoutedisableCategoryRoute

isAuthenticated()

実装

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

消費者: createCategoryRouteupdateCategoryRoutedeleteCategoryRouteenableCategoryRoutedisableCategoryRouteAuthentication バリデータリファレンス を参照してください。

checkIdentityType(['admin'])

実装

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

消費者: createCategoryRouteupdateCategoryRoutedeleteCategoryRouteenableCategoryRoutedisableCategoryRouteAuthentication バリデータリファレンス を参照してください。