🔧 ユーティリティ
Nodeblocks SDKは、堅牢で保守可能なバックエンドサービスを構築するのに役立つ包括的なユーティリティ関数セットを提供します。これらのユーティリティはカテゴリごとに整理され、SDK全体で使用される関数型プログラミングパターンとシームレスに連携するように設計されています。
🔐 認証ユーティリティ
セキュアなAPIエンドポイントのための包括的な認証とトークン管理ユーティリティ:
getBearerTokenInfo: Authorizationヘッダーからのデフォルトのベアラートークン認証getCookieTokenInfo: Webアプリケーション用のCookieベースのトークン認証generateUserAccessToken: セキュリティバリデーション付きのユーザーアクセストークンを作成generateAppAccessToken: サービス間通信用のアプリケーションアクセストークンを作成generateRefreshToken: セッション管理用のリフレッシュトークンを作成generateOnetimeToken: 一時的なアクセス用のワンタイムトークンを作成decryptAndVerifyJWT: 暗号化されたJWTを復号化して検証tokenPassesSecurityCheck: トークンに対してフィンガープリント/IP/ユーザーエージェントを検証defaultRefreshTokenBodyAuth: リクエストボディからリフレッシュトークンを検証defaultRefreshTokenCookieAuth: Cookieからリフレッシュトークンを検証
🆔 エンティティユーティリティ
自動フィールド生成を使用してデータベースエンティティを作成および管理するための必須ユーティリティ:
createBaseEntity: 自動生成されたid、createdAt、updatedAtフィールドを持つエンティティを作成updateBaseEntity: 自動updatedAtタイムスタンプでエンティティを更新- UUID生成: エンティティID用の自動UUID v4生成
🔧 合成ユーティリティ
ハンドラーを合成し、非同期操作を処理し、複雑なビジネスロジックパイプラインを構築するための必須ユーティリティ:
compose: 複数の関数を単一のパイプラインに結合lift: 通常の関数をResult型で動作するように変換flatMap: Resultを返す同期操作をチェーンflatMapAsync: Resultを返す非同期操作をチェーンapplyPayloadArgs: ペイロードから引数を抽出し、純粋関数に適用orThrow: エラータイプをHTTPコードにマッピングし、成功データを抽出match: ネストされたパスチェック用の述語ヘルパーifElse: 分岐用の関数型条件hasValue: 非空述語(null/undefined/空でない)
🎭 ハンドラーラッパー
任意のハンドラーに適用できる横断的関心事とミドルウェアのようなユーティリティ:
withLogging: 任意の関数に包括的なロギングを追加withPagination: データベース操作に自動ページネーションを追加
🔧 共通ユーティリティ
一般的な操作のための汎用ユーティリティ関数:
generateUUID: UUID v4文字列を生成isObject: 値がオブジェクト型かどうかをチェック- 型ガード: 型チェックとバリデーション用のヘルパー関数
📝 ロギングユーティリティ
構造化ロギング用のPinoによる事前設定されたロギングセットアップ:
nodeblocksLogger: きれいなフォーマット付きの事前設定されたPinoロガーnodeblocksHTTPLogger: HTTPリクエスト/レスポンスロギングミドルウェア- Logger Type: ロガー統合用のTypeScript型
🔄 近日公開
さらに多くのユーティリティカテゴリがここに追加されます:
- バリデーションユーティリティ: 一般的なバリデーションパターン用のヘルパー関数
- HTTPユーティリティ: リクエスト/レスポンスヘルパーとミドルウェアユーティリティ
- データベースユーティリティ: 一般的なデータベース操作ヘルパー
➡️ 次のステップ
- 基礎となる原則についてはConceptsを確認してください
- 詳細な認証パターンについてはAuthenticationを探索してください