🛣️ アイデンティティのルート
アイデンティティのルートはSDKコンポーザーであり、Expressミドルウェアではありません。全てのエンドポイントは最初に isAuthenticated() を実行し、次に checkIdentityType(['admin']) を実行します。
インベントリ
| ルート | メソッド / プロトコル | パス | スキーマ | バリデーター | 成功ステータス |
|---|---|---|---|---|---|
findIdentitiesRoute | GET / HTTP | /identities | findIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 200 |
getIdentityRoute | GET / HTTP | /identities/:identityId | getIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 200 |
updateIdentityRoute | PATCH / HTTP | /identities/:identityId | updateIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 200 |
deleteIdentityRoute | DELETE / HTTP | /identities/:identityId | deleteIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 204 |
lockIdentityRoute | POST / HTTP | /identities/:identityId/lock | lockIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 204 |
unlockIdentityRoute | POST / HTTP | /identities/:identityId/unlock | unlockIdentitySchema | isAuthenticated(), checkIdentityType(['admin']) | 204 |
詳細
findIdentitiesRoute
実装
エンドポイント: GET /identities
管理者に表示されるアイデンティティをリストします。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: findIdentitySchema は省略可能なクエリフィールド name (文字列)、page (整数 1–1000)、および limit (整数 1–50) を受け付けます。ルートは検証された完全なリクエストクエリを findIdentities に渡します。
パイプライン: findIdentities → normalizeIdentitiesWithoutPassword → orThrow。
成功: デフォルトの 200 JSON配列。各アイデンティティは password と MongoDB _id を削除するように正規化されます。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。findIdentities は 500 の Failed to find identities を生成する場合があります。完全なソースを表示
getIdentityRoute
実装
エンドポイント: GET /identities/:identityId
管理者に表示されるアイデンティティを1つ取得します。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: getIdentitySchema は文字列のパスパラメーター identityId を必須とします。
パイプライン: getIdentityById → normalizeIdentity → orThrow。
成功: password と MongoDB _id を削除したデフォルトの 200 JSONアイデンティティ。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。getIdentityById は 404 の Identity not found または 500 の Failed to get identity を生成する場合があります。完全なソースを表示
updateIdentityRoute
実装
エンドポイント: PATCH /identities/:identityId
アイデンティティを更新し、再読み込みします。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: updateIdentitySchema は文字列パス identityId と必須の application/json ボディを必須とします。ボディは厳格なオブジェクトです:省略可能な email (文字列)、emailVerified (ブール値)、および typeId (文字列) のみが許可されたフィールドです。
パイプライン: updateIdentity → getIdentityById → normalizeIdentity → orThrow。
成功: 再読み込みされたアイデンティティのデフォルト 200 JSONで、password と MongoDB _id が削除されています。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。updateIdentity は 400、404 の Identity not found、または 500 の Failed to update identity を生成する場合があります;再読み込みは追加でリンクされた getIdentityById の失敗を生成する可能性があります。完全なソースを表示
deleteIdentityRoute
実装
エンドポイント: DELETE /identities/:identityId
アイデンティティを削除します。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: deleteIdentitySchema は文字列のパスパラメーター identityId を必須とします。
パイプライン: deleteIdentity → deleteIdentityTerminator。
成功: レスポンスボディなしの 204。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。deleteIdentity は 404 の Identity not found または 500 の Failed to delete identity を生成する場合があります;ターミネーターは 500 の Unknown error deleting identity を生成する可能性があります。完全なソースを表示
lockIdentityRoute
実装
エンドポイント: POST /identities/:identityId/lock
アイデンティティをロックします。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: lockIdentitySchema は文字列のパスパラメーター identityId を必須とします;スキーマはリクエストボディを定義せず、ルートも読み取りません。
パイプライン: buildLockIdentityPayload → updateIdentity → orThrow。ペイロードビルダーと更新ブロックはそれぞれ withLogging でラップされています。
成功: レスポンスボディなしの 204。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。updateIdentity は 400、404 の Identity not found、または 500 の Failed to update identity を生成する場合があります。完全なソースを表示
unlockIdentityRoute
実装
エンドポイント: POST /identities/:identityId/unlock
アイデンティティのロックを解除します。バリデーターは次の順序で実行されます:isAuthenticated()、次に checkIdentityType(['admin'])。
アクセス: 認証済み管理者;デフォルトのBearerヘッダーまたはcookieモードで accessToken Cookieを使用します。
リクエスト: unlockIdentitySchema は文字列のパスパラメーター identityId を必須とします;スキーマはリクエストボディを定義せず、ルートも読み取りません。
パイプライン: buildUnlockIdentityPayload → updateIdentity → orThrow。ペイロードビルダーと更新ブロックはそれぞれ withLogging でラップされています。
成功: レスポンスボディなしの 204。
失敗: 認証と管理者検証はリンクされた共有バリデーターの動作を使用します。updateIdentity は 400、404 の Identity not found、または 500 の Failed to update identity を生成する場合があります。完全なソースを表示