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

🏢 組織ブロック

組織ブロックは、Nodeblocksアプリケーションで組織管理の包括的な機能を提供します。これらのブロックは、作成、メンバー管理、ビジネスロジックを含む組織ライフサイクル操作を処理します。


🎯 概要

組織ブロックは以下の目的で設計されています:

  • 完全なCRUD操作で組織を管理 - 作成、読み取り、更新、削除の操作をサポート
  • メンバー管理とロール割り当てを処理 - 組織内のメンバーシップと権限を管理
  • 組織のバリデーションとビジネスルールを提供 - データ整合性とアクセス制御を確保
  • マルチテナントアプリケーションアーキテクチャをサポート - 組織間の分離を実現
  • 包括的なコントロールで組織管理を有効化 - 完全な管理機能を提供

📦 ブロックタイプ

🔍 スキーマ

組織データのバリデーション用のJSON Schema定義:

  • organizationSchema: 基本組織エンティティ構造
  • createOrganizationSchema: 組織作成のバリデーション
  • updateOrganizationSchema: 組織更新のバリデーション
  • getOrganizationSchema: 組織取得のバリデーション
  • deleteOrganizationSchema: 組織削除のバリデーション
  • organizationMembersSchema: メンバーロール割り当て配列
  • upsertOrganizationMembersSchema: メンバーロールのアップサートペイロード
  • getOrganizationMemberRoleSchema: メンバーロール取得
  • checkOrganizationMemberExistenceSchema: メンバー存在チェック
  • findOrganizationMembersSchema: メンバー一覧クエリ
  • deleteOrganizationMemberSchema: メンバー削除のバリデーション
  • findOrganizationsSchema: フィルタリングとページネーション付きの組織検索
  • findOrganizationsForMemberSchema: オプションのロールと継承付きのメンバー別組織
  • findOrganizationDescendantsSchema: オプションの深さ付きの子孫取得
  • findChangeRequestsForOrganizationSchema: ページネーション付きの変更リクエスト取得
  • getOrganizationFollowersSchema: ページネーションサポート付きの組織フォロワー取得
  • getCertificateUploadUrlSchema: 証明書アップロードURL生成のバリデーション
  • createChangeRequestSchema: 変更リクエスト作成のバリデーション
  • updateOrganizationAsAdminSchema: 管理者レベルの組織更新のバリデーション
  • findByOrganizationIdSchema: 組織スコープのリソース取得のバリデーション

組織スキーマを表示 →

🔧 ブロック

組織操作の純粋なビジネスロジック関数:

  • createOrganization: 組織作成
  • getOrganizationById: 組織データ取得
  • updateOrganization: 組織更新
  • deleteOrganization: 組織削除
  • findOrganizations: 組織検索とフィルタリング
  • calculateDirectMemberRole: メンバーの直接ロールを計算
  • checkOrganizationMemberExistence: アイデンティティがメンバーかどうかをチェック
  • findOrganizationMembers: ページネーションメタデータ付きでメンバーを一覧表示
  • upsertOrganizationMembers: メンバーを追加/更新(既存とマージ)
  • deleteOrganizationMember: 組織からメンバーを削除
  • findOrganizationsForIdentity: オプションのロールフィルタリング付きで特定のアイデンティティの組織を検索
  • findOrganizationsForMember: 特定のアイデンティティの組織を一覧表示
  • calculateChildAncestors: 親から子の祖先を計算
  • buildDescendantsQuery: 子孫検索用のクエリを構築
  • buildOrganizationsForMemberByRoleQuery: メンバーロール別の組織用のMongoDBクエリを構築
  • buildOrganizationsForMemberByIdsQuery: メンバーID別の組織用のMongoDBクエリを構築
  • buildOrganizationsWithDescendantsQuery: 子孫を含む組織用のクエリを構築
  • buildOrganizationFollowersByFollowOrganizationIdQuery: 組織フォロワー用のMongoDBクエリを構築
  • buildOrganizationIdFilter: データベースクエリ用の組織IDフィルターを構築
  • generateSignedLogoUploadUrl: ロゴアップロード用の署名付きURLを生成
  • normalizeCertificateImage: 署名付きURL付きで組織証明書画像を正規化
  • normalizeCertificateImages: 複数の組織の証明書画像を正規化
  • normalizeLogoOfOwner: objectIdを署名付きURLに変換して所有者ロゴを正規化
  • normalizeLogosOfOwners: 複数の所有者のロゴを正規化
  • normalizeLogosOfPaginatedOwners: ページネーションされた組織所有者のロゴURLを正規化
  • deleteLogoOfOwner: 所有者エンティティのストレージからロゴファイルを削除
  • extractAncestors: すべての一意の祖先組織IDを抽出
  • calculateInheritedMemberRole: 祖先から最高の継承メンバーロールを計算
  • calculateMemberRole: 組織とアイデンティティのメンバーロール(直接または継承)を計算
  • calculateMemberRoleForOrganizations: リスト内の各組織のメンバーロール情報を計算
  • normalizeOrganizations: _idフィールドを削除して組織の配列を正規化
  • normalizeOrganization: 組織データからMongoDB _idフィールドを削除
  • normalizeOrganizationsForMember: メンバーレスポンス用の組織を正規化
  • findChangeRequests: 組織の変更リクエストを取得
  • normalizeChangeRequest: ファイルURL付きで単一の変更リクエストを正規化
  • normalizeChangeRequests: ファイルURL付きで変更リクエストの配列を正規化
  • validateOrganizationName: 組織名の一意性バリデーション
  • createChangeRequest: データベース内の組織変更リクエスト作成
  • buildUpdateOrganizationAfterNewChangeRequestPayload: 新しい変更リクエスト後の組織監査ステータス更新ペイロード
  • validateAuditStatus: 変更リクエストワークフロー用の組織監査ステータスバリデーション
  • エラークラス: OrganizationBadRequestError, OrganizationChangeRequestDbError, OrganizationChangeRequestError, OrganizationNotFoundError

