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

⚙️ 組織ハンドラー

組織ハンドラーは Express ミドルウェアではなく、ルートパイプライン関数です。paramscontext から RouteHandlerPayload 値を読み取り、成功した値を context.data にマージするか、成功した Result を HTTP レスポンスディスクリプターで終了します。これらのエクスポートは、前のパイプラインステップの後に HTTP レスポンスを整形するターミネーターです。

一覧

ハンドラーパイプラインでの役割入力 / コンテキスト結果 / 動作 / エラー使用するルート
normalizeOrganizationTerminatorターミネーターcontext.data.organization_id を削除して組織を返します。組織がない場合は 500createOrganizationRoutegetOrganizationRouteupdateOrganizationRouteupdateOrganizationAsAdminRoute
normalizeOrganizationsListTerminatorターミネーターcontext.data.organizations配列またはページネーション済みの data から _id を削除します。不正または欠落した値は 500findOrganizationsRoute
deleteOrganizationTerminatorターミネーターcontext.data.hasDeletedOrganization削除に成功した場合は {statusCode: 204}、それ以外は 500 を返します。deleteOrganizationRoute
normalizeOrganizationMemberExistenceTerminatorターミネーターcontext.data.isMemberOfOrganization{isMemberOfOrganization} を返します。値の欠落は 500checkOrganizationMemberExistenceRoute
normalizeOrganizationMembersListTerminatorターミネーターcontext.data.organizationMembersメンバー配列またはページネーション済み形状を返します。不正または欠落した値は 500findOrganizationMembersRoute
deleteOrganizationMemberTerminatorターミネーターcontext.data.hasDeletedOrganizationMemberメンバー削除に成功した場合は {statusCode: 204}、それ以外は 500 を返します。deleteOrganizationMemberRoute
upsertOrganizationMembersTerminatorターミネーターcontext.data.hasUpsertedOrganizationMembersupsert に成功した場合は {statusCode: 204}、それ以外は 500 を返します。upsertOrganizationMembersRoute

詳細

normalizeOrganizationTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。成功時には context.data.organization を読み取り、データベース専用の _id を削除して、残りのパブリック組織オブジェクトを返します。organization がない場合は NodeblocksError(500, 'Unknown error normalizing organization', 'normalizeOrganizationTerminator') をスローします。createOrganizationRoutegetOrganizationRouteupdateOrganizationRouteupdateOrganizationAsAdminRoute で使用されます。

normalizeOrganizationsListTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。context.data.organizations を読み取ります。配列の場合は各項目から _id を削除し、ページネーション済み値の場合は各項目から _id を削除した {data, metadata: {pagination}} を返します。配列でも配列の data を持つオブジェクトでもない値は NodeblocksError(500, 'Unknown error normalizing organizations list', 'normalizeOrganizationsListTerminator') をスローします。findOrganizationsRoute で使用されます。

deleteOrganizationTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。真の context.data.hasDeletedOrganization を必要とし、{statusCode: 204} を返します。値の欠落または false は NodeblocksError(500, 'Unknown error deleting organization', 'deleteOrganizationTerminator') をスローします。最終ターミネーターである deleteOrganizationRoute で使用されます。

normalizeOrganizationMemberExistenceTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。context.data.isMemberOfOrganization を読み取り、{isMemberOfOrganization} を返します。false は有効ですが、null または undefinedNodeblocksError(500, 'Unknown error normalizing organization member existence', 'normalizeOrganizationMemberExistenceTerminator') をスローします。checkOrganizationMemberExistenceRoute で使用されます。

normalizeOrganizationMembersListTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。context.data.organizationMembers を読み取り、配列の場合は直接返します。ページネーション済み値の場合は {data, metadata: {pagination}} を返します。どちらでもない値は NodeblocksError(500, 'Unknown error normalizing organization members', 'normalizeOrganizationMembersListTerminator') をスローします。findOrganizationMembersRoute で使用されます。

deleteOrganizationMemberTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。真の context.data.hasDeletedOrganizationMember を必要とし、{statusCode: 204} を返します。値の欠落または false は NodeblocksError(500, 'Unknown error deleting organization member', 'deleteOrganizationMemberTerminator') をスローします。最終ターミネーターである deleteOrganizationMemberRoute で使用されます。

upsertOrganizationMembersTerminator

実装

パイプライン結果がエラーの場合は result.error をスローします。真の context.data.hasUpsertedOrganizationMembers を必要とし、{statusCode: 204} を返します。値の欠落または false は NodeblocksError(500, 'Unknown error when trying to upsert organization members', 'upsertOrganizationMembersTerminator') をスローします。最終ターミネーターである upsertOrganizationMembersRoute で使用されます。