メインコンテンツまでスキップ
バージョン: 0.5.0 (最新)

🔍 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'
});