組織ブロックを表示 →

🧰 ハンドラー

APIレスポンスフォーマット用のターミネーターと正規化ハンドラー:

  • normalizeOrganizationTerminator: 単一の組織レスポンスを正規化
  • normalizeOrganizationsListTerminator: 組織リストレスポンスを正規化
  • deleteOrganizationTerminator: 組織削除用の204レスポンスをフォーマット
  • normalizeOrganizationMemberExistenceTerminator: メンバーシップ存在レスポンスを正規化
  • normalizeOrganizationMembersListTerminator: メンバーリストレスポンスを正規化
  • deleteOrganizationMemberTerminator: メンバー削除用の204レスポンスをフォーマット
  • upsertOrganizationMembersTerminator: メンバーアップサート用の204レスポンスをフォーマット

組織ハンドラーを表示 →

🛣️ ルート

組織操作用のHTTPエンドポイント定義:

  • createOrganizationRoute: POST /organizations 作成ブロック付き
  • getOrganizationRoute: GET /organizations/:organizationId 取得ブロック付き
  • findOrganizationsRoute: GET /organizations 検索とページネーション付き
  • updateOrganizationRoute: PATCH /organizations/:organizationId 更新ブロック付き
  • deleteOrganizationRoute: DELETE /organizations/:organizationId 削除ブロック付き
  • getOrganizationMemberRoleRoute: GET /organizations/:organizationId/members/:identityId/role ロール取得付き
  • checkOrganizationMemberExistenceRoute: GET /organizations/:organizationId/members/check-existence メンバーシップチェック付き
  • findOrganizationMembersRoute: GET /organizations/:organizationId/members メンバー一覧付き
  • upsertOrganizationMembersRoute: PATCH /organizations/:organizationId/members メンバーアップサート付き
  • deleteOrganizationMemberRoute: DELETE /organizations/:organizationId/members/:identityId メンバー削除付き
  • findOrganizationsForMemberRoute: GET /organizations/members/:identityId アイデンティティ組織付き
  • findOrganizationDescendantsRoute: GET /organizations/:organizationId/descendants 子孫一覧付き
  • getLogoUploadUrlRoute: GET /organizations/:organizationId/logo-upload-url 署名付きURL生成付き
  • getCertificateUploadUrlRoute: GET /organizations/:organizationId/certificate-upload-url 証明書署名付きURL生成付き
  • createChangeRequestRoute: POST /organizations/:organizationId/change-requests 変更リクエスト作成付き
  • findChangeRequestsForOrganizationRoute: GET /organizations/:organizationId/change-requests 変更リクエスト取得付き
  • updateOrganizationAsAdminRoute: PATCH /admin/organizations/:organizationId/ 管理者レベルの組織更新付き
  • getOrganizationFollowersRoute: GET /organizations/:organizationId/followers フォロワー取得とページネーション付き

組織ルートを表示 →

🚀 機能

スキーマ、ルート、ブロックを組み合わせた完全な組織管理機能:

  • createOrganizationFeature: バリデーションとルーティング付きの組織作成
  • getOrganizationFeatures: 個別の組織を取得
  • findOrganizationsFeatures: フィルタリングとページネーション付きで組織を検索
  • editOrganizationFeatures: バリデーションとルーティング付きで組織を更新
  • deleteOrganizationFeatures: 組織を削除
  • getOrganizationMemberFeatures: 組織内のメンバーロールを取得
  • checkOrganizationMemberExistenceFeatures: 組織内のアイデンティティメンバーシップをバリデーション
  • findOrganizationMembersFeatures: ページネーション付きで組織メンバーを一覧表示
  • findOrganizationsForMemberFeatures: 特定のアイデンティティの組織を一覧表示
  • editOrganizationMembersFeatures: バリデーション付きで組織メンバーをアップサート
  • deleteOrganizationMemberFeatures: 組織メンバーを削除
  • findOrganizationDescendantsFeatures: 子孫組織を取得
  • getLogoUploadUrlFeature: ロゴアップロード用の署名付きURLを生成
  • getCertificateUploadUrlFeature: 証明書アップロード用の署名付きURLを生成
  • createChangeRequestFeature: バリデーションと監査追跡付きの組織変更リクエスト作成
  • findChangeRequestsForOrganizationFeature: ページネーション付きで組織変更リクエストを取得して正規化
  • updateOrganizationAsAdminFeature: 拡張フィールドアクセス付きの管理者専用組織更新
  • getOrganizationFollowersFeature: ページネーションとアバター正規化付きで組織フォロワーを取得

組織機能を表示 →

バリデーター

組織操作用のバリデーション関数:

  • hasOrgRole: 許可されたロールと組織IDに基づいて組織メンバーロールをバリデーション
  • validateOrganizationAccess (非推奨): レガシーアクセスバリデーター;hasOrgRoleに置き換え

組織バリデーターを表示 →


🔗 関連ドキュメント