🔍 Identity スキーマブロック
Identity schema ブロックは、NodeBlocks アプリケーションにおけるアイデンティティデータ検証のための JSON Schema 定義を提供します。これらのスキーマはデータ整合性を確保し、アイデンティティ関連の API エンドポイントのための明確なコントラクトを提供します。
🎯 概要
Identity スキーマブロックは次のことを目的として設計されています:
- 処理前にアイデンティティデータを検証する
- アプリケーション全体でのアイデンティティデータの一貫性を確保する
- アイデンティティ API エンドポイントのための明確なコントラクトを提供する
- TypeScript 統合によるタイプセーフティを有効にする
- 他のアイデンティティブロックとの合成をサポートする
📋 Identity スキーマタイプ
ベースアイデンティティスキーマ
他のスキーマの基礎として使用されるコアイデンティティエンティティ構造。
Identity 取得スキーマ
識別子検証を使用して特定のアイデンティティを取得するためのスキーマ。
Identity 更新スキーマ
オプションのフィールド検証を使用したアイデンティティ変更のためのスキーマ。
Identity 検索スキーマ
アイデンティティフィルタリングとページネーションパラメーターのためのスキーマ。
Identity 削除スキーマ
アイデンティティ削除操作のためのスキーマ。
🔧 利用可能な Identity スキーマ
identityIdPathParameter
アイデンティティ操作のためのベースアイデンティティ ID パスパラメータスキーマ。
目的: すべてのアイデンティティ操作においてアイデンティティ ID 検証のための再利用可能なパスパラメータスキーマ
スキーマ詳細:
- タイプ:
string
- 場所:
path
- 必須:
true
- 名前:
identityId
使用例:
import { schemas } from '@nodeblocks/backend-sdk';
const { identityIdPathParameter } = schemas;
// スキーマ合成で使用
export const getIdentitySchema = withSchema({
parameters: [{ ...identityIdPathParameter }]
});
getIdentitySchema
アイデンティティ ID 検証を使用したアイデンティティ取得スキーマ。
目的: このスキーマは、一意の識別子によって特定のアイデンティティを取得するためのリクエストを検証します。identityId が提供され、適切にフォーマットされていることを確保します。
スキーマ詳細:
- パラメーター:
identityId
(パスパラメーター、必須) - 目的: 特定のアイデンティティを取得するためのリクエストを検証
使用例:
import { schemas } from '@nodeblocks/backend-sdk';
const { getIdentitySchema } = schemas;
const identitySchema = getIdentitySchema({});
const validate = ajv.compile(identitySchema.schemas as SchemaDefinition);
const isValid = validate({
identityId: 'identity123'
});
findIdentitySchema
名前フィルタリングとページネーションを使用したアイデンティティ検索スキーマ。
目的: このスキーマは、アイデンティティの検索とページネーションのリクエストを検証します。オプションの名前フィルタリングと標準のページネーションパラメーターをサポートします。
スキーマ詳細:
- クエリパラメーター:
name?: string
(名前によるオプションのフィルター)page?: number
(ページネーション)limit?: number
(ページネーション)
- 目的: アイデンティティの検索とページネーションのリクエストを検証
使用例:
import { schemas } from '@nodeblocks/backend-sdk';
const { findIdentitySchema } = schemas;
const identitySchema = findIdentitySchema({});
const validate = ajv.compile(identitySchema.schemas as SchemaDefinition);
const isValid = validate({
name: 'john',
page: 1,
limit: 10
});
updateIdentitySchema
変更可能なフィールド検証を使用したアイデンティティ更新スキーマ。
目的: このスキーマは、アイデンティティ情報の更新リクエストを検証します。アイデンティティフィールドの部分更新を許可しつつ、有効なフィールドのみが変更できることを確保します。
スキーマ詳細:
- パラメーター:
identityId
(パスパラメーター、必須) - リクエストボディ:
必須
- Content-Type:
application/json
- プロパティ:
email?: string
(オプションの新しいメールアドレス)emailVerified?: boolean
(オプションのメール検証ステータス)typeId?: string
(オプションの新しいアイデンティティタイプ識別子)
- 追加プロパティ:
false
(厳密な検証)
使用例:
import { schemas } from '@nodeblocks/backend-sdk';
const { updateIdentitySchema } = schemas;
const identitySchema = updateIdentitySchema({});
const validate = ajv.compile(identitySchema.schemas as SchemaDefinition);
const isValid = validate({
identityId: 'identity123',
email: 'newemail@example.com',
emailVerified: true
});
deleteIdentitySchema
識別子検証を使用したアイデンティティ削除スキーマ。
目的: このスキーマは、特定のアイデンティティを削除するためのリクエストを検証します。削除操作のために identityId が提供されていることを確保します。
スキーマ詳細:
- パラメーター:
identityId
(パスパラメーター、必須) - 目的: 特定のアイデンティティを削除するためのリクエストを検証
使用例:
import { schemas } from '@nodeblocks/backend-sdk';
const { deleteIdentitySchema } = schemas;
const identitySchema = deleteIdentitySchema({});
const validate = ajv.compile(identitySchema.schemas as SchemaDefinition);
const isValid = validate({
identityId: 'identity123'
});