🔧 共通ブロック
共通ブロックは、Nodeblocksアプリケーションで複数のエンティティにわたって使用できる再利用可能なスキーマ、ルート、ハンドラー、機能を提供します。これらのブロックは、一貫性を維持し、重複を減らすために共有および再利用されるように設計されています。
🎯 概要
共通ブロックは以下の目的で設計されています:
- 複数のエンティティにわたる再利用可能なコンポーネントの提供
- データ検証とAPIパターンの一貫性の維持
- 共有スキーマとユーティリティによるコード重複の削減
- ページネーションやレスポンスなどの共通操作の標準化のサポート
- エンティティ固有のブロックとの合成を可能にする
📦 ブロックタイプ
🔍 スキーマ
共通データ検証用のJSONスキーマ定義:
- 住所スキーマ: 異なる形式と地域の住所検証
- ページネーションスキーマ: 標準化されたページネーションパラメータとメタデータ
- レスポンススキーマ: 共通のAPIレスポンス構造
- ユーティリティスキーマ: 共通操作用の再利用可能なユーティリティスキーマ
🔧 ブロック
ドメイン間で共有される再利用可能なロジック:
- redirectTo: ルートチェーンでHTTPリダイレクトを発行
- generateRandomPassword: 安全なランダムパスワードを作成
- normalizeRawDocument: APIレスポンスからMongoDB
_idフィールドを削除 - normalizeDocuments: ドキュメント配列からMongoDB
_idフィールドを削除 - normalizeEmptyBody: APIハンドラー用の空のレスポンスボディを正規化
✅ バリデーター
ドメイン間で再利用する汎用検証関数:
- checkIdentityType: アイデンティティタイプ設定に基づいてアクセスを制限
- validateResourceAccess: 任意のリソースタイプ用の汎用アクセス制御バリデーター(非推奨)
- some: ORセマンティクスでバリデーターを合成
- requireParam: パラメータ要件バリデーターを作成するファクトリー関数
- isUUID: UUID形式バリデーターを作成するファクトリー関数
- isNumber: 数値形式バリデーターを作成するファクトリー関数
- ownsResource: 認証されたユーザーがデータベース内のリソースを所有しているかチェック