@c-rex/services 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/{client-requests.d.mts → generated/client-requests.d.mts} +11 -7
  2. package/dist/{client-requests.d.ts → generated/client-requests.d.ts} +11 -7
  3. package/dist/{client-requests.js → generated/client-requests.js} +90 -80
  4. package/dist/generated/client-requests.js.map +1 -0
  5. package/dist/{client-requests.mjs → generated/client-requests.mjs} +88 -80
  6. package/dist/generated/client-requests.mjs.map +1 -0
  7. package/dist/{server-requests.d.mts → generated/server-requests.d.mts} +11 -7
  8. package/dist/{server-requests.d.ts → generated/server-requests.d.ts} +11 -7
  9. package/dist/{server-requests.js → generated/server-requests.js} +103 -81
  10. package/dist/generated/server-requests.js.map +1 -0
  11. package/dist/{server-requests.mjs → generated/server-requests.mjs} +101 -81
  12. package/dist/generated/server-requests.mjs.map +1 -0
  13. package/dist/index.d.mts +44 -0
  14. package/dist/index.d.ts +44 -0
  15. package/dist/index.js +3268 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/index.mjs +2905 -0
  18. package/dist/index.mjs.map +1 -0
  19. package/dist/read-models/index.d.mts +244 -0
  20. package/dist/read-models/index.d.ts +244 -0
  21. package/dist/read-models/index.js +1268 -0
  22. package/dist/read-models/index.js.map +1 -0
  23. package/dist/read-models/index.mjs +1226 -0
  24. package/dist/read-models/index.mjs.map +1 -0
  25. package/dist/vcard/index.d.mts +102 -0
  26. package/dist/vcard/index.d.ts +102 -0
  27. package/dist/vcard/index.js +561 -0
  28. package/dist/vcard/index.js.map +1 -0
  29. package/dist/vcard/index.mjs +522 -0
  30. package/dist/vcard/index.mjs.map +1 -0
  31. package/package.json +69 -49
  32. package/dist/client-requests.js.map +0 -1
  33. package/dist/client-requests.mjs.map +0 -1
  34. package/dist/server-requests.js.map +0 -1
  35. package/dist/server-requests.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/vcard/index.ts","../../src/vcard/profile-utils.ts","../../src/vcard/organization-profile.ts","../../src/base-server-request.ts","../../src/server-request-context.ts","../../src/generated/server-requests.ts","../../src/read-models/cache-policy.ts","../../src/vcard/individual-profile.ts","../../src/vcard/vcard-profile.ts"],"sourcesContent":["export * from \"./profile-utils\";\r\nexport * from \"./organization-profile\";\r\nexport * from \"./individual-profile\";\r\nexport * from \"./vcard-profile\";\r\n","import { CrexSDK } from \"@c-rex/core/sdk\";\r\nimport { UI_LANG_KEY } from \"@c-rex/constants\";\r\nimport type { ConfigInterface, LiteralModel, VCardImageModel, VCardInfoModel } from \"@c-rex/interfaces\";\r\nimport { cookies } from \"next/headers\";\r\n\r\nexport type ContactEntry = {\r\n label: string;\r\n value: string;\r\n href?: string;\r\n};\r\n\r\nexport type BaseVCardProfile = {\r\n id?: string;\r\n displayName: string;\r\n logoSrc: string;\r\n addressLines: string[];\r\n email?: string;\r\n telephoneEntries: ContactEntry[];\r\n website?: string;\r\n};\r\n\r\nexport type ResolvedSocialLink = {\r\n label: string;\r\n href: string;\r\n provider: string;\r\n};\r\n\r\ntype VCardEntityLike = {\r\n id?: string | null;\r\n fullName?: string | null;\r\n organizationName?: string | null;\r\n logos?: VCardImageModel[] | null;\r\n photos?: VCardImageModel[] | null;\r\n emails?: VCardInfoModel[] | null;\r\n telephones?: VCardInfoModel[] | null;\r\n addresses?: VCardInfoModel[] | null;\r\n urls?: VCardInfoModel[] | null;\r\n};\r\n\r\nexport const DEFAULT_LOGO_SRC = \"/img/logo.png\";\r\n\r\nconst normalizePathLikeImageSource = (value?: string | null): string | undefined => {\r\n if (!value) return undefined;\r\n const trimmed = value.trim();\r\n if (!trimmed) return undefined;\r\n\r\n if (\r\n trimmed.startsWith(\"data:\") ||\r\n trimmed.startsWith(\"http://\") ||\r\n trimmed.startsWith(\"https://\") ||\r\n trimmed.startsWith(\"/\")\r\n ) {\r\n return trimmed;\r\n }\r\n\r\n return `/${trimmed}`;\r\n};\r\n\r\nexport const resolveLogoSource = (images: VCardImageModel[] = []): string | undefined => {\r\n const sourceFirst = images\r\n .map((image) => normalizePathLikeImageSource(image.source))\r\n .find((value): value is string => Boolean(value));\r\n\r\n if (!sourceFirst) {\r\n console.warn(\"[VCardProfile] No usable VCARD image source found. Ignoring 'value' until IDS provides absolute resource URLs.\");\r\n }\r\n\r\n return sourceFirst;\r\n};\r\n\r\nexport const normalizeHref = (value?: string | null): string | undefined => {\r\n if (!value) return undefined;\r\n const trimmed = value.trim();\r\n if (!trimmed) return undefined;\r\n\r\n if (trimmed.startsWith(\"http://\") || trimmed.startsWith(\"https://\") || trimmed.startsWith(\"mailto:\") || trimmed.startsWith(\"tel:\")) {\r\n return trimmed;\r\n }\r\n\r\n return `https://${trimmed}`;\r\n};\r\n\r\nconst SOCIAL_MEDIA_TYPE_URI = \"https://www.c-rex.net/ns/iirds/vcard#SocialMedia\";\r\nconst SOCIAL_MEDIA_TYPE_URI_NORMALIZED = SOCIAL_MEDIA_TYPE_URI.toLowerCase();\r\n\r\nconst isSocialMediaType = (value?: string | null): boolean => {\r\n if (!value) return false;\r\n const normalized = value.trim().toLowerCase();\r\n return normalized === SOCIAL_MEDIA_TYPE_URI_NORMALIZED || normalized.endsWith(\"#socialmedia\");\r\n};\r\n\r\nconst isSocialMediaUrlEntry = (url: VCardInfoModel): boolean => {\r\n const hasTypedMarker = Array.isArray(url.types) && url.types.some((type) => isSocialMediaType(type));\r\n if (hasTypedMarker) return true;\r\n\r\n const hasClassMarker = Array.isArray(url.classes)\r\n && url.classes.some((cls) => isSocialMediaType(cls?.id));\r\n if (hasClassMarker) return true;\r\n\r\n const hasClassLabelMarker = Array.isArray(url.classes) && url.classes.some((cls) =>\r\n (cls?.labels || []).some((label) => (label.value || \"\").trim().toLowerCase() === \"social media\")\r\n );\r\n return hasClassLabelMarker;\r\n};\r\n\r\nconst SOCIAL_PROVIDER_BY_HOST: Array<{ hostPattern: RegExp; label: string }> = [\r\n { hostPattern: /(^|\\.)x\\.com$/i, label: \"X\" },\r\n { hostPattern: /(^|\\.)twitter\\.com$/i, label: \"Twitter\" },\r\n { hostPattern: /(^|\\.)facebook\\.com$/i, label: \"Facebook\" },\r\n { hostPattern: /(^|\\.)instagram\\.com$/i, label: \"Instagram\" },\r\n { hostPattern: /(^|\\.)youtube\\.com$/i, label: \"YouTube\" },\r\n { hostPattern: /(^|\\.)youtu\\.be$/i, label: \"YouTube\" },\r\n { hostPattern: /(^|\\.)linkedin\\.com$/i, label: \"LinkedIn\" },\r\n { hostPattern: /(^|\\.)xing\\.com$/i, label: \"Xing\" },\r\n];\r\n\r\nexport const resolveSocialProviderLabel = (href: string): string => {\r\n try {\r\n const hostname = new URL(href).hostname.toLowerCase();\r\n const provider = SOCIAL_PROVIDER_BY_HOST.find((entry) => entry.hostPattern.test(hostname));\r\n return provider?.label || hostname.replace(/^www\\./i, \"\");\r\n } catch {\r\n return \"Social\";\r\n }\r\n};\r\n\r\nconst isKnownSocialProviderHref = (href: string): boolean => {\r\n try {\r\n const hostname = new URL(href).hostname.toLowerCase();\r\n return SOCIAL_PROVIDER_BY_HOST.some((entry) => entry.hostPattern.test(hostname));\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nexport const resolveTypedSocialLinks = (urls: VCardInfoModel[] = []): ResolvedSocialLink[] => {\r\n const items = urls\r\n .filter((url) => {\r\n if (isSocialMediaUrlEntry(url)) return true;\r\n const href = normalizeHref(url.value);\r\n return Boolean(href && isKnownSocialProviderHref(href));\r\n })\r\n .map((url) => normalizeHref(url.value))\r\n .filter((value): value is string => Boolean(value));\r\n\r\n const byHref = new Map<string, ResolvedSocialLink>();\r\n items.forEach((href) => {\r\n if (byHref.has(href)) return;\r\n const label = resolveSocialProviderLabel(href);\r\n byHref.set(href, {\r\n href,\r\n label,\r\n provider: label,\r\n });\r\n });\r\n\r\n return Array.from(byHref.values());\r\n};\r\n\r\nconst normalizePhone = (value?: string | null): string | undefined => {\r\n if (!value) return undefined;\r\n return value.replace(/^tel:/i, \"\").trim() || undefined;\r\n};\r\n\r\nconst isDialablePhone = (value?: string): boolean => {\r\n if (!value) return false;\r\n const normalized = value.trim();\r\n if (!normalized) return false;\r\n if (!/\\d/.test(normalized)) return false;\r\n return /^[+\\d()[\\]\\-./\\s]+$/.test(normalized);\r\n};\r\n\r\nconst normalizePhoneHref = (value?: string | null): string | undefined => {\r\n if (!value) return undefined;\r\n const normalizedPhone = normalizePhone(value);\r\n if (!normalizedPhone || !isDialablePhone(normalizedPhone)) return undefined;\r\n return `tel:${normalizedPhone}`;\r\n};\r\n\r\nexport const normalizeEmail = (value?: string | null): string | undefined => {\r\n if (!value) return undefined;\r\n return value.replace(/^mailto:/i, \"\").trim() || undefined;\r\n};\r\n\r\nconst normalizeLanguage = (value?: string | null): string => {\r\n return (value || \"\").trim().toLowerCase().replace(\"_\", \"-\");\r\n};\r\n\r\nconst getLiteralLanguage = (literal: LiteralModel): string => {\r\n const language =\r\n literal.language ||\r\n ((literal as unknown as Record<string, unknown>)[\"xml:lang\"] as string | undefined) ||\r\n \"\";\r\n return normalizeLanguage(language);\r\n};\r\n\r\nconst getLocalizedLiteral = (labels: LiteralModel[] = [], uiLanguage: string): string | undefined => {\r\n const normalizedUiLanguage = normalizeLanguage(uiLanguage);\r\n const normalizedUiBaseLanguage = normalizedUiLanguage.split(\"-\")[0];\r\n\r\n const exact = labels.find((item) => getLiteralLanguage(item) === normalizedUiLanguage)?.value?.trim();\r\n if (exact) return exact;\r\n\r\n const base = labels.find((item) => getLiteralLanguage(item).startsWith(`${normalizedUiBaseLanguage}`))?.value?.trim();\r\n if (base) return base;\r\n\r\n const fallback = labels.find((item) => (item.value || \"\").trim().length > 0)?.value?.trim();\r\n return fallback || undefined;\r\n};\r\n\r\nexport const buildTelephoneEntries = (telephones: VCardInfoModel[] = [], uiLanguage: string): ContactEntry[] => {\r\n return telephones.reduce<ContactEntry[]>((entries, telephone) => {\r\n const normalizedValue = normalizePhone(telephone.value);\r\n if (!normalizedValue) return entries;\r\n\r\n const classLabels = (telephone.classes || [])\r\n .map((cls) => getLocalizedLiteral(cls.labels || [], uiLanguage))\r\n .filter((value): value is string => Boolean(value));\r\n\r\n const dedupedClassLabels = Array.from(\r\n new Map(classLabels.map((value) => [value.toLowerCase(), value])).values()\r\n );\r\n\r\n entries.push({\r\n label: dedupedClassLabels.length > 0 ? dedupedClassLabels.join(\" \") : \"\",\r\n value: normalizedValue,\r\n href: normalizePhoneHref(telephone.value),\r\n });\r\n\r\n return entries;\r\n }, []);\r\n};\r\n\r\nexport const resolveUiLanguage = (): string => {\r\n const sdk = new CrexSDK();\r\n const clientConfig = sdk.getClientConfig();\r\n const defaultLanguage = normalizeLanguage(clientConfig.languageSwitcher.default || \"en-us\");\r\n const uiLanguageFromCookie = cookies().get(UI_LANG_KEY)?.value;\r\n return normalizeLanguage(uiLanguageFromCookie) || defaultLanguage;\r\n};\r\n\r\nconst buildAddressLines = (address?: VCardInfoModel | null): string[] => {\r\n if (!address) return [];\r\n\r\n const line1 = [address.streetAddress].filter(Boolean).join(\" \").trim();\r\n const line2 = [address.postalCode, address.locality].filter(Boolean).join(\" \").trim();\r\n const line3 = [address.countryName].filter(Boolean).join(\" \").trim();\r\n\r\n return [line1, line2, line3].filter((line) => line.length > 0);\r\n};\r\n\r\nexport const mapVCardEntityToBaseProfile = (\r\n entity: VCardEntityLike,\r\n options: {\r\n uiLanguage: string;\r\n displayNameFallback: string;\r\n logoFallbackSrc?: string;\r\n }\r\n): BaseVCardProfile => {\r\n const preferredAddress = entity.addresses?.[0];\r\n const preferredEmail = entity.emails?.[0];\r\n const preferredWebsite = entity.urls?.find((item) => normalizeHref(item.value));\r\n const logoSrc =\r\n resolveLogoSource([...(entity.logos || []), ...(entity.photos || [])]) ||\r\n (options.logoFallbackSrc || DEFAULT_LOGO_SRC);\r\n\r\n return {\r\n id: entity.id || undefined,\r\n displayName: entity.organizationName?.trim() || entity.fullName?.trim() || options.displayNameFallback,\r\n logoSrc,\r\n addressLines: buildAddressLines(preferredAddress),\r\n email: normalizeEmail(preferredEmail?.value),\r\n telephoneEntries: buildTelephoneEntries(entity.telephones || [], options.uiLanguage),\r\n website: normalizeHref(preferredWebsite?.value),\r\n };\r\n};\r\n\r\nexport const decodeEncodedVcardId = (encodedId: string): string | undefined => {\r\n try {\r\n return decodeURIComponent(encodedId);\r\n } catch (error) {\r\n console.error(`[VCardProfile] Invalid encoded VCARD ID value: \"${encodedId}\".`, error);\r\n return undefined;\r\n }\r\n};\r\n\r\nexport const getServerConfig = (): ConfigInterface => {\r\n const sdk = new CrexSDK();\r\n return sdk.getServerConfig();\r\n};\r\n","import {\r\n CREX_API_CACHE_TAG,\r\n CREX_API_CACHE_VCARD_TAG,\r\n CREX_READMODEL_CACHE_ORGANIZATION_TAG,\r\n CREX_READMODEL_CACHE_TAG,\r\n CREX_READMODEL_CACHE_VCARD_TAG,\r\n} from \"@c-rex/core/requests\";\r\nimport { unstable_cache } from \"next/cache\";\r\nimport type {\r\n OrganizationsGetAllQueryParams,\r\n OrganizationsGetByIdQueryParams,\r\n VCardOrganizationModel,\r\n} from \"@c-rex/interfaces\";\r\nimport { organizationsGetAllServer, organizationsGetByIdServer } from \"../generated/server-requests\";\r\nimport { withServerRequestContext } from \"../server-request-context\";\r\nimport { READMODEL_CACHE_POLICY } from \"../read-models/cache-policy\";\r\nimport {\r\n type ContactEntry,\r\n DEFAULT_LOGO_SRC,\r\n decodeEncodedVcardId,\r\n getServerConfig,\r\n mapVCardEntityToBaseProfile,\r\n resolveTypedSocialLinks,\r\n resolveUiLanguage,\r\n} from \"./profile-utils\";\r\n\r\nexport type OrganizationProfile = {\r\n id?: string;\r\n displayName: string;\r\n organizationName: string;\r\n logoSrc: string;\r\n addressLines: string[];\r\n email?: string;\r\n telephoneEntries: ContactEntry[];\r\n website?: string;\r\n socialLinks: Array<{ label: string; href: string }>;\r\n};\r\n\r\nconst toOrganizationProfile = (\r\n organization: VCardOrganizationModel,\r\n options: {\r\n uiLanguage: string;\r\n displayNameFallback: string;\r\n logoFallbackSrc?: string;\r\n }\r\n) => {\r\n const base = mapVCardEntityToBaseProfile(organization, {\r\n uiLanguage: options.uiLanguage,\r\n displayNameFallback: options.displayNameFallback,\r\n logoFallbackSrc: options.logoFallbackSrc,\r\n });\r\n\r\n return {\r\n ...base,\r\n organizationName: base.displayName,\r\n socialLinks: resolveTypedSocialLinks(organization.urls || []).map((item) => ({\r\n label: item.label,\r\n href: item.href,\r\n })),\r\n };\r\n};\r\n\r\ntype OrganizationProfileContext = {\r\n uiLanguage: string;\r\n fallbackName: string;\r\n logoFallbackSrc: string;\r\n};\r\n\r\nconst ORGANIZATION_PROFILE_REQUIRED_FIELDS = [\r\n \"organizationName\",\r\n \"fullName\",\r\n \"logos\",\r\n \"photos\",\r\n \"emails\",\r\n \"telephones\",\r\n \"addresses\",\r\n \"urls\",\r\n] as const;\r\n\r\nconst resolveOrganizationProfileQuery = (\r\n query?: Partial<OrganizationsGetByIdQueryParams>\r\n): Partial<OrganizationsGetByIdQueryParams> | undefined => {\r\n if (!query) return undefined;\r\n if (!Array.isArray(query.Fields) || query.Fields.length === 0) return query;\r\n\r\n const mergedFields = Array.from(new Set([...query.Fields, ...ORGANIZATION_PROFILE_REQUIRED_FIELDS]));\r\n return {\r\n ...query,\r\n Fields: mergedFields as OrganizationsGetByIdQueryParams[\"Fields\"],\r\n };\r\n};\r\n\r\nconst fetchOrganizationProfileById = async (\r\n id: string,\r\n query: Partial<OrganizationsGetByIdQueryParams> | undefined,\r\n context: OrganizationProfileContext\r\n): Promise<OrganizationProfile> => {\r\n try {\r\n const organization = await organizationsGetByIdServer({ id }, resolveOrganizationProfileQuery(query));\r\n return toOrganizationProfile(organization, {\r\n uiLanguage: context.uiLanguage,\r\n displayNameFallback: context.fallbackName,\r\n logoFallbackSrc: context.logoFallbackSrc,\r\n });\r\n } catch (error) {\r\n console.error(`[OrganizationProfile] Failed to load VCARD organization \"${id}\".`, error);\r\n return {\r\n id,\r\n logoSrc: context.logoFallbackSrc,\r\n displayName: context.fallbackName,\r\n organizationName: context.fallbackName,\r\n addressLines: [],\r\n telephoneEntries: [],\r\n socialLinks: [],\r\n };\r\n }\r\n};\r\n\r\nexport const getOrganizationProfileById = async (\r\n id: string,\r\n query?: Partial<OrganizationsGetByIdQueryParams>\r\n): Promise<OrganizationProfile> => {\r\n const serverConfig = getServerConfig();\r\n const uiLanguage = resolveUiLanguage();\r\n const fallbackName = serverConfig.projectName;\r\n const logoFallbackSrc = serverConfig.organization?.logoFallbackSrc || DEFAULT_LOGO_SRC;\r\n return fetchOrganizationProfileById(id, query, {\r\n uiLanguage,\r\n fallbackName,\r\n logoFallbackSrc,\r\n });\r\n};\r\n\r\nconst getOrganizationProfileByIdCached = unstable_cache(\r\n async (\r\n id: string,\r\n query: Partial<OrganizationsGetByIdQueryParams> | undefined,\r\n context: OrganizationProfileContext\r\n ): Promise<OrganizationProfile> =>\r\n withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => fetchOrganizationProfileById(id, query, context)\r\n ),\r\n [\"read-model\", \"organization-profile-v2\"],\r\n {\r\n revalidate: READMODEL_CACHE_POLICY.vcardRevalidateSeconds,\r\n tags: [\r\n CREX_API_CACHE_TAG,\r\n CREX_API_CACHE_VCARD_TAG,\r\n CREX_READMODEL_CACHE_TAG,\r\n CREX_READMODEL_CACHE_VCARD_TAG,\r\n CREX_READMODEL_CACHE_ORGANIZATION_TAG,\r\n ],\r\n }\r\n);\r\n\r\nexport const getOrganizationsProfiles = async (\r\n query?: Partial<OrganizationsGetAllQueryParams>\r\n): Promise<OrganizationProfile[]> => {\r\n const serverConfig = getServerConfig();\r\n const uiLanguage = resolveUiLanguage();\r\n const fallbackName = serverConfig.projectName;\r\n const logoFallbackSrc = serverConfig.organization?.logoFallbackSrc || DEFAULT_LOGO_SRC;\r\n const result = await organizationsGetAllServer(query);\r\n\r\n return result.items.map((organization) =>\r\n toOrganizationProfile(organization, {\r\n uiLanguage,\r\n displayNameFallback: fallbackName,\r\n logoFallbackSrc,\r\n })\r\n );\r\n};\r\n\r\n/**\r\n * Resolves organization profile data (VCARD + configured fallbacks) for shared branding.\r\n */\r\nexport const getOrganizationProfile = async (): Promise<OrganizationProfile> => {\r\n const serverConfig = getServerConfig();\r\n const rawVcardId = process.env.CREX_ORGANIZATION_VCARD_ID?.trim();\r\n const encodedVcardId = process.env.CREX_ORGANIZATION_VCARD_ID_ENCODED?.trim();\r\n const decodedEncodedVcardId = encodedVcardId ? decodeEncodedVcardId(encodedVcardId) : undefined;\r\n const configuredVcardId = rawVcardId || decodedEncodedVcardId || serverConfig.organization?.vcardId?.trim();\r\n\r\n if (!configuredVcardId) {\r\n console.info(\"[OrganizationProfile] No VCARD organization ID configured. Using fallback branding.\");\r\n const logoFallbackSrc = serverConfig.organization?.logoFallbackSrc || DEFAULT_LOGO_SRC;\r\n const fallbackName = serverConfig.projectName;\r\n return {\r\n logoSrc: logoFallbackSrc,\r\n displayName: fallbackName,\r\n organizationName: fallbackName,\r\n addressLines: [],\r\n telephoneEntries: [],\r\n socialLinks: [],\r\n };\r\n }\r\n\r\n if (rawVcardId && rawVcardId.startsWith(\"http\") && !rawVcardId.includes(\"#\")) {\r\n console.warn(\r\n `[OrganizationProfile] VCARD ID does not contain \"#\": \"${rawVcardId}\".` +\r\n ` If this value comes from .env, wrap it in quotes or use CREX_ORGANIZATION_VCARD_ID_ENCODED.`\r\n );\r\n }\r\n const uiLanguage = resolveUiLanguage();\r\n const fallbackName = serverConfig.projectName;\r\n const logoFallbackSrc = serverConfig.organization?.logoFallbackSrc || DEFAULT_LOGO_SRC;\r\n const context: OrganizationProfileContext = {\r\n uiLanguage,\r\n fallbackName,\r\n logoFallbackSrc,\r\n };\r\n if (process.env.NODE_ENV === \"test\") {\r\n return fetchOrganizationProfileById(configuredVcardId, undefined, context);\r\n }\r\n return getOrganizationProfileByIdCached(configuredVcardId, undefined, context);\r\n};\r\n\r\n/**\r\n * Convenience projection for places that only need logo + organization title.\r\n */\r\nexport const getOrganizationBranding = async (): Promise<Pick<OrganizationProfile, \"logoSrc\" | \"organizationName\">> => {\r\n const profile = await getOrganizationProfile();\r\n return {\r\n logoSrc: profile.logoSrc,\r\n organizationName: profile.organizationName,\r\n };\r\n};\r\n","import { CrexApi } from \"@c-rex/core/requests\";\r\nimport { getServerRequestContext } from \"./server-request-context\";\r\n\r\nexport const baseServerRequest = async <T>(\r\n endpoint: string,\r\n query?: Record<string, any>\r\n): Promise<T> => {\r\n const api = new CrexApi();\r\n const requestContext = getServerRequestContext();\r\n\r\n const response = await api.execute({\r\n url: endpoint,\r\n method: \"GET\",\r\n params: query,\r\n skipCookieTokenLookup: requestContext?.skipCookieTokenLookup,\r\n authToken: requestContext?.authToken,\r\n })\r\n\r\n return response as T;\r\n}\r\n","import { AsyncLocalStorage } from \"node:async_hooks\";\r\n\r\nexport type ServerRequestContext = {\r\n skipCookieTokenLookup?: boolean;\r\n authToken?: string;\r\n};\r\n\r\nconst requestContextStorage = new AsyncLocalStorage<ServerRequestContext>();\r\n\r\nexport const withServerRequestContext = async <T>(\r\n context: ServerRequestContext,\r\n run: () => Promise<T>\r\n): Promise<T> => {\r\n return requestContextStorage.run(context, run);\r\n};\r\n\r\nexport const getServerRequestContext = (): ServerRequestContext | undefined => {\r\n return requestContextStorage.getStore();\r\n};\r\n","/**\r\n * Auto-generated request functions from OpenAPI spec\r\n * Source: https://staging.c-rex.net/ids/api/swagger/v1/swagger.json\r\n * Generated: 2025-12-22T14:05:43.687Z\r\n * Do not edit manually\r\n */\r\n\r\nimport { baseServerRequest } from '../base-server-request';\r\nimport type {\r\n AdministrativeMetadataGetAllQueryParams,\r\n AdministrativeMetadataGetByIdPathParams,\r\n AdministrativeMetadataGetByIdQueryParams,\r\n AdministrativeMetadataModel,\r\n AfterUsesGetAllQueryParams,\r\n AfterUsesGetByIdPathParams,\r\n AfterUsesGetByIdQueryParams,\r\n CategoriesGetAllQueryParams,\r\n CategoriesGetByIdPathParams,\r\n CategoriesGetByIdQueryParams,\r\n CategoryModel,\r\n CollectionsGetAllQueryParams,\r\n CollectionsGetByIdPathParams,\r\n CollectionsGetByIdQueryParams,\r\n ComponentModel,\r\n ComponentsGetAllQueryParams,\r\n ComponentsGetByIdPathParams,\r\n ComponentsGetByIdQueryParams,\r\n ConceptsGetAllQueryParams,\r\n ConceptsGetByIdPathParams,\r\n ConceptsGetByIdQueryParams,\r\n ConformitiesGetAllQueryParams,\r\n ConformitiesGetByIdPathParams,\r\n ConformitiesGetByIdQueryParams,\r\n ConsumablesGetAllQueryParams,\r\n ConsumablesGetByIdPathParams,\r\n ConsumablesGetByIdQueryParams,\r\n ContentLifeCycleStatusGetAllQueryParams,\r\n ContentLifeCycleStatusGetByIdPathParams,\r\n ContentLifeCycleStatusGetByIdQueryParams,\r\n ContentLifeCycleStatusModel,\r\n DesignAndRealizationsGetAllQueryParams,\r\n DesignAndRealizationsGetByIdPathParams,\r\n DesignAndRealizationsGetByIdQueryParams,\r\n DirectoryNodeModel,\r\n DirectoryNodeTypeModel,\r\n DirectoryNodeTypesGetAllQueryParams,\r\n DirectoryNodeTypesGetByIdPathParams,\r\n DirectoryNodeTypesGetByIdQueryParams,\r\n DirectoryNodesGetAllQueryParams,\r\n DirectoryNodesGetByIdPathParams,\r\n DirectoryNodesGetByIdQueryParams,\r\n DocumentModel,\r\n DocumentTypeModel,\r\n DocumentTypesGetAllQueryParams,\r\n DocumentTypesGetByIdPathParams,\r\n DocumentTypesGetByIdQueryParams,\r\n DocumentationMetadataGetAllQueryParams,\r\n DocumentationMetadataGetByIdPathParams,\r\n DocumentationMetadataGetByIdQueryParams,\r\n DocumentationMetadataModel,\r\n DocumentsGetAllQueryParams,\r\n DocumentsGetByIdPathParams,\r\n DocumentsGetByIdQueryParams,\r\n DocumentsLanguagesQueryParams,\r\n DomainEntitiesGetAllQueryParams,\r\n DomainEntitiesGetByIdPathParams,\r\n DomainEntitiesGetByIdQueryParams,\r\n DomainEntityModel,\r\n DownTimesGetAllQueryParams,\r\n DownTimesGetByIdPathParams,\r\n DownTimesGetByIdQueryParams,\r\n EventModel,\r\n EventsGetAllQueryParams,\r\n EventsGetByIdPathParams,\r\n EventsGetByIdQueryParams,\r\n FormalitiesGetAllQueryParams,\r\n FormalitiesGetByIdPathParams,\r\n FormalitiesGetByIdQueryParams,\r\n FormsGetAllQueryParams,\r\n FormsGetByIdPathParams,\r\n FormsGetByIdQueryParams,\r\n FragmentModel,\r\n FragmentsGetAllQueryParams,\r\n FragmentsGetByIdPathParams,\r\n FragmentsGetByIdQueryParams,\r\n FragmentsLanguagesQueryParams,\r\n FunctionalMetadataModel,\r\n FunctionalMetadatasGetAllQueryParams,\r\n FunctionalMetadatasGetByIdPathParams,\r\n FunctionalMetadatasGetByIdQueryParams,\r\n FunctionalitiesGetAllQueryParams,\r\n FunctionalitiesGetByIdPathParams,\r\n FunctionalitiesGetByIdQueryParams,\r\n GroupsGetAllQueryParams,\r\n GroupsGetByIdPathParams,\r\n GroupsGetByIdQueryParams,\r\n HardwareToolsGetAllQueryParams,\r\n HardwareToolsGetByIdPathParams,\r\n HardwareToolsGetByIdQueryParams,\r\n IdentitiesGetAllQueryParams,\r\n IdentitiesGetByIdPathParams,\r\n IdentitiesGetByIdQueryParams,\r\n IdentityDomainModel,\r\n IdentityDomainsGetAllQueryParams,\r\n IdentityDomainsGetByIdPathParams,\r\n IdentityDomainsGetByIdQueryParams,\r\n IdentityModel,\r\n IndividualsGetAllQueryParams,\r\n IndividualsGetByIdPathParams,\r\n IndividualsGetByIdQueryParams,\r\n InformationObjectModel,\r\n InformationObjectsGetAllQueryParams,\r\n InformationObjectsGetByIdPathParams,\r\n InformationObjectsGetByIdQueryParams,\r\n InformationSubjectCollectionModel,\r\n InformationSubjectConformityModel,\r\n InformationSubjectFormalityModel,\r\n InformationSubjectFunctionalityModel,\r\n InformationSubjectModel,\r\n InformationSubjectProcessModel,\r\n InformationSubjectSafetyModel,\r\n InformationSubjectSafetyWarningMessageModel,\r\n InformationSubjectTechnicalDataModel,\r\n InformationSubjectTechnicalOverviewModel,\r\n InformationSubjectsGetAllQueryParams,\r\n InformationSubjectsGetByIdPathParams,\r\n InformationSubjectsGetByIdQueryParams,\r\n InformationTypeModel,\r\n InformationTypesGetAllQueryParams,\r\n InformationTypesGetByIdPathParams,\r\n InformationTypesGetByIdQueryParams,\r\n InformationUnitModel,\r\n InformationUnitsGetAllQueryParams,\r\n InformationUnitsGetByIdPathParams,\r\n InformationUnitsGetByIdQueryParams,\r\n InformationUnitsLanguagesQueryParams,\r\n LearningsGetAllQueryParams,\r\n LearningsGetByIdPathParams,\r\n LearningsGetByIdQueryParams,\r\n LocationsGetAllQueryParams,\r\n LocationsGetByIdPathParams,\r\n LocationsGetByIdQueryParams,\r\n LubricantsGetAllQueryParams,\r\n LubricantsGetByIdPathParams,\r\n LubricantsGetByIdQueryParams,\r\n MaintenanceIntervalsGetAllQueryParams,\r\n MaintenanceIntervalsGetByIdPathParams,\r\n MaintenanceIntervalsGetByIdQueryParams,\r\n OperatingSuppliesGetAllQueryParams,\r\n OperatingSuppliesGetByIdPathParams,\r\n OperatingSuppliesGetByIdQueryParams,\r\n OrganizationsGetAllQueryParams,\r\n OrganizationsGetByIdPathParams,\r\n OrganizationsGetByIdQueryParams,\r\n PackageModel,\r\n PackagesCreateClientAppQueryParams,\r\n PackagesGetAllQueryParams,\r\n PackagesGetByIdPathParams,\r\n PackagesGetByIdQueryParams,\r\n PackagesLanguagesQueryParams,\r\n PartiesGetAllQueryParams,\r\n PartiesGetByIdPathParams,\r\n PartiesGetByIdQueryParams,\r\n PartyModel,\r\n PlanningDownTimeModel,\r\n PlanningMaintenanceIntervalModel,\r\n PlanningSetupTimeModel,\r\n PlanningTimeModel,\r\n PlanningTimesGetAllQueryParams,\r\n PlanningTimesGetByIdPathParams,\r\n PlanningTimesGetByIdQueryParams,\r\n PlanningWorkingTimeModel,\r\n ProcessesGetAllQueryParams,\r\n ProcessesGetByIdPathParams,\r\n ProcessesGetByIdQueryParams,\r\n ProductFeatureModel,\r\n ProductFeaturesGetAllQueryParams,\r\n ProductFeaturesGetByIdPathParams,\r\n ProductFeaturesGetByIdQueryParams,\r\n ProductFunctionModel,\r\n ProductFunctionsGetAllQueryParams,\r\n ProductFunctionsGetByIdPathParams,\r\n ProductFunctionsGetByIdQueryParams,\r\n ProductLcpAfterUseModel,\r\n ProductLcpDesignAndRealizationModel,\r\n ProductLcpPuttingToUseModel,\r\n ProductLcpUseModel,\r\n ProductLifeCyclePhaseModel,\r\n ProductLifeCyclePhasesGetAllQueryParams,\r\n ProductLifeCyclePhasesGetByIdPathParams,\r\n ProductLifeCyclePhasesGetByIdQueryParams,\r\n ProductMetadataGetAllQueryParams,\r\n ProductMetadataGetByIdPathParams,\r\n ProductMetadataGetByIdQueryParams,\r\n ProductMetadataModel,\r\n ProductPropertiesGetAllQueryParams,\r\n ProductPropertiesGetByIdPathParams,\r\n ProductPropertiesGetByIdQueryParams,\r\n ProductPropertyModel,\r\n ProductVariantModel,\r\n ProductVariantsGetAllQueryParams,\r\n ProductVariantsGetByIdPathParams,\r\n ProductVariantsGetByIdQueryParams,\r\n PuttingToUsesGetAllQueryParams,\r\n PuttingToUsesGetByIdPathParams,\r\n PuttingToUsesGetByIdQueryParams,\r\n QualificationModel,\r\n QualificationRoleModel,\r\n QualificationSkillLevelModel,\r\n QualificationsGetAllQueryParams,\r\n QualificationsGetByIdPathParams,\r\n QualificationsGetByIdQueryParams,\r\n ReferencesGetAllQueryParams,\r\n ReferencesGetByIdPathParams,\r\n ReferencesGetByIdQueryParams,\r\n RenditionModel,\r\n RenditionsGetAllQueryParams,\r\n RenditionsGetByIdPathParams,\r\n RenditionsGetByIdQueryParams,\r\n RenditionsGetWithBinaryWithBinaryPathPathParams,\r\n ResourcesDownloadResourcePathParams,\r\n ResourcesDownloadResourceWithBinaryPathPathParams,\r\n ResourcesPackagesGetPackagePathParams,\r\n ResourcesPackagesGetPackageQueryParams,\r\n ResourcesSubjectsGetSubjectFromPackagePathParams,\r\n ResourcesSubjectsGetSubjectFromPackageQueryParams,\r\n ResourcesViewViewResourcePathParams,\r\n ResourcesViewViewResourceWithBinaryPathPathParams,\r\n ResultContainerModel,\r\n RolesGetAllQueryParams,\r\n RolesGetByIdPathParams,\r\n RolesGetByIdQueryParams,\r\n SafetiesGetAllQueryParams,\r\n SafetiesGetByIdPathParams,\r\n SafetiesGetByIdQueryParams,\r\n SearchFacetsGetAllQueryParams,\r\n SetupTimesGetAllQueryParams,\r\n SetupTimesGetByIdPathParams,\r\n SetupTimesGetByIdQueryParams,\r\n SkillLevelsGetAllQueryParams,\r\n SkillLevelsGetByIdPathParams,\r\n SkillLevelsGetByIdQueryParams,\r\n SparQLExecuteSparQlPathParams,\r\n SparePartsGetAllQueryParams,\r\n SparePartsGetByIdPathParams,\r\n SparePartsGetByIdQueryParams,\r\n SuppliesGetAllQueryParams,\r\n SuppliesGetByIdPathParams,\r\n SuppliesGetByIdQueryParams,\r\n SupplyConsumableModel,\r\n SupplyHardwareToolModel,\r\n SupplyLubricantModel,\r\n SupplyModel,\r\n SupplyOperatingModel,\r\n SupplySparePartModel,\r\n TasksGetAllQueryParams,\r\n TasksGetByIdPathParams,\r\n TasksGetByIdQueryParams,\r\n TechnicalDataGetAllQueryParams,\r\n TechnicalDataGetByIdPathParams,\r\n TechnicalDataGetByIdQueryParams,\r\n TechnicalOverviewsGetAllQueryParams,\r\n TechnicalOverviewsGetByIdPathParams,\r\n TechnicalOverviewsGetByIdQueryParams,\r\n TopicModel,\r\n TopicTypeConceptModel,\r\n TopicTypeFormModel,\r\n TopicTypeLearningModel,\r\n TopicTypeModel,\r\n TopicTypeReferenceModel,\r\n TopicTypeTaskModel,\r\n TopicTypeTroubleShootingModel,\r\n TopicTypesGetAllQueryParams,\r\n TopicTypesGetByIdPathParams,\r\n TopicTypesGetByIdQueryParams,\r\n TopicsGetAllQueryParams,\r\n TopicsGetByIdPathParams,\r\n TopicsGetByIdQueryParams,\r\n TopicsLanguagesQueryParams,\r\n TroubleShootingsGetAllQueryParams,\r\n TroubleShootingsGetByIdPathParams,\r\n TroubleShootingsGetByIdQueryParams,\r\n UsesGetAllQueryParams,\r\n UsesGetByIdPathParams,\r\n UsesGetByIdQueryParams,\r\n VCardGroupModel,\r\n VCardIndividualModel,\r\n VCardLocationModel,\r\n VCardModel,\r\n VCardOrganizationModel,\r\n VCardsGetAllQueryParams,\r\n VCardsGetByIdPathParams,\r\n VCardsGetByIdQueryParams,\r\n WarningMessagesGetAllQueryParams,\r\n WarningMessagesGetByIdPathParams,\r\n WarningMessagesGetByIdQueryParams,\r\n WorkingTimesGetAllQueryParams,\r\n WorkingTimesGetByIdPathParams,\r\n WorkingTimesGetByIdQueryParams\r\n} from '@c-rex/interfaces';\r\n\r\n// ---------------------------------------------------------------------------\r\n// Request Functions\r\n// ---------------------------------------------------------------------------\r\n\r\n/** Get all entities by given criteria */\r\nexport const administrativeMetadataGetAllServer = async (query?: Partial<AdministrativeMetadataGetAllQueryParams>): Promise<ResultContainerModel<AdministrativeMetadataModel>> => {\r\n return baseServerRequest<ResultContainerModel<AdministrativeMetadataModel>>('AdministrativeMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const administrativeMetadataGetByIdServer = async (params: AdministrativeMetadataGetByIdPathParams, query?: Partial<AdministrativeMetadataGetByIdQueryParams>): Promise<AdministrativeMetadataModel> => {\r\n return baseServerRequest<AdministrativeMetadataModel>(`AdministrativeMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const afterUsesGetAllServer = async (query?: Partial<AfterUsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpAfterUseModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductLcpAfterUseModel>>('AfterUses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const afterUsesGetByIdServer = async (params: AfterUsesGetByIdPathParams, query?: Partial<AfterUsesGetByIdQueryParams>): Promise<ProductLcpAfterUseModel> => {\r\n return baseServerRequest<ProductLcpAfterUseModel>(`AfterUses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const categoriesGetAllServer = async (query?: Partial<CategoriesGetAllQueryParams>): Promise<ResultContainerModel<CategoryModel>> => {\r\n return baseServerRequest<ResultContainerModel<CategoryModel>>('crex/v1/Categories', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const categoriesGetByIdServer = async (params: CategoriesGetByIdPathParams, query?: Partial<CategoriesGetByIdQueryParams>): Promise<CategoryModel> => {\r\n return baseServerRequest<CategoryModel>(`crex/v1/Categories/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const collectionsGetAllServer = async (query?: Partial<CollectionsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectCollectionModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectCollectionModel>>('Collections', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const collectionsGetByIdServer = async (params: CollectionsGetByIdPathParams, query?: Partial<CollectionsGetByIdQueryParams>): Promise<InformationSubjectCollectionModel> => {\r\n return baseServerRequest<InformationSubjectCollectionModel>(`Collections/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const componentsGetAllServer = async (query?: Partial<ComponentsGetAllQueryParams>): Promise<ResultContainerModel<ComponentModel>> => {\r\n return baseServerRequest<ResultContainerModel<ComponentModel>>('Components', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const componentsGetByIdServer = async (params: ComponentsGetByIdPathParams, query?: Partial<ComponentsGetByIdQueryParams>): Promise<ComponentModel> => {\r\n return baseServerRequest<ComponentModel>(`Components/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const conceptsGetAllServer = async (query?: Partial<ConceptsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeConceptModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeConceptModel>>('Concepts', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const conceptsGetByIdServer = async (params: ConceptsGetByIdPathParams, query?: Partial<ConceptsGetByIdQueryParams>): Promise<TopicTypeConceptModel> => {\r\n return baseServerRequest<TopicTypeConceptModel>(`Concepts/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const conformitiesGetAllServer = async (query?: Partial<ConformitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectConformityModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectConformityModel>>('Conformities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const conformitiesGetByIdServer = async (params: ConformitiesGetByIdPathParams, query?: Partial<ConformitiesGetByIdQueryParams>): Promise<InformationSubjectConformityModel> => {\r\n return baseServerRequest<InformationSubjectConformityModel>(`Conformities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const consumablesGetAllServer = async (query?: Partial<ConsumablesGetAllQueryParams>): Promise<ResultContainerModel<SupplyConsumableModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplyConsumableModel>>('Consumables', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const consumablesGetByIdServer = async (params: ConsumablesGetByIdPathParams, query?: Partial<ConsumablesGetByIdQueryParams>): Promise<SupplyConsumableModel> => {\r\n return baseServerRequest<SupplyConsumableModel>(`Consumables/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const contentLifeCycleStatusGetAllServer = async (query?: Partial<ContentLifeCycleStatusGetAllQueryParams>): Promise<ResultContainerModel<ContentLifeCycleStatusModel>> => {\r\n return baseServerRequest<ResultContainerModel<ContentLifeCycleStatusModel>>('ContentLifeCycleStatus', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const contentLifeCycleStatusGetByIdServer = async (params: ContentLifeCycleStatusGetByIdPathParams, query?: Partial<ContentLifeCycleStatusGetByIdQueryParams>): Promise<ContentLifeCycleStatusModel> => {\r\n return baseServerRequest<ContentLifeCycleStatusModel>(`ContentLifeCycleStatus/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const designAndRealizationsGetAllServer = async (query?: Partial<DesignAndRealizationsGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpDesignAndRealizationModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductLcpDesignAndRealizationModel>>('DesignAndRealizations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const designAndRealizationsGetByIdServer = async (params: DesignAndRealizationsGetByIdPathParams, query?: Partial<DesignAndRealizationsGetByIdQueryParams>): Promise<ProductLcpDesignAndRealizationModel> => {\r\n return baseServerRequest<ProductLcpDesignAndRealizationModel>(`DesignAndRealizations/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const directoryNodesGetAllServer = async (query?: Partial<DirectoryNodesGetAllQueryParams>): Promise<ResultContainerModel<DirectoryNodeModel>> => {\r\n return baseServerRequest<ResultContainerModel<DirectoryNodeModel>>('DirectoryNodes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const directoryNodesGetByIdServer = async (params: DirectoryNodesGetByIdPathParams, query?: Partial<DirectoryNodesGetByIdQueryParams>): Promise<DirectoryNodeModel> => {\r\n return baseServerRequest<DirectoryNodeModel>(`DirectoryNodes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const directoryNodeTypesGetAllServer = async (query?: Partial<DirectoryNodeTypesGetAllQueryParams>): Promise<ResultContainerModel<DirectoryNodeTypeModel>> => {\r\n return baseServerRequest<ResultContainerModel<DirectoryNodeTypeModel>>('DirectoryNodeTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const directoryNodeTypesGetByIdServer = async (params: DirectoryNodeTypesGetByIdPathParams, query?: Partial<DirectoryNodeTypesGetByIdQueryParams>): Promise<DirectoryNodeTypeModel> => {\r\n return baseServerRequest<DirectoryNodeTypeModel>(`DirectoryNodeTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentationMetadataGetAllServer = async (query?: Partial<DocumentationMetadataGetAllQueryParams>): Promise<ResultContainerModel<DocumentationMetadataModel>> => {\r\n return baseServerRequest<ResultContainerModel<DocumentationMetadataModel>>('DocumentationMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentationMetadataGetByIdServer = async (params: DocumentationMetadataGetByIdPathParams, query?: Partial<DocumentationMetadataGetByIdQueryParams>): Promise<DocumentationMetadataModel> => {\r\n return baseServerRequest<DocumentationMetadataModel>(`DocumentationMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentsGetAllServer = async (query?: Partial<DocumentsGetAllQueryParams>): Promise<ResultContainerModel<DocumentModel>> => {\r\n return baseServerRequest<ResultContainerModel<DocumentModel>>('Documents', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentsGetByIdServer = async (params: DocumentsGetByIdPathParams, query?: Partial<DocumentsGetByIdQueryParams>): Promise<DocumentModel> => {\r\n return baseServerRequest<DocumentModel>(`Documents/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const documentsLanguagesServer = async (query?: Partial<DocumentsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('Documents/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentTypesGetAllServer = async (query?: Partial<DocumentTypesGetAllQueryParams>): Promise<ResultContainerModel<DocumentTypeModel>> => {\r\n return baseServerRequest<ResultContainerModel<DocumentTypeModel>>('DocumentTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentTypesGetByIdServer = async (params: DocumentTypesGetByIdPathParams, query?: Partial<DocumentTypesGetByIdQueryParams>): Promise<DocumentTypeModel> => {\r\n return baseServerRequest<DocumentTypeModel>(`DocumentTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const domainEntitiesGetAllServer = async (query?: Partial<DomainEntitiesGetAllQueryParams>): Promise<ResultContainerModel<DomainEntityModel>> => {\r\n return baseServerRequest<ResultContainerModel<DomainEntityModel>>('DomainEntities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const domainEntitiesGetByIdServer = async (params: DomainEntitiesGetByIdPathParams, query?: Partial<DomainEntitiesGetByIdQueryParams>): Promise<DomainEntityModel> => {\r\n return baseServerRequest<DomainEntityModel>(`DomainEntities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const downTimesGetAllServer = async (query?: Partial<DownTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningDownTimeModel>> => {\r\n return baseServerRequest<ResultContainerModel<PlanningDownTimeModel>>('DownTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const downTimesGetByIdServer = async (params: DownTimesGetByIdPathParams, query?: Partial<DownTimesGetByIdQueryParams>): Promise<PlanningDownTimeModel> => {\r\n return baseServerRequest<PlanningDownTimeModel>(`DownTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const eventsGetAllServer = async (query?: Partial<EventsGetAllQueryParams>): Promise<ResultContainerModel<EventModel>> => {\r\n return baseServerRequest<ResultContainerModel<EventModel>>('Events', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const eventsGetByIdServer = async (params: EventsGetByIdPathParams, query?: Partial<EventsGetByIdQueryParams>): Promise<EventModel> => {\r\n return baseServerRequest<EventModel>(`Events/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const formalitiesGetAllServer = async (query?: Partial<FormalitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectFormalityModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectFormalityModel>>('Formalities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const formalitiesGetByIdServer = async (params: FormalitiesGetByIdPathParams, query?: Partial<FormalitiesGetByIdQueryParams>): Promise<InformationSubjectFormalityModel> => {\r\n return baseServerRequest<InformationSubjectFormalityModel>(`Formalities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const formsGetAllServer = async (query?: Partial<FormsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeFormModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeFormModel>>('Forms', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const formsGetByIdServer = async (params: FormsGetByIdPathParams, query?: Partial<FormsGetByIdQueryParams>): Promise<TopicTypeFormModel> => {\r\n return baseServerRequest<TopicTypeFormModel>(`Forms/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const fragmentsGetAllServer = async (query?: Partial<FragmentsGetAllQueryParams>): Promise<ResultContainerModel<FragmentModel>> => {\r\n return baseServerRequest<ResultContainerModel<FragmentModel>>('Fragments', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const fragmentsGetByIdServer = async (params: FragmentsGetByIdPathParams, query?: Partial<FragmentsGetByIdQueryParams>): Promise<FragmentModel> => {\r\n return baseServerRequest<FragmentModel>(`Fragments/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const fragmentsLanguagesServer = async (query?: Partial<FragmentsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('Fragments/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const functionalitiesGetAllServer = async (query?: Partial<FunctionalitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectFunctionalityModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectFunctionalityModel>>('Functionalities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const functionalitiesGetByIdServer = async (params: FunctionalitiesGetByIdPathParams, query?: Partial<FunctionalitiesGetByIdQueryParams>): Promise<InformationSubjectFunctionalityModel> => {\r\n return baseServerRequest<InformationSubjectFunctionalityModel>(`Functionalities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const functionalMetadatasGetAllServer = async (query?: Partial<FunctionalMetadatasGetAllQueryParams>): Promise<ResultContainerModel<FunctionalMetadataModel>> => {\r\n return baseServerRequest<ResultContainerModel<FunctionalMetadataModel>>('FunctionalMetadatas', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const functionalMetadatasGetByIdServer = async (params: FunctionalMetadatasGetByIdPathParams, query?: Partial<FunctionalMetadatasGetByIdQueryParams>): Promise<FunctionalMetadataModel> => {\r\n return baseServerRequest<FunctionalMetadataModel>(`FunctionalMetadatas/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const groupsGetAllServer = async (query?: Partial<GroupsGetAllQueryParams>): Promise<ResultContainerModel<VCardGroupModel>> => {\r\n return baseServerRequest<ResultContainerModel<VCardGroupModel>>('vcard/v1/Groups', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const groupsGetByIdServer = async (params: GroupsGetByIdPathParams, query?: Partial<GroupsGetByIdQueryParams>): Promise<VCardGroupModel> => {\r\n return baseServerRequest<VCardGroupModel>(`vcard/v1/Groups/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const hardwareToolsGetAllServer = async (query?: Partial<HardwareToolsGetAllQueryParams>): Promise<ResultContainerModel<SupplyHardwareToolModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplyHardwareToolModel>>('HardwareTools', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const hardwareToolsGetByIdServer = async (params: HardwareToolsGetByIdPathParams, query?: Partial<HardwareToolsGetByIdQueryParams>): Promise<SupplyHardwareToolModel> => {\r\n return baseServerRequest<SupplyHardwareToolModel>(`HardwareTools/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const identitiesGetAllServer = async (query?: Partial<IdentitiesGetAllQueryParams>): Promise<ResultContainerModel<IdentityModel>> => {\r\n return baseServerRequest<ResultContainerModel<IdentityModel>>('Identities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const identitiesGetByIdServer = async (params: IdentitiesGetByIdPathParams, query?: Partial<IdentitiesGetByIdQueryParams>): Promise<IdentityModel> => {\r\n return baseServerRequest<IdentityModel>(`Identities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const identityDomainsGetAllServer = async (query?: Partial<IdentityDomainsGetAllQueryParams>): Promise<ResultContainerModel<IdentityDomainModel>> => {\r\n return baseServerRequest<ResultContainerModel<IdentityDomainModel>>('IdentityDomains', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const identityDomainsGetByIdServer = async (params: IdentityDomainsGetByIdPathParams, query?: Partial<IdentityDomainsGetByIdQueryParams>): Promise<IdentityDomainModel> => {\r\n return baseServerRequest<IdentityDomainModel>(`IdentityDomains/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const individualsGetAllServer = async (query?: Partial<IndividualsGetAllQueryParams>): Promise<ResultContainerModel<VCardIndividualModel>> => {\r\n return baseServerRequest<ResultContainerModel<VCardIndividualModel>>('vcard/v1/Individuals', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const individualsGetByIdServer = async (params: IndividualsGetByIdPathParams, query?: Partial<IndividualsGetByIdQueryParams>): Promise<VCardIndividualModel> => {\r\n return baseServerRequest<VCardIndividualModel>(`vcard/v1/Individuals/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationObjectsGetAllServer = async (query?: Partial<InformationObjectsGetAllQueryParams>): Promise<ResultContainerModel<InformationObjectModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationObjectModel>>('InformationObjects', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationObjectsGetByIdServer = async (params: InformationObjectsGetByIdPathParams, query?: Partial<InformationObjectsGetByIdQueryParams>): Promise<InformationObjectModel> => {\r\n return baseServerRequest<InformationObjectModel>(`InformationObjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationSubjectsGetAllServer = async (query?: Partial<InformationSubjectsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectModel>>('InformationSubjects', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationSubjectsGetByIdServer = async (params: InformationSubjectsGetByIdPathParams, query?: Partial<InformationSubjectsGetByIdQueryParams>): Promise<InformationSubjectModel> => {\r\n return baseServerRequest<InformationSubjectModel>(`InformationSubjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationTypesGetAllServer = async (query?: Partial<InformationTypesGetAllQueryParams>): Promise<ResultContainerModel<InformationTypeModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationTypeModel>>('InformationTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationTypesGetByIdServer = async (params: InformationTypesGetByIdPathParams, query?: Partial<InformationTypesGetByIdQueryParams>): Promise<InformationTypeModel> => {\r\n return baseServerRequest<InformationTypeModel>(`InformationTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationUnitsGetAllServer = async (query?: Partial<InformationUnitsGetAllQueryParams>): Promise<ResultContainerModel<InformationUnitModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationUnitModel>>('InformationUnits', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationUnitsGetByIdServer = async (params: InformationUnitsGetByIdPathParams, query?: Partial<InformationUnitsGetByIdQueryParams>): Promise<InformationUnitModel> => {\r\n return baseServerRequest<InformationUnitModel>(`InformationUnits/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const informationUnitsLanguagesServer = async (query?: Partial<InformationUnitsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('InformationUnits/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const learningsGetAllServer = async (query?: Partial<LearningsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeLearningModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeLearningModel>>('Learnings', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const learningsGetByIdServer = async (params: LearningsGetByIdPathParams, query?: Partial<LearningsGetByIdQueryParams>): Promise<TopicTypeLearningModel> => {\r\n return baseServerRequest<TopicTypeLearningModel>(`Learnings/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const locationsGetAllServer = async (query?: Partial<LocationsGetAllQueryParams>): Promise<ResultContainerModel<VCardLocationModel>> => {\r\n return baseServerRequest<ResultContainerModel<VCardLocationModel>>('vcard/v1/Locations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const locationsGetByIdServer = async (params: LocationsGetByIdPathParams, query?: Partial<LocationsGetByIdQueryParams>): Promise<VCardLocationModel> => {\r\n return baseServerRequest<VCardLocationModel>(`vcard/v1/Locations/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const lubricantsGetAllServer = async (query?: Partial<LubricantsGetAllQueryParams>): Promise<ResultContainerModel<SupplyLubricantModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplyLubricantModel>>('Lubricants', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const lubricantsGetByIdServer = async (params: LubricantsGetByIdPathParams, query?: Partial<LubricantsGetByIdQueryParams>): Promise<SupplyLubricantModel> => {\r\n return baseServerRequest<SupplyLubricantModel>(`Lubricants/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const maintenanceIntervalsGetAllServer = async (query?: Partial<MaintenanceIntervalsGetAllQueryParams>): Promise<ResultContainerModel<PlanningMaintenanceIntervalModel>> => {\r\n return baseServerRequest<ResultContainerModel<PlanningMaintenanceIntervalModel>>('MaintenanceIntervals', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const maintenanceIntervalsGetByIdServer = async (params: MaintenanceIntervalsGetByIdPathParams, query?: Partial<MaintenanceIntervalsGetByIdQueryParams>): Promise<PlanningMaintenanceIntervalModel> => {\r\n return baseServerRequest<PlanningMaintenanceIntervalModel>(`MaintenanceIntervals/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const operatingSuppliesGetAllServer = async (query?: Partial<OperatingSuppliesGetAllQueryParams>): Promise<ResultContainerModel<SupplyOperatingModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplyOperatingModel>>('OperatingSupplies', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const operatingSuppliesGetByIdServer = async (params: OperatingSuppliesGetByIdPathParams, query?: Partial<OperatingSuppliesGetByIdQueryParams>): Promise<SupplyOperatingModel> => {\r\n return baseServerRequest<SupplyOperatingModel>(`OperatingSupplies/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const organizationsGetAllServer = async (query?: Partial<OrganizationsGetAllQueryParams>): Promise<ResultContainerModel<VCardOrganizationModel>> => {\r\n return baseServerRequest<ResultContainerModel<VCardOrganizationModel>>('vcard/v1/Organizations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const organizationsGetByIdServer = async (params: OrganizationsGetByIdPathParams, query?: Partial<OrganizationsGetByIdQueryParams>): Promise<VCardOrganizationModel> => {\r\n return baseServerRequest<VCardOrganizationModel>(`vcard/v1/Organizations/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Create an Offline Client App from the given Repositories */\r\nexport const packagesCreateClientAppServer = async (query?: Partial<PackagesCreateClientAppQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('ids/v1/Packages/CreateClientApp', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const packagesGetAllServer = async (query?: Partial<PackagesGetAllQueryParams>): Promise<ResultContainerModel<PackageModel>> => {\r\n return baseServerRequest<ResultContainerModel<PackageModel>>('Packages', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const packagesGetByIdServer = async (params: PackagesGetByIdPathParams, query?: Partial<PackagesGetByIdQueryParams>): Promise<PackageModel> => {\r\n return baseServerRequest<PackageModel>(`Packages/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const packagesLanguagesServer = async (query?: Partial<PackagesLanguagesQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('Packages/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const partiesGetAllServer = async (query?: Partial<PartiesGetAllQueryParams>): Promise<ResultContainerModel<PartyModel>> => {\r\n return baseServerRequest<ResultContainerModel<PartyModel>>('Parties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const partiesGetByIdServer = async (params: PartiesGetByIdPathParams, query?: Partial<PartiesGetByIdQueryParams>): Promise<PartyModel> => {\r\n return baseServerRequest<PartyModel>(`Parties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const planningTimesGetAllServer = async (query?: Partial<PlanningTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningTimeModel>> => {\r\n return baseServerRequest<ResultContainerModel<PlanningTimeModel>>('PlanningTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const planningTimesGetByIdServer = async (params: PlanningTimesGetByIdPathParams, query?: Partial<PlanningTimesGetByIdQueryParams>): Promise<PlanningTimeModel> => {\r\n return baseServerRequest<PlanningTimeModel>(`PlanningTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const processesGetAllServer = async (query?: Partial<ProcessesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectProcessModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectProcessModel>>('Processes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const processesGetByIdServer = async (params: ProcessesGetByIdPathParams, query?: Partial<ProcessesGetByIdQueryParams>): Promise<InformationSubjectProcessModel> => {\r\n return baseServerRequest<InformationSubjectProcessModel>(`Processes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productFeaturesGetAllServer = async (query?: Partial<ProductFeaturesGetAllQueryParams>): Promise<ResultContainerModel<ProductFeatureModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductFeatureModel>>('ProductFeatures', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productFeaturesGetByIdServer = async (params: ProductFeaturesGetByIdPathParams, query?: Partial<ProductFeaturesGetByIdQueryParams>): Promise<ProductFeatureModel> => {\r\n return baseServerRequest<ProductFeatureModel>(`ProductFeatures/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productFunctionsGetAllServer = async (query?: Partial<ProductFunctionsGetAllQueryParams>): Promise<ResultContainerModel<ProductFunctionModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductFunctionModel>>('ProductFunctions', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productFunctionsGetByIdServer = async (params: ProductFunctionsGetByIdPathParams, query?: Partial<ProductFunctionsGetByIdQueryParams>): Promise<ProductFunctionModel> => {\r\n return baseServerRequest<ProductFunctionModel>(`ProductFunctions/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productLifeCyclePhasesGetAllServer = async (query?: Partial<ProductLifeCyclePhasesGetAllQueryParams>): Promise<ResultContainerModel<ProductLifeCyclePhaseModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductLifeCyclePhaseModel>>('ProductLifeCyclePhases', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productLifeCyclePhasesGetByIdServer = async (params: ProductLifeCyclePhasesGetByIdPathParams, query?: Partial<ProductLifeCyclePhasesGetByIdQueryParams>): Promise<ProductLifeCyclePhaseModel> => {\r\n return baseServerRequest<ProductLifeCyclePhaseModel>(`ProductLifeCyclePhases/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productMetadataGetAllServer = async (query?: Partial<ProductMetadataGetAllQueryParams>): Promise<ResultContainerModel<ProductMetadataModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductMetadataModel>>('ProductMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productMetadataGetByIdServer = async (params: ProductMetadataGetByIdPathParams, query?: Partial<ProductMetadataGetByIdQueryParams>): Promise<ProductMetadataModel> => {\r\n return baseServerRequest<ProductMetadataModel>(`ProductMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productPropertiesGetAllServer = async (query?: Partial<ProductPropertiesGetAllQueryParams>): Promise<ResultContainerModel<ProductPropertyModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductPropertyModel>>('ProductProperties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productPropertiesGetByIdServer = async (params: ProductPropertiesGetByIdPathParams, query?: Partial<ProductPropertiesGetByIdQueryParams>): Promise<ProductPropertyModel> => {\r\n return baseServerRequest<ProductPropertyModel>(`ProductProperties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productVariantsGetAllServer = async (query?: Partial<ProductVariantsGetAllQueryParams>): Promise<ResultContainerModel<ProductVariantModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductVariantModel>>('ProductVariants', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productVariantsGetByIdServer = async (params: ProductVariantsGetByIdPathParams, query?: Partial<ProductVariantsGetByIdQueryParams>): Promise<ProductVariantModel> => {\r\n return baseServerRequest<ProductVariantModel>(`ProductVariants/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const puttingToUsesGetAllServer = async (query?: Partial<PuttingToUsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpPuttingToUseModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductLcpPuttingToUseModel>>('PuttingToUses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const puttingToUsesGetByIdServer = async (params: PuttingToUsesGetByIdPathParams, query?: Partial<PuttingToUsesGetByIdQueryParams>): Promise<ProductLcpPuttingToUseModel> => {\r\n return baseServerRequest<ProductLcpPuttingToUseModel>(`PuttingToUses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const qualificationsGetAllServer = async (query?: Partial<QualificationsGetAllQueryParams>): Promise<ResultContainerModel<QualificationModel>> => {\r\n return baseServerRequest<ResultContainerModel<QualificationModel>>('Qualifications', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const qualificationsGetByIdServer = async (params: QualificationsGetByIdPathParams, query?: Partial<QualificationsGetByIdQueryParams>): Promise<QualificationModel> => {\r\n return baseServerRequest<QualificationModel>(`Qualifications/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const referencesGetAllServer = async (query?: Partial<ReferencesGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeReferenceModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeReferenceModel>>('References', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const referencesGetByIdServer = async (params: ReferencesGetByIdPathParams, query?: Partial<ReferencesGetByIdQueryParams>): Promise<TopicTypeReferenceModel> => {\r\n return baseServerRequest<TopicTypeReferenceModel>(`References/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const renditionsGetAllServer = async (query?: Partial<RenditionsGetAllQueryParams>): Promise<ResultContainerModel<RenditionModel>> => {\r\n return baseServerRequest<ResultContainerModel<RenditionModel>>('Renditions', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const renditionsGetByIdServer = async (params: RenditionsGetByIdPathParams, query?: Partial<RenditionsGetByIdQueryParams>): Promise<RenditionModel> => {\r\n return baseServerRequest<RenditionModel>(`Renditions/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get the rendition for the given url */\r\nexport const renditionsGetWithBinaryWithBinaryPathServer = async (params: RenditionsGetWithBinaryWithBinaryPathPathParams): Promise<RenditionModel> => {\r\n return baseServerRequest<RenditionModel>(`Renditions/${encodeURIComponent(String(params.id))}/${encodeURIComponent(String(params.binaryPath))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesDownloadResourceServer = async (params: ResourcesDownloadResourcePathParams): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`ids/v1/Resources/${encodeURIComponent(String(params.renditionId))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesDownloadResourceWithBinaryPathServer = async (params: ResourcesDownloadResourceWithBinaryPathPathParams): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`ids/v1/Resources/${encodeURIComponent(String(params.renditionId))}/${encodeURIComponent(String(params.binaryPath))}`);\r\n};\r\n\r\n/** Query package with id\r\ndefault mediatypes application/json\r\nchange mediatype by Adding accept-Header (like application/rdf+xml application/rdf+json, and more) */\r\nexport const resourcesGetPackageServer = async (params: ResourcesPackagesGetPackagePathParams, query?: Partial<ResourcesPackagesGetPackageQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`Resources/packages/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Request any resource in tiple store from packages */\r\nexport const resourcesGetSubjectFromPackageServer = async (params: ResourcesSubjectsGetSubjectFromPackagePathParams, query?: Partial<ResourcesSubjectsGetSubjectFromPackageQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`Resources/subjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesViewResourceServer = async (params: ResourcesViewViewResourcePathParams): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`ids/v1/Resources/view/${encodeURIComponent(String(params.renditionId))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesViewResourceWithBinaryPathServer = async (params: ResourcesViewViewResourceWithBinaryPathPathParams): Promise<unknown> => {\r\n return baseServerRequest<unknown>(`ids/v1/Resources/view/${encodeURIComponent(String(params.renditionId))}/${encodeURIComponent(String(params.binaryPath))}`);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const rolesGetAllServer = async (query?: Partial<RolesGetAllQueryParams>): Promise<ResultContainerModel<QualificationRoleModel>> => {\r\n return baseServerRequest<ResultContainerModel<QualificationRoleModel>>('Roles', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const rolesGetByIdServer = async (params: RolesGetByIdPathParams, query?: Partial<RolesGetByIdQueryParams>): Promise<QualificationRoleModel> => {\r\n return baseServerRequest<QualificationRoleModel>(`Roles/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const safetiesGetAllServer = async (query?: Partial<SafetiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectSafetyModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectSafetyModel>>('Safeties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const safetiesGetByIdServer = async (params: SafetiesGetByIdPathParams, query?: Partial<SafetiesGetByIdQueryParams>): Promise<InformationSubjectSafetyModel> => {\r\n return baseServerRequest<InformationSubjectSafetyModel>(`Safeties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const searchGetAllServer = async (query?: Partial<SearchFacetsGetAllQueryParams>): Promise<ResultContainerModel<unknown>> => {\r\n return baseServerRequest<ResultContainerModel<unknown>>('ids/v1/Search/Facets', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const setupTimesGetAllServer = async (query?: Partial<SetupTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningSetupTimeModel>> => {\r\n return baseServerRequest<ResultContainerModel<PlanningSetupTimeModel>>('SetupTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const setupTimesGetByIdServer = async (params: SetupTimesGetByIdPathParams, query?: Partial<SetupTimesGetByIdQueryParams>): Promise<PlanningSetupTimeModel> => {\r\n return baseServerRequest<PlanningSetupTimeModel>(`SetupTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const skillLevelsGetAllServer = async (query?: Partial<SkillLevelsGetAllQueryParams>): Promise<ResultContainerModel<QualificationSkillLevelModel>> => {\r\n return baseServerRequest<ResultContainerModel<QualificationSkillLevelModel>>('SkillLevels', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const skillLevelsGetByIdServer = async (params: SkillLevelsGetByIdPathParams, query?: Partial<SkillLevelsGetByIdQueryParams>): Promise<QualificationSkillLevelModel> => {\r\n return baseServerRequest<QualificationSkillLevelModel>(`SkillLevels/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const sparePartsGetAllServer = async (query?: Partial<SparePartsGetAllQueryParams>): Promise<ResultContainerModel<SupplySparePartModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplySparePartModel>>('SpareParts', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const sparePartsGetByIdServer = async (params: SparePartsGetByIdPathParams, query?: Partial<SparePartsGetByIdQueryParams>): Promise<SupplySparePartModel> => {\r\n return baseServerRequest<SupplySparePartModel>(`SpareParts/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Query Iirds storage by SparQL */\r\nexport const sparQLExecuteSparQlServer = async (params: SparQLExecuteSparQlPathParams): Promise<Record<string, string>[]> => {\r\n return baseServerRequest<Record<string, string>[]>(`SparQL/${encodeURIComponent(String(params.query))}`);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const suppliesGetAllServer = async (query?: Partial<SuppliesGetAllQueryParams>): Promise<ResultContainerModel<SupplyModel>> => {\r\n return baseServerRequest<ResultContainerModel<SupplyModel>>('Supplies', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const suppliesGetByIdServer = async (params: SuppliesGetByIdPathParams, query?: Partial<SuppliesGetByIdQueryParams>): Promise<SupplyModel> => {\r\n return baseServerRequest<SupplyModel>(`Supplies/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const tasksGetAllServer = async (query?: Partial<TasksGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeTaskModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeTaskModel>>('Tasks', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const tasksGetByIdServer = async (params: TasksGetByIdPathParams, query?: Partial<TasksGetByIdQueryParams>): Promise<TopicTypeTaskModel> => {\r\n return baseServerRequest<TopicTypeTaskModel>(`Tasks/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const technicalDataGetAllServer = async (query?: Partial<TechnicalDataGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectTechnicalDataModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectTechnicalDataModel>>('TechnicalData', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const technicalDataGetByIdServer = async (params: TechnicalDataGetByIdPathParams, query?: Partial<TechnicalDataGetByIdQueryParams>): Promise<InformationSubjectTechnicalDataModel> => {\r\n return baseServerRequest<InformationSubjectTechnicalDataModel>(`TechnicalData/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const technicalOverviewsGetAllServer = async (query?: Partial<TechnicalOverviewsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectTechnicalOverviewModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectTechnicalOverviewModel>>('TechnicalOverviews', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const technicalOverviewsGetByIdServer = async (params: TechnicalOverviewsGetByIdPathParams, query?: Partial<TechnicalOverviewsGetByIdQueryParams>): Promise<InformationSubjectTechnicalOverviewModel> => {\r\n return baseServerRequest<InformationSubjectTechnicalOverviewModel>(`TechnicalOverviews/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const topicsGetAllServer = async (query?: Partial<TopicsGetAllQueryParams>): Promise<ResultContainerModel<TopicModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicModel>>('Topics', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const topicsGetByIdServer = async (params: TopicsGetByIdPathParams, query?: Partial<TopicsGetByIdQueryParams>): Promise<TopicModel> => {\r\n return baseServerRequest<TopicModel>(`Topics/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const topicsLanguagesServer = async (query?: Partial<TopicsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseServerRequest<unknown>('Topics/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const topicTypesGetAllServer = async (query?: Partial<TopicTypesGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeModel>>('TopicTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const topicTypesGetByIdServer = async (params: TopicTypesGetByIdPathParams, query?: Partial<TopicTypesGetByIdQueryParams>): Promise<TopicTypeModel> => {\r\n return baseServerRequest<TopicTypeModel>(`TopicTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const troubleShootingsGetAllServer = async (query?: Partial<TroubleShootingsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeTroubleShootingModel>> => {\r\n return baseServerRequest<ResultContainerModel<TopicTypeTroubleShootingModel>>('TroubleShootings', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const troubleShootingsGetByIdServer = async (params: TroubleShootingsGetByIdPathParams, query?: Partial<TroubleShootingsGetByIdQueryParams>): Promise<TopicTypeTroubleShootingModel> => {\r\n return baseServerRequest<TopicTypeTroubleShootingModel>(`TroubleShootings/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const usesGetAllServer = async (query?: Partial<UsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpUseModel>> => {\r\n return baseServerRequest<ResultContainerModel<ProductLcpUseModel>>('Uses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const usesGetByIdServer = async (params: UsesGetByIdPathParams, query?: Partial<UsesGetByIdQueryParams>): Promise<ProductLcpUseModel> => {\r\n return baseServerRequest<ProductLcpUseModel>(`Uses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const vCardsGetAllServer = async (query?: Partial<VCardsGetAllQueryParams>): Promise<ResultContainerModel<VCardModel>> => {\r\n return baseServerRequest<ResultContainerModel<VCardModel>>('vcard/v1/VCards', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const vCardsGetByIdServer = async (params: VCardsGetByIdPathParams, query?: Partial<VCardsGetByIdQueryParams>): Promise<VCardModel> => {\r\n return baseServerRequest<VCardModel>(`vcard/v1/VCards/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const warningMessagesGetAllServer = async (query?: Partial<WarningMessagesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectSafetyWarningMessageModel>> => {\r\n return baseServerRequest<ResultContainerModel<InformationSubjectSafetyWarningMessageModel>>('WarningMessages', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const warningMessagesGetByIdServer = async (params: WarningMessagesGetByIdPathParams, query?: Partial<WarningMessagesGetByIdQueryParams>): Promise<InformationSubjectSafetyWarningMessageModel> => {\r\n return baseServerRequest<InformationSubjectSafetyWarningMessageModel>(`WarningMessages/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const workingTimesGetAllServer = async (query?: Partial<WorkingTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningWorkingTimeModel>> => {\r\n return baseServerRequest<ResultContainerModel<PlanningWorkingTimeModel>>('WorkingTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const workingTimesGetByIdServer = async (params: WorkingTimesGetByIdPathParams, query?: Partial<WorkingTimesGetByIdQueryParams>): Promise<PlanningWorkingTimeModel> => {\r\n return baseServerRequest<PlanningWorkingTimeModel>(`WorkingTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n","const readPositiveInt = (rawValue: string | undefined, fallback: number): number => {\r\n const parsed = Number(rawValue);\r\n if (!Number.isFinite(parsed) || parsed <= 0) return fallback;\r\n return Math.floor(parsed);\r\n};\r\n\r\n/**\r\n * Central read-model cache policy (seconds).\r\n * Values can be overridden per environment to tune cache windows by top-level domain.\r\n */\r\nexport const READMODEL_CACHE_POLICY = {\r\n metadataRevalidateSeconds: readPositiveInt(\r\n process.env.CREX_CACHE_REVALIDATE_METADATA_SECONDS,\r\n 2 * 60 * 60\r\n ),\r\n vcardRevalidateSeconds: readPositiveInt(\r\n process.env.CREX_CACHE_REVALIDATE_VCARD_SECONDS,\r\n 6 * 60 * 60\r\n ),\r\n requestsRevalidateSeconds: readPositiveInt(\r\n process.env.CREX_CACHE_REVALIDATE_REQUESTS_SECONDS,\r\n 15 * 60\r\n ),\r\n} as const;\r\n\r\n","import type {\r\n IndividualsGetAllQueryParams,\r\n IndividualsGetByIdQueryParams,\r\n VCardIndividualModel,\r\n} from \"@c-rex/interfaces\";\r\nimport { individualsGetAllServer, individualsGetByIdServer } from \"../generated/server-requests\";\r\nimport { type ContactEntry, DEFAULT_LOGO_SRC, mapVCardEntityToBaseProfile, resolveUiLanguage } from \"./profile-utils\";\r\n\r\nexport type IndividualProfile = {\r\n id?: string;\r\n displayName: string;\r\n fullName: string;\r\n logoSrc: string;\r\n addressLines: string[];\r\n email?: string;\r\n telephoneEntries: ContactEntry[];\r\n website?: string;\r\n title?: string;\r\n role?: string;\r\n};\r\n\r\nconst toIndividualProfile = (\r\n individual: VCardIndividualModel,\r\n options: {\r\n uiLanguage: string;\r\n displayNameFallback: string;\r\n logoFallbackSrc?: string;\r\n }\r\n) => {\r\n const base = mapVCardEntityToBaseProfile(individual, {\r\n uiLanguage: options.uiLanguage,\r\n displayNameFallback: options.displayNameFallback,\r\n logoFallbackSrc: options.logoFallbackSrc,\r\n });\r\n\r\n return {\r\n ...base,\r\n fullName: base.displayName,\r\n title: individual.title?.trim() || undefined,\r\n role: individual.role?.trim() || undefined,\r\n };\r\n};\r\n\r\nexport const getIndividualProfileById = async (\r\n id: string,\r\n query?: Partial<IndividualsGetByIdQueryParams>\r\n): Promise<IndividualProfile> => {\r\n const uiLanguage = resolveUiLanguage();\r\n\r\n try {\r\n const individual = await individualsGetByIdServer({ id }, query);\r\n return toIndividualProfile(individual, {\r\n uiLanguage,\r\n displayNameFallback: id,\r\n logoFallbackSrc: DEFAULT_LOGO_SRC,\r\n });\r\n } catch (error) {\r\n console.error(`[IndividualProfile] Failed to load VCARD individual \"${id}\".`, error);\r\n return {\r\n id,\r\n logoSrc: DEFAULT_LOGO_SRC,\r\n displayName: id,\r\n fullName: id,\r\n addressLines: [],\r\n telephoneEntries: [],\r\n };\r\n }\r\n};\r\n\r\nexport const getIndividualsProfiles = async (\r\n query?: Partial<IndividualsGetAllQueryParams>\r\n): Promise<IndividualProfile[]> => {\r\n const uiLanguage = resolveUiLanguage();\r\n const result = await individualsGetAllServer(query);\r\n\r\n return result.items.map((individual) =>\r\n toIndividualProfile(individual, {\r\n uiLanguage,\r\n displayNameFallback: individual.id || \"Unknown individual\",\r\n logoFallbackSrc: DEFAULT_LOGO_SRC,\r\n })\r\n );\r\n};\r\n","import type { VCardModel, VCardsGetAllQueryParams, VCardsGetByIdQueryParams } from \"@c-rex/interfaces\";\r\nimport { vCardsGetAllServer, vCardsGetByIdServer } from \"../generated/server-requests\";\r\nimport { type ContactEntry, DEFAULT_LOGO_SRC, mapVCardEntityToBaseProfile, resolveUiLanguage } from \"./profile-utils\";\r\n\r\nexport type VCardProfile = {\r\n id?: string;\r\n displayName: string;\r\n fullName: string;\r\n logoSrc: string;\r\n addressLines: string[];\r\n email?: string;\r\n telephoneEntries: ContactEntry[];\r\n website?: string;\r\n};\r\n\r\nconst toVCardProfile = (\r\n vcard: VCardModel,\r\n options: {\r\n uiLanguage: string;\r\n displayNameFallback: string;\r\n logoFallbackSrc?: string;\r\n }\r\n) => {\r\n const base = mapVCardEntityToBaseProfile(vcard, {\r\n uiLanguage: options.uiLanguage,\r\n displayNameFallback: options.displayNameFallback,\r\n logoFallbackSrc: options.logoFallbackSrc,\r\n });\r\n\r\n return {\r\n ...base,\r\n fullName: base.displayName,\r\n };\r\n};\r\n\r\nexport const getVCardProfileById = async (\r\n id: string,\r\n query?: Partial<VCardsGetByIdQueryParams>\r\n): Promise<VCardProfile> => {\r\n const uiLanguage = resolveUiLanguage();\r\n\r\n try {\r\n const vcard = await vCardsGetByIdServer({ id }, query);\r\n return toVCardProfile(vcard, {\r\n uiLanguage,\r\n displayNameFallback: id,\r\n logoFallbackSrc: DEFAULT_LOGO_SRC,\r\n });\r\n } catch (error) {\r\n console.error(`[VCardProfile] Failed to load VCARD \"${id}\".`, error);\r\n return {\r\n id,\r\n logoSrc: DEFAULT_LOGO_SRC,\r\n displayName: id,\r\n fullName: id,\r\n addressLines: [],\r\n telephoneEntries: [],\r\n };\r\n }\r\n};\r\n\r\nexport const getVCardProfiles = async (\r\n query?: Partial<VCardsGetAllQueryParams>\r\n): Promise<VCardProfile[]> => {\r\n const uiLanguage = resolveUiLanguage();\r\n const result = await vCardsGetAllServer(query);\r\n\r\n return result.items.map((vcard) =>\r\n toVCardProfile(vcard, {\r\n uiLanguage,\r\n displayNameFallback: vcard.id || \"Unknown vCard\",\r\n logoFallbackSrc: DEFAULT_LOGO_SRC,\r\n })\r\n );\r\n};\r\n"],"mappings":"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","names":["import_requests","logoFallbackSrc","fallbackName"]}