メインコンテンツまでスキップ
バージョン: 0.13.0 (Previous)

✅ プロダクトバリデーター

プロダクトルートは、以下の共通バリデーターファクトリーを組み合わせます。各ファクトリーは、ルートパイプラインの実行前に注入されたルートペイロード/コンテキストを使用します。

一覧​

バリデーター読み取る値成功条件失敗 / エラー利用箇所
isAuthenticated()context.authenticate(デフォルトは getBearerTokenInfo)とリクエストトランスポート構成済みアダプターがリクエストを認証します。共通の無効/欠落トークン契約: 401。createProductRoute、createProductBatchRoute、updateProductBatchRoute、deleteProductBatchRoute、updateProductRoute、deleteProductRoute、copyProductRoute、copyProductBatchRoute、getProductImageUploadUrlRoute、createProductImageRoute、deleteProductImageRoute、createProductVariantRoute、getProductVariantRoute、updateProductVariantRoute、deleteProductVariantRoute、createProductVariantBulkRoute、updateProductVariantBulkRoute、deleteProductVariantBulkRoute、findProductsByOrganizationIdRoute、getProductLikersRoute
checkIdentityType(['admin'])context.db.identities、configuration.identity.typeIds、トークンのアイデンティティタイプが構成済みの admin タイプ ID と一致します。DB/構成の欠落は 500、無効なトークンは 401、検索/タイプ/認可の失敗は 403。createProductRoute、createProductBatchRoute、updateProductBatchRoute、deleteProductBatchRoute、updateProductRoute、deleteProductRoute、copyProductRoute、copyProductBatchRoute、getProductImageUploadUrlRoute、createProductImageRoute、deleteProductImageRoute、createProductVariantRoute、updateProductVariantRoute、deleteProductVariantRoute、createProductVariantBulkRoute、updateProductVariantBulkRoute、deleteProductVariantBulkRoute、getProductLikersRoute
hasOrgRolecontext.db.organizations、configuration.organization.roles、トークンのアイデンティティ、組織パス呼び出し元が owner、admin、member のいずれかです。DB/構成の欠落は 500、トークンは 401、ID は 400、認可は 403。findProductsByOrganizationIdRoute

詳細​

isAuthenticated()​

実装

シグネチャ: isAuthenticated(): Validator。isAuthenticated() として呼び出され、context.authenticate(payload) を実行します。アダプターが注入されない場合のデフォルトは getBearerTokenInfo です。プロダクトサービスは、省略された authMode または 'bearer' に Bearer 認証を、'cookie' には Cookie 認証を注入します。Cookie モードにはホスト側の Cookie 解析が必要です。無効または欠落した認証は 401 として報告されます。

利用箇所: createProductRoute、createProductBatchRoute、updateProductBatchRoute、deleteProductBatchRoute、updateProductRoute、deleteProductRoute、copyProductRoute、copyProductBatchRoute、getProductImageUploadUrlRoute、createProductImageRoute、deleteProductImageRoute、createProductVariantRoute、getProductVariantRoute、updateProductVariantRoute、deleteProductVariantRoute、createProductVariantBulkRoute、updateProductVariantBulkRoute、deleteProductVariantBulkRoute、findProductsByOrganizationIdRoute、getProductLikersRoute。

checkIdentityType(['admin'])​

実装

シグネチャ: checkIdentityType(['admin']): Validator。すべてのプロダクト利用箇所は checkIdentityType(['admin']) を呼び出します。context.db.identities と configuration.identity.typeIds を必要とし、ペイロードを認証してトークンのアイデンティティを読み込み、その typeId を configuration.identity.typeIds.admin と比較します。依存関係の欠落には 500、無効なユーザーアクセストークンには 401、アイデンティティ検索・タイプ欠落・認可失敗には 403 をスローします。

利用箇所: createProductRoute、createProductBatchRoute、updateProductBatchRoute、deleteProductBatchRoute、updateProductRoute、deleteProductRoute、copyProductRoute、copyProductBatchRoute、getProductImageUploadUrlRoute、createProductImageRoute、deleteProductImageRoute、createProductVariantRoute、updateProductVariantRoute、deleteProductVariantRoute、createProductVariantBulkRoute、updateProductVariantBulkRoute、deleteProductVariantBulkRoute、getProductLikersRoute。

hasOrgRole​

実装

プロダクトルートは hasOrgRole(['owner', 'admin', 'member'], ['params', 'requestParams', 'organizationId']) を呼び出します。ペイロードを認証し、その組織を読み込み、呼び出し元のメンバーシップロールを configuration.organization.roles と比較します。ルートでは checkIdentityType ではなく isAuthenticated() に続いて実行されます。データベース/構成の欠落には 500、無効なトークンには 401、組織 ID 欠落には 400、検索・メンバーシップ・ロールの失敗には 403 をスローします。

利用箇所: findProductsByOrganizationIdRoute。