🧱 Organization ブロック
Organization ブロックは、@nodeblocks/backend-sdk の blocks からエクスポートされる公開定数、エラークラス、再利用可能な組織操作です。関数は neverthrow の Result または Promise<Result<…>> を返すため、値を読む前に結果を確認してください。
一覧
| エクスポート | 種別 | 入力 | 結果/動作/エラー |
|---|---|---|---|
AUDIT_STATUS_WAITING_FOR_REVIEW | 定数 | なし | 監査ステータスの厳密なリテラル 'waiting_for_review'. |
AUDIT_STATUS_REJECTED | 定数 | なし | 監査ステータスの厳密なリテラル 'rejected'. |
AUDIT_STATUS_APPROVED | 定数 | なし | 監査ステータスの厳密なリテラル 'approved'. |
ALLOWED_AUDIT_STATUS | 定数 | なし | 許可される監査ステータスリテラルの読み取り専用リスト。 |
OrganizationBlockError | エラークラス | メッセージ、任意のデータ | 基本となる Organization の BlockError。ルートは具象サブクラスを対応付けます。 |
OrganizationInvalidQueryError | エラークラス | メッセージ、任意のデータ | 子孫クエリのパラメーターが不正です。ルートはこれを 400 に対応付けます。 |
OrganizationDbError | エラークラス | メッセージ、任意のデータ | Organization データベースの失敗です。ルートはこれを 500 に対応付けます。 |
OrganizationMemberNotFoundError | エラークラス | メッセージ、任意のデータ | Organization メンバーが存在しません。ルートはこれを 404 に対応付けます。 |
OrganizationMemberRoleNotFoundError | エラークラス | メッセージ、任意のデータ | メンバーロールが存在しません。ルートはこれを 404 に対応付けます。 |
OrganizationBadRequestError | エラークラス | メッセージ、任意のデータ | 不正な形式の Organization リクエストです。ルートはこれを 400 に対応付けます。 |
OrganizationChangeRequestDbError | エラークラス | メッセージ、任意のデータ | 変更リクエストのデータベース失敗です。ルートはこれを 500 に対応付けます。 |
OrganizationChangeRequestError | エラークラス | メッセージ、任意のデータ | 変更リクエストの正規化または処理の失敗です。 |
OrganizationNotFoundError | エラークラス | メッセージ、任意のデータ | Organization が存在しません。ルートはこれを 404 に対応付けます。 |
calculateChildAncestors | 関数 | 親 Organization | 子 Organization 用の祖先 ID 配列。エラーにはなりません。 |
createOrganization | 関数 | コレクション、所有者 ID、Organization、任意の親 ID と祖先 | 作成された Organization ID、または OrganizationBlockError。 |
getOrganizationById | 関数 | コレクション、Organization ID | Organization ドキュメント、または未検出/データベースエラー。 |
findOrganizations | 関数 | コレクション、フィルター | 一致する Organization、またはデータベースエラー。 |
updateOrganization | 関数 | コレクション、Organization ID、更新ペイロード | 更新成功、または未検出/データベースエラー。 |
deleteOrganization | 関数 | コレクション、Organization ID | 削除成功、または未検出/データベースエラー。 |
calculateDirectMemberRole | 関数 | メンバー配列、アイデンティティ ID | 直接のメンバーロール、またはメンバー/ロール未検出エラー。 |
checkOrganizationMemberExistence | 関数 | メンバー配列、アイデンティティ ID | メンバーシップの真偽値、または処理エラー。 |
findOrganizationMembers | 関数 | コレクション、組織 ID | ページネーション情報を含まないメンバー配列、または未検出/DB エラー。 |
upsertOrganizationMembers | 関数 | コレクション、既存メンバー、Organization ID、アップサート対象メンバー | アップサート成功、または未検出/データベースエラー。 |
deleteOrganizationMember | 関数 | コレクション、Organization ID、アイデンティティ ID | 削除成功、または未検出/データベースエラー。 |
findOrganizationsForIdentity | 関数 | コレクション、アイデンティティ ID、任意のロールフィルター | アイデンティティの Organization、またはデータベースエラー。 |
buildDescendantsQuery | 関数 | Organization、任意の深さ | 子孫用 MongoDB フィルター、または OrganizationInvalidQueryError。 |
normalizeOrganization | 関数 | Organization ドキュメント | MongoDB の _id を除いた Organization。エラーにはなりません。 |
normalizeOrganizations | 関数 | Organization 配列 | _id を除いて正規化した Organization。エラーにはなりません。 |
buildOrganizationsForMemberByRoleQuery | 関数 | アイデンティティ ID、任意のロール | MongoDB メンバーシップフィルター。エラーにはなりません。 |
buildOrganizationsForMemberByIdsQuery | 関数 | アイデンティティ ID、Organization ID | ID による MongoDB メンバーシップフィルター。エラーにはなりません。 |
buildOrganizationsWithDescendantsQuery | 関数 | Organization 配列 | MongoDB の子孫/祖先フィルター。エラーにはなりません。 |
normalizeLogoOfOwner | 関数 | ファイルストレージドライバー、ロゴ付き所有者 | 署名付きロゴ URL を持つ所有者、または OrganizationBlockError。 |
normalizeCertificateImage | 関数 | ファイルストレージドライバー、Organization | 証明書画像 URL を持つ Organization、またはエラー。 |
normalizeLogosOfOwners | 関数 | ファイルストレージドライバー、所有者 | 署名付きロゴ URL を持つ所有者、またはバッチエラー。 |
normalizeCertificateImages | 関数 | ファイルストレージドライバー、Organization | 証明書 URL を持つ Organization、またはバッチエラー。 |
normalizeLogosOfPaginatedOwners | 関数 | ファイルストレージドライバー、ページネーション済み所有者 | 署名付きロゴ URL を持つページネーション済み所有者、またはバッチエラー。 |
deleteLogoOfOwner | 関数 | ファイルストレージドライバー、所有者 | true、または FileStorageServiceError。 |
extractAncestors | 関数 | Organization array | 一意な祖先 Organization ID。エラーにはなりません。 |
calculateInheritedMemberRole | 関数 | Ancestor organizations, identity ID | 最上位の継承ロール、または OrganizationMemberRoleNotFoundError。 |
calculateMemberRole | 関数 | Organization, ancestor organizations, identity ID | 直接または継承したロール、またはロール未検出エラー。 |
calculateMemberRoleForOrganizations | 関数 | Organizations, ancestor organizations, identity ID | Organization ごとのメンバーロール情報、またはロール未検出エラー。 |
normalizeOrganizationsForMember | 関数 | Organizations with member info | API 形式のメンバー/Organization ペア。エラーにはなりません。 |
validateOrganizationName | 関数 | Collection, organization, organization ID, optional name | true、重複名エラー、またはデータベースエラー。 |
createChangeRequest | 関数 | Change-requests collection, organization ID, identity ID, payload | 作成された変更リクエスト ID、またはデータベースエラー。 |
buildUpdateOrganizationAfterNewChangeRequestPayload | 関数 | None | 監査ステータス更新ペイロード。エラーにはなりません。 |
validateAuditStatus | 関数 | 省略可能な audit status | true、または OrganizationBadRequestError。 |
findChangeRequests | 関数 | 変更リクエストコレクション、組織 ID | 一致する変更リクエストまたは DB エラー。 |
normalizeChangeRequest | 関数 | File-storage driver, raw change request | 証明書 URL を含む正規化済み変更リクエスト、またはエラー。 |
normalizeChangeRequests | 関数 | File-storage driver, change requests | 正規化済み変更リクエスト、またはバッチエラー。 |
buildOrganizationIdFilter | 関数 | Organization ID | organizationId を含むフィルターオブジェクト。エラーにはなりません。 |
buildOrganizationFollowersByFollowOrganizationIdQuery | 関数 | Followed organization ID | Organization フォロー用の MongoDB $elemMatch フィルター。エラーにはなりません。 |
詳細
AUDIT_STATUS_WAITING_FOR_REVIEW
実装
Organization の監査ワークフローで使用する、監査ステータスの厳密なリテラルです。
カスタム合成でのみ使用します。
AUDIT_STATUS_REJECTED
実装
Organization の監査ワークフローで使用する、監査ステータスの厳密なリテラルです。
カスタム合成でのみ使用します。
AUDIT_STATUS_APPROVED
実装
Organization の監査ワークフローで使用する、監査ステータスの厳密なリテラルです。
カスタム合成でのみ使用します。
ALLOWED_AUDIT_STATUS
実装
厳密な読み取り専用リスト: 'waiting_for_review'、'rejected'、'approved'。
カスタム合成でのみ使用します。
OrganizationBlockError
実装
OrganizationBlockError は BlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
カスタム合成でのみ使用します。
OrganizationInvalidQueryError
実装
OrganizationInvalidQueryError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
OrganizationDbError
実装
OrganizationDbError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用箇所: getOrganizationMemberRoleRoute, findOrganizationsForMemberRoute, findOrganizationDescendantsRoute, createChangeRequestRoute, getOrganizationFollowersRoute.
OrganizationMemberNotFoundError
実装
OrganizationMemberNotFoundError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用箇所: getOrganizationMemberRoleRoute, findOrganizationsForMemberRoute.
OrganizationMemberRoleNotFoundError
実装
OrganizationMemberRoleNotFoundError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用箇所: getOrganizationMemberRoleRoute, findOrganizationsForMemberRoute.
OrganizationBadRequestError
実装
OrganizationBadRequestError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用箇所: createChangeRequestRoute.
OrganizationChangeRequestDbError
実装
OrganizationChangeRequestDbError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用箇所: createChangeRequestRoute, findChangeRequestsForOrganizationRoute.
OrganizationChangeRequestError
実装
OrganizationChangeRequestError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
OrganizationNotFoundError
実装
OrganizationNotFoundError は OrganizationBlockError を拡張します。ブロックの失敗を保持し、利用側ルートはソースパイプラインで明示的に定義されている場合にのみ HTTP レスポンスへ対応付けます。
使用先: getOrganizationFollowersRoute, createOrganizationFollowRoute。
calculateChildAncestors
実装
シグネチャ: export async function calculateChildAncestors( parentOrganization: Record<string, unknown> ): Promise<Result<string[], never>>
親 Organization を基に、子 Organization の祖先配列を計算します。
使用箇所: createOrganizationRoute.
createOrganization
実装
シグネチャ: export const createOrganization = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], ownerId: string, organization: Record<string, unknown>, parentId?: string, ancestors: string[] = [] ): Promise<Result<string, OrganizationBlockError>> =>
指定した所有者で新しい Organization をデータベースに作成します。
使用箇所: createOrganizationRoute.
getOrganizationById
実装
シグネチャ: export const getOrganizationById = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], organizationId: string ): Promise<Result<WithId<Document>, Error>> =>
ID を使用して Organization をデータベースから取得します。
使用先: createOrganizationRoute, getOrganizationRoute, updateOrganizationRoute, updateOrganizationAsAdminRoute, deleteOrganizationRoute, getOrganizationMemberRoleRoute, checkOrganizationMemberExistenceRoute, upsertOrganizationMembersRoute, findOrganizationDescendantsRoute, createChangeRequestRoute, getOrganizationFollowersRoute, createOrganizationFollowRoute, deleteOrganizationFollowRoute。
findOrganizations
実装
シグネチャ: export const findOrganizations = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], filter: Record<string, unknown> ): Promise<Result<Record<string, unknown>[], Error>> =>
指定したフィルター条件に基づき、データベース内の Organization を検索します。
使用箇所: findOrganizationsRoute, getOrganizationMemberRoleRoute, findOrganizationsForMemberRoute, findOrganizationDescendantsRoute.
updateOrganization
実装
シグネチャ: export const updateOrganization = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], organizationId: string, organization: Record<string, unknown> ): Promise<Result<boolean, Error>> =>
指定したデータでデータベース内の Organization を更新します。
使用箇所: updateOrganizationRoute, updateOrganizationAsAdminRoute, createChangeRequestRoute.
deleteOrganization
実装
シグネチャ: export const deleteOrganization = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], organizationId: string ): Promise<Result<boolean, Error>> =>
ID を使用して Organization をデータベースから削除します。
使用箇所: deleteOrganizationRoute.
calculateDirectMemberRole
実装
シグネチャ: export function calculateDirectMemberRole( members: OrganizationMember[], identityId: string ): Result< string, OrganizationMemberNotFoundError | OrganizationMemberRoleNotFoundError >
Organization 内のメンバーの直接ロールを計算します。
カスタム合成でのみ使用します。
checkOrganizationMemberExistence
実装
シグネチャ: export const checkOrganizationMemberExistence = async ( members: OrganizationMember[], identityId: string ): Promise<Result<boolean, Error>> =>
指定したアイデンティティが Organization のメンバーかどうかを確認します。
findOrganizationMembers
実装
シグネチャ: export const findOrganizationMembers = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], organizationId: string ): Promise<Result<OrganizationMember[], Error>> =>
メンバー配列を取得し、欠落時は [] とします。ページネーション情報は含みません。
使用箇所: findOrganizationMembersRoute.
upsertOrganizationMembers
実装
シグネチャ: export const upsertOrganizationMembers = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], existingMembers: OrganizationMember[] = [], organizationId: string, membersToUpsert: OrganizationMember[] ): Promise<Result<boolean, Error>> =>
既存メンバーとマージして Organization メンバーを更新または挿入します。
deleteOrganizationMember
実装
シグネチャ: export const deleteOrganizationMember = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], organizationId: string, identityId: string ): Promise<Result<boolean, Error>> =>
MongoDB の $pull 操作を使用して、指定したメンバーを Organization から削除します。
findOrganizationsForIdentity
実装
シグネチャ: export const findOrganizationsForIdentity = async ( organizationsCollection: OrganizationServiceDataStore['organizations'], identityId: string, roles?: string ): Promise< Result< { count: number; total: number; value: Record<string, unknown>[]; }, Error > > =>
指定したアイデンティティがメンバーであるすべての Organization を検索します。ロールによる任意のフィルターを指定できます。
カスタム合成でのみ使用します。
buildDescendantsQuery
実装
シグネチャ: export function buildDescendantsQuery( organization: Record<string, unknown>, depth?: string | number ): Result<Record<string, unknown>, OrganizationInvalidQueryError>
階層内の子孫 Organization を検索する MongoDB クエリを構築します。
normalizeOrganization
実装
シグネチャ: export function normalizeOrganization( organization: Record<string, unknown> ): Result<Record<string, unknown>, never>
Organization データから MongoDB の _id フィールドを削除します。
カスタム合成でのみ使用します。
normalizeOrganizations
実装
シグネチャ: export function normalizeOrganizations( organizations: Record<string, unknown>[] ): Result<Record<string, unknown>[], never>
各要素から _id フィールドを削除して Organization 配列を正規化します。
buildOrganizationsForMemberByRoleQuery
実装
シグネチャ: export function buildOrganizationsForMemberByRoleQuery( identityId: string, roles?: string ): Result<Record<string, unknown>, never>
指定したアイデンティティがメンバーである Organization を検索する MongoDB クエリを構築します。ロールによる任意のフィルターを指定できます。
buildOrganizationsForMemberByIdsQuery
実装
シグネチャ: export function buildOrganizationsForMemberByIdsQuery( identityId: string, organizationIds: string[] ): Result<Record<string, unknown>, never>
指定したアイデンティティがメンバーである Organization を ID で検索する MongoDB クエリを構築します。
使用箇所: getOrganizationMemberRoleRoute, findOrganizationsForMemberRoute.
buildOrganizationsWithDescendantsQuery
実装
シグネチャ: export function buildOrganizationsWithDescendantsQuery( organizations: Record<string, unknown>[] ): Result<Record<string, unknown>, never>
自身の ID または祖先 ID で Organization を検索する MongoDB クエリを構築します。
normalizeLogoOfOwner
実装
シグネチャ: export async function normalizeLogoOfOwner< T extends { logo: { objectId: string; type: string; } | null; }, >( fileStorageDriver: FileStorageDriver, owner: T ): Promise< Result< T & { logo: { type: string; url: string; } | null; }, OrganizationBlockError > >
objectId を署名付きダウンロード URL に変換して所有者のロゴを正規化します。
使用箇所: createOrganizationRoute, getOrganizationRoute, updateOrganizationRoute, updateOrganizationAsAdminRoute.
normalizeCertificateImage
実装
シグネチャ: export async function normalizeCertificateImage( fileStorageDriver: FileStorageDriver, organization: Record<string, unknown> & { certificateImage?: { objectId: string; type: string; }; } ): Promise<Result<Record<string, unknown>, OrganizationBlockError>>
保存済み certificateImage メタデータを保持し、certificateImageUrl を追加します。署名の失敗は OrganizationBlockError になります。
使用箇所: getOrganizationRoute, updateOrganizationRoute, updateOrganizationAsAdminRoute.
normalizeLogosOfOwners
実装
シグネチャ: export async function normalizeLogosOfOwners< T extends { logo: { objectId: string; type: string; } | null; }, >( fileStorageDriver: FileStorageDriver, owners: T[] ): Promise< Result< ( | (T & { logo: { type: string; url: string; } | null; }) | null )[], OrganizationBlockError > >
複数の所有者のロゴを正規化します。個別の署名失敗は、成功した結果配列の該当位置で null になります。
使用箇所: findOrganizationsRoute, findOrganizationsForMemberRoute.
normalizeCertificateImages
実装
シグネチャ: export async function normalizeCertificateImages( fileStorageDriver: FileStorageDriver, organizations: (Record<string, unknown> & { certificateImage?: { objectId: string; type: string; }; })[] ): Promise<Result<Record<string, unknown>[], OrganizationBlockError>>
証明書画像 URL を正規化します。個別の署名失敗ではバッチ全体を失敗させず、元の組織を保持します。
使用箇所: findOrganizationsRoute, findOrganizationsForMemberRoute.
normalizeLogosOfPaginatedOwners
実装
シグネチャ: export async function normalizeLogosOfPaginatedOwners< T extends { logo: { objectId: string; type: string; } | null; }, >( fileStorageDriver: FileStorageDriver, paginatedOwners: { value: T[] } ): Promise< Result< { value: ( | (T & { logo: { type: string; url: string; } | null; }) | null )[]; }, OrganizationBlockError > >
ページネーション付きの value 配列内のロゴを正規化します。所有者ごとの署名失敗は null となり、ほかのページネーションフィールドは実行時に保持されます。
カスタム合成でのみ使用します。
deleteLogoOfOwner
実装
シグネチャ: export async function deleteLogoOfOwner< T extends { logo: { objectId: string; type: string; } | null; }, >( fileStorageDriver: FileStorageDriver, owner: T ): Promise<Result<true, FileStorageServiceError>>
Organization 所有者のロゴファイルをファイルストレージから削除します。
使用箇所: deleteOrganizationRoute.
extractAncestors
実装
シグネチャ: export function extractAncestors( organizations: Record<string, unknown>[] ): Result<string[], never>
Organization のリストからすべての一意な祖先 Organization ID を抽出します。
calculateInheritedMemberRole
実装
シグネチャ: export function calculateInheritedMemberRole( ancestorOrganizations: Record<string, unknown>[], identityId: string ): Result< { inheritedFrom: string; role: string; }, OrganizationMemberRoleNotFoundError >
祖先 Organization の集合から、アイデンティティに対する最上位の継承メンバーロールを計算します。
カスタム合成でのみ使用します。
calculateMemberRole
実装
シグネチャ: export function calculateMemberRole( organization: Record<string, unknown>, ancestorOrganizations: Record<string, unknown>[], identityId: string ): Result< { inheritedFrom: string | null; role: string; }, OrganizationMemberRoleNotFoundError >
単一の Organization とアイデンティティに対するメンバーロール(直接または継承)を計算します。
calculateMemberRoleForOrganizations
実装
シグネチャ: export async function calculateMemberRoleForOrganizations( organizations: Record<string, unknown>[], ancestorOrganizations: Record<string, unknown>[], identityId: string ): Promise< Result< { organization: Record<string, unknown>; member: { inheritedFrom: string | null; role: string }; }[], OrganizationMemberRoleNotFoundError > >
リスト内の各 Organization について、メンバーロール情報(直接および継承)を計算します。
normalizeOrganizationsForMember
実装
シグネチャ: export function normalizeOrganizationsForMember( organizationsWithMemberInfo: Record<string, unknown>[] ): Result<Record<string, unknown>[], never>
API 仕様に従ってデータを構造化し、メンバー向けレスポンスの Organization を正規化します。
validateOrganizationName
実装
シグネチャ: export async function validateOrganizationName( organizationsCollection: OrganizationServiceDataStore['organizations'], organization: { members: { identityId: string; role: string; }[]; [key: string]: unknown; }, organizationId: string, organizationName?: string ): Promise<Result<boolean, OrganizationBlockError>>
Organization 所有者に対する Organization 名の一意性検証です。
使用箇所: createChangeRequestRoute.
createChangeRequest
実装
シグネチャ: export const createChangeRequest = async ( organizationChangeRequestsCollection: Collection, organizationId: string, identityId: string, changeRequest: Record<string, string> & { certificateImage?: { objectId: string; type: string; }; certifiedQualifications?: { name: string; status: string; value: string; }[]; } ): Promise<Result<string, OrganizationBlockError>> =>
データベース内で Organization の変更リクエストを作成します。
使用箇所: createChangeRequestRoute.
buildUpdateOrganizationAfterNewChangeRequestPayload
実装
シグネチャ: export function buildUpdateOrganizationAfterNewChangeRequestPayload(): Result< { auditStatus: string }, never >
新しい変更リクエスト後の Organization 監査ステータス更新ペイロードです。
使用箇所: createChangeRequestRoute.
validateAuditStatus
実装
シグネチャ: export const validateAuditStatus = ( auditStatus?: string ): Result<boolean, OrganizationBadRequestError> =>
変更リクエストワークフロー用の Organization 監査ステータス検証です。
findChangeRequests
実装
シグネチャ: export async function findChangeRequests( organizationChangeRequestsCollection: Collection, organizationId: string ): Promise< Result<Record<string, unknown>[], OrganizationChangeRequestDbError> >
{organizationId: String(organizationId)} で変更リクエストを取得します。省略可能なフィルター引数はありません。
normalizeChangeRequest
実装
シグネチャ: export async function normalizeChangeRequest( fileStorageDriver: FileStorageDriver, rawChangeRequest: Record<string, unknown> & { certificateImage?: { objectId: string; type: string; }; } ): Promise<Result<Record<string, unknown>, OrganizationChangeRequestError>>
_id を除去し、保存済み証明書メタデータを保持して certificateImageUrl を追加します。署名失敗は OrganizationChangeRequestError になります。
カスタム合成でのみ使用します。
normalizeChangeRequests
実装
シグネチャ: export async function normalizeChangeRequests( fileStorageDriver: FileStorageDriver, changeRequests: Record<string, unknown>[] ): Promise<Result<Record<string, unknown>[], OrganizationChangeRequestError>>
変更リクエストを正規化します。個別の署名失敗では、_id を除去した元のリクエストにフォールバックします。
buildOrganizationIdFilter
実装
シグネチャ: export function buildOrganizationIdFilter( organizationId: string ): Result<{ organizationId: string }, never>
データベースクエリ用の Organization ID フィルターオブジェクトを構築します。
使用先: findOrdersByOrganizationIdRoute, findProductsByOrganizationIdRoute。
buildOrganizationFollowersByFollowOrganizationIdQuery
実装
シグネチャ: export function buildOrganizationFollowersByFollowOrganizationIdQuery< T extends { organizationFollows: { followOrganizationId: string }[] }, >(followOrganizationId: string): Result<Filter<T>, never>
組織をフォローするプロフィールを検索するためのプロフィールコレクションフィルターを作成します: {organizationFollows: {$elemMatch: {followOrganizationId: String(followOrganizationId)}}}。