@c-rex/services 0.1.19 → 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/index.ts","../src/base-server-request.ts","../src/server-request-context.ts","../src/generated/server-requests.ts","../src/base-client-request.ts","../src/generated/client-requests.ts","../src/vcard/profile-utils.ts","../src/vcard/organization-profile.ts","../src/read-models/cache-policy.ts","../src/vcard/individual-profile.ts","../src/vcard/vcard-profile.ts","../src/read-models/metadata-read-models.ts","../src/read-models/metadata-presentation-config.ts","../src/read-models/metadata-presentation.ts","../src/read-models/metadata-display.ts","../src/read-models/version-availability.ts","../src/read-models/metadata-view-profile.ts"],"sourcesContent":["import {\r\n directoryNodesGetByIdServer,\r\n documentTypesGetAllServer,\r\n informationUnitsGetAllServer,\r\n informationUnitsGetByIdServer,\r\n informationUnitsLanguagesServer,\r\n renditionsGetWithBinaryWithBinaryPathServer,\r\n topicsGetAllServer,\r\n} from './generated/server-requests';\r\n\r\ntype IdParam = { id: string } | string;\r\n\r\nconst extractId = (value: IdParam): string => {\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n return value.id;\r\n};\r\n\r\ntype RenditionRef = {\r\n binaryPath?: string | null;\r\n path?: string | null;\r\n renditionUrl?: string | null;\r\n contentType?: string | null;\r\n mimeType?: string | null;\r\n mediaType?: string | null;\r\n};\r\n\r\nconst pickHtmlRenditionPath = (renditions: RenditionRef[]): string | null => {\r\n if (!Array.isArray(renditions) || renditions.length === 0) {\r\n return null;\r\n }\r\n\r\n const htmlRendition =\r\n renditions.find((r) => String(r.contentType ?? r.mimeType ?? r.mediaType ?? '').toLowerCase().includes('html')) ??\r\n renditions[0];\r\n\r\n return htmlRendition?.binaryPath ?? htmlRendition?.path ?? htmlRendition?.renditionUrl ?? null;\r\n};\r\n\r\nexport class TopicsService {\r\n async getList(query: any) {\r\n return topicsGetAllServer(query as any);\r\n }\r\n}\r\n\r\nexport class DocumentTypesService {\r\n async getList(query: any) {\r\n return documentTypesGetAllServer(query as any);\r\n }\r\n\r\n async getLabels(): Promise<Array<{ shortId: string; label: string }>> {\r\n const result = await documentTypesGetAllServer();\r\n const entries = result?.items ?? [];\r\n\r\n return entries\r\n .map((item: any) => {\r\n const firstLabel = item?.labels?.[0]?.label ?? item?.labels?.[0]?.value ?? item?.shortId ?? '';\r\n return {\r\n shortId: String(item?.shortId ?? ''),\r\n label: String(firstLabel),\r\n };\r\n })\r\n .filter((item) => item.shortId.length > 0 && item.label.length > 0);\r\n }\r\n}\r\n\r\nexport class InformationUnitsService {\r\n async getList(query: any) {\r\n return informationUnitsGetAllServer(query as any);\r\n }\r\n\r\n async getItem(params: any) {\r\n return informationUnitsGetByIdServer(params as any);\r\n }\r\n}\r\n\r\nexport class DirectoryNodesService {\r\n async getItem(id: IdParam) {\r\n return directoryNodesGetByIdServer({ id: extractId(id) });\r\n }\r\n}\r\n\r\nexport class RenditionsService {\r\n async getHTMLRendition(params: { renditions: RenditionRef[] }): Promise<string> {\r\n const binaryPath = pickHtmlRenditionPath(params.renditions);\r\n if (!binaryPath) {\r\n return '';\r\n }\r\n\r\n const result = await renditionsGetWithBinaryWithBinaryPathServer({ id: '', binaryPath } as any);\r\n return String((result as any)?.content ?? (result as any)?.html ?? '');\r\n }\r\n}\r\n\r\nexport class LanguageService {\r\n async getList(query?: any) {\r\n return informationUnitsLanguagesServer(query as any);\r\n }\r\n}\r\n\r\nexport * from './generated/client-requests';\r\nexport * from './generated/server-requests';\r\nexport * from './vcard';\r\nexport * from './read-models';\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","export const baseClientRequest = async <T>(\r\n endpoint: string,\r\n queryParams?: Record<string, string | number | boolean | (string | number | boolean)[] | undefined>\r\n): Promise<T> => {\r\n\r\n const res = await fetch(`/api/rpc`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n method: \"CrexApi.execute\",\r\n params: {\r\n url: endpoint,\r\n method: \"GET\",\r\n params: queryParams\r\n }\r\n }),\r\n credentials: 'include',\r\n });\r\n\r\n const json = await res.json();\r\n\r\n if (!res.ok) throw new Error(json.error || 'Unknown error');\r\n\r\n return json.data;\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\nimport { baseClientRequest } from '../base-client-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/** Get all entities by given criteria */\r\nexport const administrativeMetadataGetAllClientService = async (query?: Partial<AdministrativeMetadataGetAllQueryParams>): Promise<ResultContainerModel<AdministrativeMetadataModel>> => {\r\n return baseClientRequest<ResultContainerModel<AdministrativeMetadataModel>>('AdministrativeMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const administrativeMetadataGetByIdClientService = async (params: AdministrativeMetadataGetByIdPathParams, query?: Partial<AdministrativeMetadataGetByIdQueryParams>): Promise<AdministrativeMetadataModel> => {\r\n return baseClientRequest<AdministrativeMetadataModel>(`AdministrativeMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const afterUsesGetAllClientService = async (query?: Partial<AfterUsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpAfterUseModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductLcpAfterUseModel>>('AfterUses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const afterUsesGetByIdClientService = async (params: AfterUsesGetByIdPathParams, query?: Partial<AfterUsesGetByIdQueryParams>): Promise<ProductLcpAfterUseModel> => {\r\n return baseClientRequest<ProductLcpAfterUseModel>(`AfterUses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const categoriesGetAllClientService = async (query?: Partial<CategoriesGetAllQueryParams>): Promise<ResultContainerModel<CategoryModel>> => {\r\n return baseClientRequest<ResultContainerModel<CategoryModel>>('crex/v1/Categories', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const categoriesGetByIdClientService = async (params: CategoriesGetByIdPathParams, query?: Partial<CategoriesGetByIdQueryParams>): Promise<CategoryModel> => {\r\n return baseClientRequest<CategoryModel>(`crex/v1/Categories/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const collectionsGetAllClientService = async (query?: Partial<CollectionsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectCollectionModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectCollectionModel>>('Collections', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const collectionsGetByIdClientService = async (params: CollectionsGetByIdPathParams, query?: Partial<CollectionsGetByIdQueryParams>): Promise<InformationSubjectCollectionModel> => {\r\n return baseClientRequest<InformationSubjectCollectionModel>(`Collections/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const componentsGetAllClientService = async (query?: Partial<ComponentsGetAllQueryParams>): Promise<ResultContainerModel<ComponentModel>> => {\r\n return baseClientRequest<ResultContainerModel<ComponentModel>>('Components', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const componentsGetByIdClientService = async (params: ComponentsGetByIdPathParams, query?: Partial<ComponentsGetByIdQueryParams>): Promise<ComponentModel> => {\r\n return baseClientRequest<ComponentModel>(`Components/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const conceptsGetAllClientService = async (query?: Partial<ConceptsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeConceptModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeConceptModel>>('Concepts', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const conceptsGetByIdClientService = async (params: ConceptsGetByIdPathParams, query?: Partial<ConceptsGetByIdQueryParams>): Promise<TopicTypeConceptModel> => {\r\n return baseClientRequest<TopicTypeConceptModel>(`Concepts/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const conformitiesGetAllClientService = async (query?: Partial<ConformitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectConformityModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectConformityModel>>('Conformities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const conformitiesGetByIdClientService = async (params: ConformitiesGetByIdPathParams, query?: Partial<ConformitiesGetByIdQueryParams>): Promise<InformationSubjectConformityModel> => {\r\n return baseClientRequest<InformationSubjectConformityModel>(`Conformities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const consumablesGetAllClientService = async (query?: Partial<ConsumablesGetAllQueryParams>): Promise<ResultContainerModel<SupplyConsumableModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplyConsumableModel>>('Consumables', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const consumablesGetByIdClientService = async (params: ConsumablesGetByIdPathParams, query?: Partial<ConsumablesGetByIdQueryParams>): Promise<SupplyConsumableModel> => {\r\n return baseClientRequest<SupplyConsumableModel>(`Consumables/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const contentLifeCycleStatusGetAllClientService = async (query?: Partial<ContentLifeCycleStatusGetAllQueryParams>): Promise<ResultContainerModel<ContentLifeCycleStatusModel>> => {\r\n return baseClientRequest<ResultContainerModel<ContentLifeCycleStatusModel>>('ContentLifeCycleStatus', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const contentLifeCycleStatusGetByIdClientService = async (params: ContentLifeCycleStatusGetByIdPathParams, query?: Partial<ContentLifeCycleStatusGetByIdQueryParams>): Promise<ContentLifeCycleStatusModel> => {\r\n return baseClientRequest<ContentLifeCycleStatusModel>(`ContentLifeCycleStatus/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const designAndRealizationsGetAllClientService = async (query?: Partial<DesignAndRealizationsGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpDesignAndRealizationModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductLcpDesignAndRealizationModel>>('DesignAndRealizations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const designAndRealizationsGetByIdClientService = async (params: DesignAndRealizationsGetByIdPathParams, query?: Partial<DesignAndRealizationsGetByIdQueryParams>): Promise<ProductLcpDesignAndRealizationModel> => {\r\n return baseClientRequest<ProductLcpDesignAndRealizationModel>(`DesignAndRealizations/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const directoryNodesGetAllClientService = async (query?: Partial<DirectoryNodesGetAllQueryParams>): Promise<ResultContainerModel<DirectoryNodeModel>> => {\r\n return baseClientRequest<ResultContainerModel<DirectoryNodeModel>>('DirectoryNodes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const directoryNodesGetByIdClientService = async (params: DirectoryNodesGetByIdPathParams, query?: Partial<DirectoryNodesGetByIdQueryParams>): Promise<DirectoryNodeModel> => {\r\n return baseClientRequest<DirectoryNodeModel>(`DirectoryNodes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const directoryNodeTypesGetAllClientService = async (query?: Partial<DirectoryNodeTypesGetAllQueryParams>): Promise<ResultContainerModel<DirectoryNodeTypeModel>> => {\r\n return baseClientRequest<ResultContainerModel<DirectoryNodeTypeModel>>('DirectoryNodeTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const directoryNodeTypesGetByIdClientService = async (params: DirectoryNodeTypesGetByIdPathParams, query?: Partial<DirectoryNodeTypesGetByIdQueryParams>): Promise<DirectoryNodeTypeModel> => {\r\n return baseClientRequest<DirectoryNodeTypeModel>(`DirectoryNodeTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentationMetadataGetAllClientService = async (query?: Partial<DocumentationMetadataGetAllQueryParams>): Promise<ResultContainerModel<DocumentationMetadataModel>> => {\r\n return baseClientRequest<ResultContainerModel<DocumentationMetadataModel>>('DocumentationMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentationMetadataGetByIdClientService = async (params: DocumentationMetadataGetByIdPathParams, query?: Partial<DocumentationMetadataGetByIdQueryParams>): Promise<DocumentationMetadataModel> => {\r\n return baseClientRequest<DocumentationMetadataModel>(`DocumentationMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentsGetAllClientService = async (query?: Partial<DocumentsGetAllQueryParams>): Promise<ResultContainerModel<DocumentModel>> => {\r\n return baseClientRequest<ResultContainerModel<DocumentModel>>('Documents', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentsGetByIdClientService = async (params: DocumentsGetByIdPathParams, query?: Partial<DocumentsGetByIdQueryParams>): Promise<DocumentModel> => {\r\n return baseClientRequest<DocumentModel>(`Documents/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const documentsLanguagesClientService = async (query?: Partial<DocumentsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('Documents/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const documentTypesGetAllClientService = async (query?: Partial<DocumentTypesGetAllQueryParams>): Promise<ResultContainerModel<DocumentTypeModel>> => {\r\n return baseClientRequest<ResultContainerModel<DocumentTypeModel>>('DocumentTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const documentTypesGetByIdClientService = async (params: DocumentTypesGetByIdPathParams, query?: Partial<DocumentTypesGetByIdQueryParams>): Promise<DocumentTypeModel> => {\r\n return baseClientRequest<DocumentTypeModel>(`DocumentTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const domainEntitiesGetAllClientService = async (query?: Partial<DomainEntitiesGetAllQueryParams>): Promise<ResultContainerModel<DomainEntityModel>> => {\r\n return baseClientRequest<ResultContainerModel<DomainEntityModel>>('DomainEntities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const domainEntitiesGetByIdClientService = async (params: DomainEntitiesGetByIdPathParams, query?: Partial<DomainEntitiesGetByIdQueryParams>): Promise<DomainEntityModel> => {\r\n return baseClientRequest<DomainEntityModel>(`DomainEntities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const downTimesGetAllClientService = async (query?: Partial<DownTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningDownTimeModel>> => {\r\n return baseClientRequest<ResultContainerModel<PlanningDownTimeModel>>('DownTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const downTimesGetByIdClientService = async (params: DownTimesGetByIdPathParams, query?: Partial<DownTimesGetByIdQueryParams>): Promise<PlanningDownTimeModel> => {\r\n return baseClientRequest<PlanningDownTimeModel>(`DownTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const eventsGetAllClientService = async (query?: Partial<EventsGetAllQueryParams>): Promise<ResultContainerModel<EventModel>> => {\r\n return baseClientRequest<ResultContainerModel<EventModel>>('Events', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const eventsGetByIdClientService = async (params: EventsGetByIdPathParams, query?: Partial<EventsGetByIdQueryParams>): Promise<EventModel> => {\r\n return baseClientRequest<EventModel>(`Events/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const formalitiesGetAllClientService = async (query?: Partial<FormalitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectFormalityModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectFormalityModel>>('Formalities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const formalitiesGetByIdClientService = async (params: FormalitiesGetByIdPathParams, query?: Partial<FormalitiesGetByIdQueryParams>): Promise<InformationSubjectFormalityModel> => {\r\n return baseClientRequest<InformationSubjectFormalityModel>(`Formalities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const formsGetAllClientService = async (query?: Partial<FormsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeFormModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeFormModel>>('Forms', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const formsGetByIdClientService = async (params: FormsGetByIdPathParams, query?: Partial<FormsGetByIdQueryParams>): Promise<TopicTypeFormModel> => {\r\n return baseClientRequest<TopicTypeFormModel>(`Forms/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const fragmentsGetAllClientService = async (query?: Partial<FragmentsGetAllQueryParams>): Promise<ResultContainerModel<FragmentModel>> => {\r\n return baseClientRequest<ResultContainerModel<FragmentModel>>('Fragments', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const fragmentsGetByIdClientService = async (params: FragmentsGetByIdPathParams, query?: Partial<FragmentsGetByIdQueryParams>): Promise<FragmentModel> => {\r\n return baseClientRequest<FragmentModel>(`Fragments/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const fragmentsLanguagesClientService = async (query?: Partial<FragmentsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('Fragments/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const functionalitiesGetAllClientService = async (query?: Partial<FunctionalitiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectFunctionalityModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectFunctionalityModel>>('Functionalities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const functionalitiesGetByIdClientService = async (params: FunctionalitiesGetByIdPathParams, query?: Partial<FunctionalitiesGetByIdQueryParams>): Promise<InformationSubjectFunctionalityModel> => {\r\n return baseClientRequest<InformationSubjectFunctionalityModel>(`Functionalities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const functionalMetadatasGetAllClientService = async (query?: Partial<FunctionalMetadatasGetAllQueryParams>): Promise<ResultContainerModel<FunctionalMetadataModel>> => {\r\n return baseClientRequest<ResultContainerModel<FunctionalMetadataModel>>('FunctionalMetadatas', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const functionalMetadatasGetByIdClientService = async (params: FunctionalMetadatasGetByIdPathParams, query?: Partial<FunctionalMetadatasGetByIdQueryParams>): Promise<FunctionalMetadataModel> => {\r\n return baseClientRequest<FunctionalMetadataModel>(`FunctionalMetadatas/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const groupsGetAllClientService = async (query?: Partial<GroupsGetAllQueryParams>): Promise<ResultContainerModel<VCardGroupModel>> => {\r\n return baseClientRequest<ResultContainerModel<VCardGroupModel>>('vcard/v1/Groups', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const groupsGetByIdClientService = async (params: GroupsGetByIdPathParams, query?: Partial<GroupsGetByIdQueryParams>): Promise<VCardGroupModel> => {\r\n return baseClientRequest<VCardGroupModel>(`vcard/v1/Groups/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const hardwareToolsGetAllClientService = async (query?: Partial<HardwareToolsGetAllQueryParams>): Promise<ResultContainerModel<SupplyHardwareToolModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplyHardwareToolModel>>('HardwareTools', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const hardwareToolsGetByIdClientService = async (params: HardwareToolsGetByIdPathParams, query?: Partial<HardwareToolsGetByIdQueryParams>): Promise<SupplyHardwareToolModel> => {\r\n return baseClientRequest<SupplyHardwareToolModel>(`HardwareTools/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const identitiesGetAllClientService = async (query?: Partial<IdentitiesGetAllQueryParams>): Promise<ResultContainerModel<IdentityModel>> => {\r\n return baseClientRequest<ResultContainerModel<IdentityModel>>('Identities', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const identitiesGetByIdClientService = async (params: IdentitiesGetByIdPathParams, query?: Partial<IdentitiesGetByIdQueryParams>): Promise<IdentityModel> => {\r\n return baseClientRequest<IdentityModel>(`Identities/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const identityDomainsGetAllClientService = async (query?: Partial<IdentityDomainsGetAllQueryParams>): Promise<ResultContainerModel<IdentityDomainModel>> => {\r\n return baseClientRequest<ResultContainerModel<IdentityDomainModel>>('IdentityDomains', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const identityDomainsGetByIdClientService = async (params: IdentityDomainsGetByIdPathParams, query?: Partial<IdentityDomainsGetByIdQueryParams>): Promise<IdentityDomainModel> => {\r\n return baseClientRequest<IdentityDomainModel>(`IdentityDomains/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const individualsGetAllClientService = async (query?: Partial<IndividualsGetAllQueryParams>): Promise<ResultContainerModel<VCardIndividualModel>> => {\r\n return baseClientRequest<ResultContainerModel<VCardIndividualModel>>('vcard/v1/Individuals', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const individualsGetByIdClientService = async (params: IndividualsGetByIdPathParams, query?: Partial<IndividualsGetByIdQueryParams>): Promise<VCardIndividualModel> => {\r\n return baseClientRequest<VCardIndividualModel>(`vcard/v1/Individuals/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationObjectsGetAllClientService = async (query?: Partial<InformationObjectsGetAllQueryParams>): Promise<ResultContainerModel<InformationObjectModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationObjectModel>>('InformationObjects', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationObjectsGetByIdClientService = async (params: InformationObjectsGetByIdPathParams, query?: Partial<InformationObjectsGetByIdQueryParams>): Promise<InformationObjectModel> => {\r\n return baseClientRequest<InformationObjectModel>(`InformationObjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationSubjectsGetAllClientService = async (query?: Partial<InformationSubjectsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectModel>>('InformationSubjects', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationSubjectsGetByIdClientService = async (params: InformationSubjectsGetByIdPathParams, query?: Partial<InformationSubjectsGetByIdQueryParams>): Promise<InformationSubjectModel> => {\r\n return baseClientRequest<InformationSubjectModel>(`InformationSubjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationTypesGetAllClientService = async (query?: Partial<InformationTypesGetAllQueryParams>): Promise<ResultContainerModel<InformationTypeModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationTypeModel>>('InformationTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationTypesGetByIdClientService = async (params: InformationTypesGetByIdPathParams, query?: Partial<InformationTypesGetByIdQueryParams>): Promise<InformationTypeModel> => {\r\n return baseClientRequest<InformationTypeModel>(`InformationTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const informationUnitsGetAllClientService = async (query?: Partial<InformationUnitsGetAllQueryParams>): Promise<ResultContainerModel<InformationUnitModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationUnitModel>>('InformationUnits', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const informationUnitsGetByIdClientService = async (params: InformationUnitsGetByIdPathParams, query?: Partial<InformationUnitsGetByIdQueryParams>): Promise<InformationUnitModel> => {\r\n return baseClientRequest<InformationUnitModel>(`InformationUnits/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const informationUnitsLanguagesClientService = async (query?: Partial<InformationUnitsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('InformationUnits/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const learningsGetAllClientService = async (query?: Partial<LearningsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeLearningModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeLearningModel>>('Learnings', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const learningsGetByIdClientService = async (params: LearningsGetByIdPathParams, query?: Partial<LearningsGetByIdQueryParams>): Promise<TopicTypeLearningModel> => {\r\n return baseClientRequest<TopicTypeLearningModel>(`Learnings/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const locationsGetAllClientService = async (query?: Partial<LocationsGetAllQueryParams>): Promise<ResultContainerModel<VCardLocationModel>> => {\r\n return baseClientRequest<ResultContainerModel<VCardLocationModel>>('vcard/v1/Locations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const locationsGetByIdClientService = async (params: LocationsGetByIdPathParams, query?: Partial<LocationsGetByIdQueryParams>): Promise<VCardLocationModel> => {\r\n return baseClientRequest<VCardLocationModel>(`vcard/v1/Locations/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const lubricantsGetAllClientService = async (query?: Partial<LubricantsGetAllQueryParams>): Promise<ResultContainerModel<SupplyLubricantModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplyLubricantModel>>('Lubricants', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const lubricantsGetByIdClientService = async (params: LubricantsGetByIdPathParams, query?: Partial<LubricantsGetByIdQueryParams>): Promise<SupplyLubricantModel> => {\r\n return baseClientRequest<SupplyLubricantModel>(`Lubricants/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const maintenanceIntervalsGetAllClientService = async (query?: Partial<MaintenanceIntervalsGetAllQueryParams>): Promise<ResultContainerModel<PlanningMaintenanceIntervalModel>> => {\r\n return baseClientRequest<ResultContainerModel<PlanningMaintenanceIntervalModel>>('MaintenanceIntervals', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const maintenanceIntervalsGetByIdClientService = async (params: MaintenanceIntervalsGetByIdPathParams, query?: Partial<MaintenanceIntervalsGetByIdQueryParams>): Promise<PlanningMaintenanceIntervalModel> => {\r\n return baseClientRequest<PlanningMaintenanceIntervalModel>(`MaintenanceIntervals/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const operatingSuppliesGetAllClientService = async (query?: Partial<OperatingSuppliesGetAllQueryParams>): Promise<ResultContainerModel<SupplyOperatingModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplyOperatingModel>>('OperatingSupplies', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const operatingSuppliesGetByIdClientService = async (params: OperatingSuppliesGetByIdPathParams, query?: Partial<OperatingSuppliesGetByIdQueryParams>): Promise<SupplyOperatingModel> => {\r\n return baseClientRequest<SupplyOperatingModel>(`OperatingSupplies/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const organizationsGetAllClientService = async (query?: Partial<OrganizationsGetAllQueryParams>): Promise<ResultContainerModel<VCardOrganizationModel>> => {\r\n return baseClientRequest<ResultContainerModel<VCardOrganizationModel>>('vcard/v1/Organizations', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const organizationsGetByIdClientService = async (params: OrganizationsGetByIdPathParams, query?: Partial<OrganizationsGetByIdQueryParams>): Promise<VCardOrganizationModel> => {\r\n return baseClientRequest<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 packagesCreateClientAppClientService = async (query?: Partial<PackagesCreateClientAppQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('ids/v1/Packages/CreateClientApp', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const packagesGetAllClientService = async (query?: Partial<PackagesGetAllQueryParams>): Promise<ResultContainerModel<PackageModel>> => {\r\n return baseClientRequest<ResultContainerModel<PackageModel>>('Packages', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const packagesGetByIdClientService = async (params: PackagesGetByIdPathParams, query?: Partial<PackagesGetByIdQueryParams>): Promise<PackageModel> => {\r\n return baseClientRequest<PackageModel>(`Packages/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const packagesLanguagesClientService = async (query?: Partial<PackagesLanguagesQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('Packages/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const partiesGetAllClientService = async (query?: Partial<PartiesGetAllQueryParams>): Promise<ResultContainerModel<PartyModel>> => {\r\n return baseClientRequest<ResultContainerModel<PartyModel>>('Parties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const partiesGetByIdClientService = async (params: PartiesGetByIdPathParams, query?: Partial<PartiesGetByIdQueryParams>): Promise<PartyModel> => {\r\n return baseClientRequest<PartyModel>(`Parties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const planningTimesGetAllClientService = async (query?: Partial<PlanningTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningTimeModel>> => {\r\n return baseClientRequest<ResultContainerModel<PlanningTimeModel>>('PlanningTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const planningTimesGetByIdClientService = async (params: PlanningTimesGetByIdPathParams, query?: Partial<PlanningTimesGetByIdQueryParams>): Promise<PlanningTimeModel> => {\r\n return baseClientRequest<PlanningTimeModel>(`PlanningTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const processesGetAllClientService = async (query?: Partial<ProcessesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectProcessModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectProcessModel>>('Processes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const processesGetByIdClientService = async (params: ProcessesGetByIdPathParams, query?: Partial<ProcessesGetByIdQueryParams>): Promise<InformationSubjectProcessModel> => {\r\n return baseClientRequest<InformationSubjectProcessModel>(`Processes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productFeaturesGetAllClientService = async (query?: Partial<ProductFeaturesGetAllQueryParams>): Promise<ResultContainerModel<ProductFeatureModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductFeatureModel>>('ProductFeatures', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productFeaturesGetByIdClientService = async (params: ProductFeaturesGetByIdPathParams, query?: Partial<ProductFeaturesGetByIdQueryParams>): Promise<ProductFeatureModel> => {\r\n return baseClientRequest<ProductFeatureModel>(`ProductFeatures/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productFunctionsGetAllClientService = async (query?: Partial<ProductFunctionsGetAllQueryParams>): Promise<ResultContainerModel<ProductFunctionModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductFunctionModel>>('ProductFunctions', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productFunctionsGetByIdClientService = async (params: ProductFunctionsGetByIdPathParams, query?: Partial<ProductFunctionsGetByIdQueryParams>): Promise<ProductFunctionModel> => {\r\n return baseClientRequest<ProductFunctionModel>(`ProductFunctions/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productLifeCyclePhasesGetAllClientService = async (query?: Partial<ProductLifeCyclePhasesGetAllQueryParams>): Promise<ResultContainerModel<ProductLifeCyclePhaseModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductLifeCyclePhaseModel>>('ProductLifeCyclePhases', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productLifeCyclePhasesGetByIdClientService = async (params: ProductLifeCyclePhasesGetByIdPathParams, query?: Partial<ProductLifeCyclePhasesGetByIdQueryParams>): Promise<ProductLifeCyclePhaseModel> => {\r\n return baseClientRequest<ProductLifeCyclePhaseModel>(`ProductLifeCyclePhases/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productMetadataGetAllClientService = async (query?: Partial<ProductMetadataGetAllQueryParams>): Promise<ResultContainerModel<ProductMetadataModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductMetadataModel>>('ProductMetadata', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productMetadataGetByIdClientService = async (params: ProductMetadataGetByIdPathParams, query?: Partial<ProductMetadataGetByIdQueryParams>): Promise<ProductMetadataModel> => {\r\n return baseClientRequest<ProductMetadataModel>(`ProductMetadata/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productPropertiesGetAllClientService = async (query?: Partial<ProductPropertiesGetAllQueryParams>): Promise<ResultContainerModel<ProductPropertyModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductPropertyModel>>('ProductProperties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productPropertiesGetByIdClientService = async (params: ProductPropertiesGetByIdPathParams, query?: Partial<ProductPropertiesGetByIdQueryParams>): Promise<ProductPropertyModel> => {\r\n return baseClientRequest<ProductPropertyModel>(`ProductProperties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const productVariantsGetAllClientService = async (query?: Partial<ProductVariantsGetAllQueryParams>): Promise<ResultContainerModel<ProductVariantModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductVariantModel>>('ProductVariants', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const productVariantsGetByIdClientService = async (params: ProductVariantsGetByIdPathParams, query?: Partial<ProductVariantsGetByIdQueryParams>): Promise<ProductVariantModel> => {\r\n return baseClientRequest<ProductVariantModel>(`ProductVariants/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const puttingToUsesGetAllClientService = async (query?: Partial<PuttingToUsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpPuttingToUseModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductLcpPuttingToUseModel>>('PuttingToUses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const puttingToUsesGetByIdClientService = async (params: PuttingToUsesGetByIdPathParams, query?: Partial<PuttingToUsesGetByIdQueryParams>): Promise<ProductLcpPuttingToUseModel> => {\r\n return baseClientRequest<ProductLcpPuttingToUseModel>(`PuttingToUses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const qualificationsGetAllClientService = async (query?: Partial<QualificationsGetAllQueryParams>): Promise<ResultContainerModel<QualificationModel>> => {\r\n return baseClientRequest<ResultContainerModel<QualificationModel>>('Qualifications', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const qualificationsGetByIdClientService = async (params: QualificationsGetByIdPathParams, query?: Partial<QualificationsGetByIdQueryParams>): Promise<QualificationModel> => {\r\n return baseClientRequest<QualificationModel>(`Qualifications/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const referencesGetAllClientService = async (query?: Partial<ReferencesGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeReferenceModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeReferenceModel>>('References', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const referencesGetByIdClientService = async (params: ReferencesGetByIdPathParams, query?: Partial<ReferencesGetByIdQueryParams>): Promise<TopicTypeReferenceModel> => {\r\n return baseClientRequest<TopicTypeReferenceModel>(`References/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const renditionsGetAllClientService = async (query?: Partial<RenditionsGetAllQueryParams>): Promise<ResultContainerModel<RenditionModel>> => {\r\n return baseClientRequest<ResultContainerModel<RenditionModel>>('Renditions', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const renditionsGetByIdClientService = async (params: RenditionsGetByIdPathParams, query?: Partial<RenditionsGetByIdQueryParams>): Promise<RenditionModel> => {\r\n return baseClientRequest<RenditionModel>(`Renditions/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get the rendition for the given url */\r\nexport const renditionsGetWithBinaryWithBinaryPathClientService = async (params: RenditionsGetWithBinaryWithBinaryPathPathParams): Promise<RenditionModel> => {\r\n return baseClientRequest<RenditionModel>(`Renditions/${encodeURIComponent(String(params.id))}/${encodeURIComponent(String(params.binaryPath))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesDownloadResourceClientService = async (params: ResourcesDownloadResourcePathParams): Promise<unknown> => {\r\n return baseClientRequest<unknown>(`ids/v1/Resources/${encodeURIComponent(String(params.renditionId))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesDownloadResourceWithBinaryPathClientService = async (params: ResourcesDownloadResourceWithBinaryPathPathParams): Promise<unknown> => {\r\n return baseClientRequest<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 resourcesGetPackageClientService = async (params: ResourcesPackagesGetPackagePathParams, query?: Partial<ResourcesPackagesGetPackageQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<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 resourcesGetSubjectFromPackageClientService = async (params: ResourcesSubjectsGetSubjectFromPackagePathParams, query?: Partial<ResourcesSubjectsGetSubjectFromPackageQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>(`Resources/subjects/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesViewResourceClientService = async (params: ResourcesViewViewResourcePathParams): Promise<unknown> => {\r\n return baseClientRequest<unknown>(`ids/v1/Resources/view/${encodeURIComponent(String(params.renditionId))}`);\r\n};\r\n\r\n/** Get the binary stream */\r\nexport const resourcesViewResourceWithBinaryPathClientService = async (params: ResourcesViewViewResourceWithBinaryPathPathParams): Promise<unknown> => {\r\n return baseClientRequest<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 rolesGetAllClientService = async (query?: Partial<RolesGetAllQueryParams>): Promise<ResultContainerModel<QualificationRoleModel>> => {\r\n return baseClientRequest<ResultContainerModel<QualificationRoleModel>>('Roles', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const rolesGetByIdClientService = async (params: RolesGetByIdPathParams, query?: Partial<RolesGetByIdQueryParams>): Promise<QualificationRoleModel> => {\r\n return baseClientRequest<QualificationRoleModel>(`Roles/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const safetiesGetAllClientService = async (query?: Partial<SafetiesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectSafetyModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectSafetyModel>>('Safeties', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const safetiesGetByIdClientService = async (params: SafetiesGetByIdPathParams, query?: Partial<SafetiesGetByIdQueryParams>): Promise<InformationSubjectSafetyModel> => {\r\n return baseClientRequest<InformationSubjectSafetyModel>(`Safeties/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const searchGetAllClientService = async (query?: Partial<SearchFacetsGetAllQueryParams>): Promise<ResultContainerModel<unknown>> => {\r\n return baseClientRequest<ResultContainerModel<unknown>>('ids/v1/Search/Facets', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const setupTimesGetAllClientService = async (query?: Partial<SetupTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningSetupTimeModel>> => {\r\n return baseClientRequest<ResultContainerModel<PlanningSetupTimeModel>>('SetupTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const setupTimesGetByIdClientService = async (params: SetupTimesGetByIdPathParams, query?: Partial<SetupTimesGetByIdQueryParams>): Promise<PlanningSetupTimeModel> => {\r\n return baseClientRequest<PlanningSetupTimeModel>(`SetupTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const skillLevelsGetAllClientService = async (query?: Partial<SkillLevelsGetAllQueryParams>): Promise<ResultContainerModel<QualificationSkillLevelModel>> => {\r\n return baseClientRequest<ResultContainerModel<QualificationSkillLevelModel>>('SkillLevels', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const skillLevelsGetByIdClientService = async (params: SkillLevelsGetByIdPathParams, query?: Partial<SkillLevelsGetByIdQueryParams>): Promise<QualificationSkillLevelModel> => {\r\n return baseClientRequest<QualificationSkillLevelModel>(`SkillLevels/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const sparePartsGetAllClientService = async (query?: Partial<SparePartsGetAllQueryParams>): Promise<ResultContainerModel<SupplySparePartModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplySparePartModel>>('SpareParts', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const sparePartsGetByIdClientService = async (params: SparePartsGetByIdPathParams, query?: Partial<SparePartsGetByIdQueryParams>): Promise<SupplySparePartModel> => {\r\n return baseClientRequest<SupplySparePartModel>(`SpareParts/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Query Iirds storage by SparQL */\r\nexport const sparQLExecuteSparQlClientService = async (params: SparQLExecuteSparQlPathParams): Promise<Record<string, string>[]> => {\r\n return baseClientRequest<Record<string, string>[]>(`SparQL/${encodeURIComponent(String(params.query))}`);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const suppliesGetAllClientService = async (query?: Partial<SuppliesGetAllQueryParams>): Promise<ResultContainerModel<SupplyModel>> => {\r\n return baseClientRequest<ResultContainerModel<SupplyModel>>('Supplies', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const suppliesGetByIdClientService = async (params: SuppliesGetByIdPathParams, query?: Partial<SuppliesGetByIdQueryParams>): Promise<SupplyModel> => {\r\n return baseClientRequest<SupplyModel>(`Supplies/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const tasksGetAllClientService = async (query?: Partial<TasksGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeTaskModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeTaskModel>>('Tasks', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const tasksGetByIdClientService = async (params: TasksGetByIdPathParams, query?: Partial<TasksGetByIdQueryParams>): Promise<TopicTypeTaskModel> => {\r\n return baseClientRequest<TopicTypeTaskModel>(`Tasks/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const technicalDataGetAllClientService = async (query?: Partial<TechnicalDataGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectTechnicalDataModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectTechnicalDataModel>>('TechnicalData', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const technicalDataGetByIdClientService = async (params: TechnicalDataGetByIdPathParams, query?: Partial<TechnicalDataGetByIdQueryParams>): Promise<InformationSubjectTechnicalDataModel> => {\r\n return baseClientRequest<InformationSubjectTechnicalDataModel>(`TechnicalData/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const technicalOverviewsGetAllClientService = async (query?: Partial<TechnicalOverviewsGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectTechnicalOverviewModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectTechnicalOverviewModel>>('TechnicalOverviews', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const technicalOverviewsGetByIdClientService = async (params: TechnicalOverviewsGetByIdPathParams, query?: Partial<TechnicalOverviewsGetByIdQueryParams>): Promise<InformationSubjectTechnicalOverviewModel> => {\r\n return baseClientRequest<InformationSubjectTechnicalOverviewModel>(`TechnicalOverviews/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const topicsGetAllClientService = async (query?: Partial<TopicsGetAllQueryParams>): Promise<ResultContainerModel<TopicModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicModel>>('Topics', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const topicsGetByIdClientService = async (params: TopicsGetByIdPathParams, query?: Partial<TopicsGetByIdQueryParams>): Promise<TopicModel> => {\r\n return baseClientRequest<TopicModel>(`Topics/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Languages used by indexed terms */\r\nexport const topicsLanguagesClientService = async (query?: Partial<TopicsLanguagesQueryParams>): Promise<unknown> => {\r\n return baseClientRequest<unknown>('Topics/Languages', query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const topicTypesGetAllClientService = async (query?: Partial<TopicTypesGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeModel>>('TopicTypes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const topicTypesGetByIdClientService = async (params: TopicTypesGetByIdPathParams, query?: Partial<TopicTypesGetByIdQueryParams>): Promise<TopicTypeModel> => {\r\n return baseClientRequest<TopicTypeModel>(`TopicTypes/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const troubleShootingsGetAllClientService = async (query?: Partial<TroubleShootingsGetAllQueryParams>): Promise<ResultContainerModel<TopicTypeTroubleShootingModel>> => {\r\n return baseClientRequest<ResultContainerModel<TopicTypeTroubleShootingModel>>('TroubleShootings', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const troubleShootingsGetByIdClientService = async (params: TroubleShootingsGetByIdPathParams, query?: Partial<TroubleShootingsGetByIdQueryParams>): Promise<TopicTypeTroubleShootingModel> => {\r\n return baseClientRequest<TopicTypeTroubleShootingModel>(`TroubleShootings/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const usesGetAllClientService = async (query?: Partial<UsesGetAllQueryParams>): Promise<ResultContainerModel<ProductLcpUseModel>> => {\r\n return baseClientRequest<ResultContainerModel<ProductLcpUseModel>>('Uses', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const usesGetByIdClientService = async (params: UsesGetByIdPathParams, query?: Partial<UsesGetByIdQueryParams>): Promise<ProductLcpUseModel> => {\r\n return baseClientRequest<ProductLcpUseModel>(`Uses/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const vCardsGetAllClientService = async (query?: Partial<VCardsGetAllQueryParams>): Promise<ResultContainerModel<VCardModel>> => {\r\n return baseClientRequest<ResultContainerModel<VCardModel>>('vcard/v1/VCards', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const vCardsGetByIdClientService = async (params: VCardsGetByIdPathParams, query?: Partial<VCardsGetByIdQueryParams>): Promise<VCardModel> => {\r\n return baseClientRequest<VCardModel>(`vcard/v1/VCards/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const warningMessagesGetAllClientService = async (query?: Partial<WarningMessagesGetAllQueryParams>): Promise<ResultContainerModel<InformationSubjectSafetyWarningMessageModel>> => {\r\n return baseClientRequest<ResultContainerModel<InformationSubjectSafetyWarningMessageModel>>('WarningMessages', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const warningMessagesGetByIdClientService = async (params: WarningMessagesGetByIdPathParams, query?: Partial<WarningMessagesGetByIdQueryParams>): Promise<InformationSubjectSafetyWarningMessageModel> => {\r\n return baseClientRequest<InformationSubjectSafetyWarningMessageModel>(`WarningMessages/${encodeURIComponent(String(params.id))}`, query);\r\n};\r\n\r\n/** Get all entities by given criteria */\r\nexport const workingTimesGetAllClientService = async (query?: Partial<WorkingTimesGetAllQueryParams>): Promise<ResultContainerModel<PlanningWorkingTimeModel>> => {\r\n return baseClientRequest<ResultContainerModel<PlanningWorkingTimeModel>>('WorkingTimes', query);\r\n};\r\n\r\n/** Get an entity by its id */\r\nexport const workingTimesGetByIdClientService = async (params: WorkingTimesGetByIdPathParams, query?: Partial<WorkingTimesGetByIdQueryParams>): Promise<PlanningWorkingTimeModel> => {\r\n return baseClientRequest<PlanningWorkingTimeModel>(`WorkingTimes/${encodeURIComponent(String(params.id))}`, query);\r\n};\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","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","import {\r\n CREX_API_CACHE_TAG,\r\n CREX_READMODEL_CACHE_COMPONENTS_TAG,\r\n CREX_READMODEL_CACHE_DOCUMENT_TYPES_TAG,\r\n CREX_READMODEL_CACHE_INFORMATION_SUBJECTS_TAG,\r\n CREX_READMODEL_CACHE_METADATA_TAG,\r\n CREX_READMODEL_CACHE_PARTIES_TAG,\r\n CREX_READMODEL_CACHE_TAG,\r\n} from \"@c-rex/core/requests\";\r\nimport {\r\n CategoriesGetAllQueryParams,\r\n CategoryModel,\r\n ComponentModel,\r\n ComponentsGetAllQueryParams,\r\n ContentLifeCycleStatusGetAllQueryParams,\r\n ContentLifeCycleStatusModel,\r\n DocumentTypeModel,\r\n DocumentTypesGetAllQueryParams,\r\n FunctionalMetadataModel,\r\n FunctionalMetadatasGetAllQueryParams,\r\n InformationSubjectModel,\r\n InformationSubjectsGetAllQueryParams,\r\n InformationTypeModel,\r\n InformationTypesGetAllQueryParams,\r\n ObjectRefModel,\r\n PartiesGetAllQueryParams,\r\n PartyModel,\r\n PlanningTimeModel,\r\n PlanningTimesGetAllQueryParams,\r\n ProductFeatureModel,\r\n ProductFeaturesGetAllQueryParams,\r\n ProductLifeCyclePhaseModel,\r\n ProductLifeCyclePhasesGetAllQueryParams,\r\n ProductMetadataGetAllQueryParams,\r\n ProductMetadataModel,\r\n ProductVariantModel,\r\n ProductVariantsGetAllQueryParams,\r\n QualificationModel,\r\n QualificationsGetAllQueryParams,\r\n SuppliesGetAllQueryParams,\r\n SupplyModel,\r\n TopicTypeModel,\r\n TopicTypesGetAllQueryParams,\r\n} from \"@c-rex/interfaces\";\r\nimport { unstable_cache } from \"next/cache\";\r\nimport {\r\n categoriesGetAllServer,\r\n componentsGetAllServer,\r\n contentLifeCycleStatusGetAllServer,\r\n documentTypesGetAllServer,\r\n functionalMetadatasGetAllServer,\r\n informationSubjectsGetAllServer,\r\n informationTypesGetAllServer,\r\n partiesGetAllServer,\r\n planningTimesGetAllServer,\r\n productFeaturesGetAllServer,\r\n productLifeCyclePhasesGetAllServer,\r\n productMetadataGetAllServer,\r\n productVariantsGetAllServer,\r\n qualificationsGetAllServer,\r\n suppliesGetAllServer,\r\n topicTypesGetAllServer,\r\n} from \"../generated/server-requests\";\r\nimport { resolveUiLanguage } from \"../vcard/profile-utils\";\r\nimport { withServerRequestContext } from \"../server-request-context\";\r\nimport {\r\n PartiesResult,\r\n PartyNode,\r\n TaxonomyEntityRef,\r\n TaxonomyNode,\r\n TaxonomyResult,\r\n} from \"./types\";\r\nimport { READMODEL_CACHE_POLICY } from \"./cache-policy\";\r\n\r\ntype TaxonomyEntity = {\r\n id?: string | null;\r\n shortId?: string | null;\r\n labels?: { language?: string | null; value?: string | null }[] | null;\r\n class?: ObjectRefModel | null;\r\n parents?: ObjectRefModel[] | null;\r\n ancestors?: ObjectRefModel[][] | null;\r\n ancestorsOrSelf?: ObjectRefModel[][] | null;\r\n hasInformationUnits?: boolean | null;\r\n hasInformationUnitReferences?: boolean | null;\r\n};\r\n\r\ntype BuildTreeOptions = {\r\n uiLanguage: string;\r\n groupRootsByClass?: boolean;\r\n includeOnlyUsed?: boolean;\r\n};\r\n\r\ntype ResultContainerLike<T> = {\r\n items: T[];\r\n};\r\n\r\ntype PagedQuery = {\r\n PageNumber?: number;\r\n PageSize?: number;\r\n};\r\n\r\ntype MetadataPropertyKey =\r\n | \"parties\"\r\n | \"components\"\r\n | \"informationSubjects\"\r\n | \"topicTypes\"\r\n | \"documentTypes\"\r\n | \"contentLifeCycleStatus\"\r\n | \"applicableForTypes\"\r\n | \"planningTimes\"\r\n | \"functionalMetadata\"\r\n | \"productFeatures\"\r\n | \"productLifeCyclePhases\"\r\n | \"productMetadata\"\r\n | \"productVariants\"\r\n | \"qualifications\"\r\n | \"supplies\";\r\n\r\nconst resolveLocalizedLabel = (\r\n labels:\r\n | { language?: string | null; value?: string | null }[]\r\n | null\r\n | undefined,\r\n uiLanguage: string\r\n): string | undefined => {\r\n if (!labels || labels.length === 0) return undefined;\r\n\r\n const normalizedUiLanguage = uiLanguage.trim().toLowerCase();\r\n const baseLanguage = normalizedUiLanguage.split(\"-\")[0];\r\n\r\n const normalized = labels\r\n .map((item) => ({\r\n language: (item.language || \"\").trim().toLowerCase(),\r\n value: (item.value || \"\").trim(),\r\n }))\r\n .filter((item) => item.value.length > 0);\r\n\r\n const exact = normalized.find((item) => item.language === normalizedUiLanguage)?.value;\r\n if (exact) return exact;\r\n\r\n const base = normalized.find((item) => item.language === baseLanguage)?.value;\r\n if (base) return base;\r\n\r\n const english = normalized.find((item) => item.language === \"en\" || item.language === \"en-us\")?.value;\r\n if (english) return english;\r\n\r\n return normalized[0]?.value;\r\n};\r\n\r\nconst stableSerialize = (value: unknown): string => {\r\n const normalize = (input: unknown): unknown => {\r\n if (Array.isArray(input)) {\r\n return input.map((item) => normalize(item));\r\n }\r\n\r\n if (input && typeof input === \"object\") {\r\n const sorted: Record<string, unknown> = {};\r\n Object.keys(input as Record<string, unknown>)\r\n .sort((a, b) => a.localeCompare(b))\r\n .forEach((key) => {\r\n sorted[key] = normalize((input as Record<string, unknown>)[key]);\r\n });\r\n return sorted;\r\n }\r\n\r\n return input;\r\n };\r\n\r\n return JSON.stringify(normalize(value));\r\n};\r\n\r\nconst READMODEL_PAGE_SIZE = 300;\r\nconst READMODEL_MAX_PAGES = 50;\r\n\r\nconst fetchAllPages = async <TItem, TQuery extends object>(\r\n fetcher: (query?: Partial<TQuery>) => Promise<ResultContainerLike<TItem>>,\r\n baseQuery: Partial<TQuery> & PagedQuery\r\n): Promise<TItem[]> => {\r\n const pageSize = baseQuery.PageSize && baseQuery.PageSize > 0 ? baseQuery.PageSize : READMODEL_PAGE_SIZE;\r\n const collected: TItem[] = [];\r\n\r\n for (let pageNumber = 1; pageNumber <= READMODEL_MAX_PAGES; pageNumber += 1) {\r\n const pageQuery = {\r\n ...baseQuery,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n } as Partial<TQuery>;\r\n\r\n const response = await fetcher(pageQuery);\r\n const pageItems = response.items || [];\r\n if (pageItems.length === 0) break;\r\n\r\n collected.push(...pageItems);\r\n if (pageItems.length < pageSize) break;\r\n }\r\n\r\n return collected;\r\n};\r\n\r\nconst getRefId = (ref?: ObjectRefModel | null): string | undefined => ref?.id?.trim() || undefined;\r\n\r\nconst toEntityRef = (entity: TaxonomyEntity, uiLanguage: string): TaxonomyEntityRef | undefined => {\r\n const id = entity.id?.trim();\r\n if (!id) return undefined;\r\n const label = resolveLocalizedLabel(entity.labels || [], uiLanguage) || entity.shortId?.trim() || id;\r\n return { id, shortId: entity.shortId?.trim() || undefined, label };\r\n};\r\n\r\nconst toClassRef = (classRef: ObjectRefModel | null | undefined, uiLanguage: string): TaxonomyEntityRef | undefined => {\r\n const id = classRef?.id?.trim();\r\n if (!id) return undefined;\r\n const label = resolveLocalizedLabel(classRef?.labels || [], uiLanguage) || classRef?.shortId?.trim() || id;\r\n return { id, shortId: classRef?.shortId?.trim() || undefined, label };\r\n};\r\n\r\nconst deriveParentIds = (entity: TaxonomyEntity): string[] => {\r\n const directParents = (entity.parents || [])\r\n .map((parent) => getRefId(parent))\r\n .filter((value): value is string => Boolean(value));\r\n if (directParents.length > 0) {\r\n return Array.from(new Set(directParents));\r\n }\r\n\r\n const ancestorParents = (entity.ancestors || [])\r\n .map((path) => path[path.length - 1])\r\n .map((parent) => getRefId(parent))\r\n .filter((value): value is string => Boolean(value));\r\n return Array.from(new Set(ancestorParents));\r\n};\r\n\r\nconst deriveAncestorIds = (entity: TaxonomyEntity): string[] => {\r\n const ids = (entity.ancestors || [])\r\n .flatMap((path) => path)\r\n .map((item) => getRefId(item))\r\n .filter((value): value is string => Boolean(value));\r\n return Array.from(new Set(ids));\r\n};\r\n\r\nconst buildTaxonomyTree = (items: TaxonomyEntity[], options: BuildTreeOptions): TaxonomyResult => {\r\n const nodesById: Record<string, TaxonomyNode> = {};\r\n const parentLinks = new Map<string, string[]>();\r\n\r\n for (const item of items) {\r\n const entityRef = toEntityRef(item, options.uiLanguage);\r\n if (!entityRef) continue;\r\n\r\n nodesById[entityRef.id] = {\r\n ...entityRef,\r\n classRef: toClassRef(item.class, options.uiLanguage),\r\n hasInformationUnits: item.hasInformationUnits === true || item.hasInformationUnitReferences === true,\r\n parentIds: deriveParentIds(item),\r\n ancestorIds: deriveAncestorIds(item),\r\n children: [],\r\n };\r\n }\r\n\r\n Object.values(nodesById).forEach((node) => {\r\n parentLinks.set(node.id, node.parentIds.filter((id) => Boolean(nodesById[id])));\r\n });\r\n\r\n if (options.includeOnlyUsed) {\r\n const keepIds = new Set<string>(\r\n Object.values(nodesById)\r\n .filter((node) => node.hasInformationUnits === true)\r\n .map((node) => node.id)\r\n );\r\n\r\n let changed = true;\r\n while (changed) {\r\n changed = false;\r\n Array.from(keepIds).forEach((nodeId) => {\r\n const parentIds = parentLinks.get(nodeId) || [];\r\n parentIds.forEach((parentId) => {\r\n if (!keepIds.has(parentId)) {\r\n keepIds.add(parentId);\r\n changed = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n Object.keys(nodesById).forEach((nodeId) => {\r\n if (!keepIds.has(nodeId)) {\r\n delete nodesById[nodeId];\r\n parentLinks.delete(nodeId);\r\n }\r\n });\r\n }\r\n\r\n Object.values(nodesById).forEach((node) => {\r\n const parents = parentLinks.get(node.id) || [];\r\n parents.forEach((parentId) => {\r\n if (nodesById[parentId]) {\r\n nodesById[parentId].children.push(node);\r\n }\r\n });\r\n });\r\n\r\n const roots = Object.values(nodesById).filter((node) => (parentLinks.get(node.id) || []).length === 0);\r\n if (!options.groupRootsByClass) {\r\n return {\r\n roots: roots.sort((a, b) => a.label.localeCompare(b.label)),\r\n nodesById,\r\n generatedAt: new Date().toISOString(),\r\n };\r\n }\r\n\r\n const groupedRoots = new Map<string, TaxonomyNode>();\r\n const ungroupedRootId = \"class:ungrouped\";\r\n groupedRoots.set(ungroupedRootId, {\r\n id: ungroupedRootId,\r\n label: \"Ungrouped\",\r\n parentIds: [],\r\n ancestorIds: [],\r\n children: [],\r\n isVirtualGroup: true,\r\n });\r\n\r\n roots.forEach((root) => {\r\n const classId = root.classRef?.id || ungroupedRootId;\r\n if (!groupedRoots.has(classId)) {\r\n groupedRoots.set(classId, {\r\n id: classId,\r\n shortId: root.classRef?.shortId,\r\n label: root.classRef?.label || \"Ungrouped\",\r\n parentIds: [],\r\n ancestorIds: [],\r\n children: [],\r\n isVirtualGroup: true,\r\n });\r\n }\r\n groupedRoots.get(classId)?.children.push(root);\r\n });\r\n\r\n const groupedRootNodes = Array.from(groupedRoots.values())\r\n .filter((group) => group.children.length > 0)\r\n .map((group) => ({\r\n ...group,\r\n children: [...group.children].sort((a, b) => a.label.localeCompare(b.label)),\r\n }))\r\n .sort((a, b) => a.label.localeCompare(b.label));\r\n\r\n return {\r\n roots: groupedRootNodes,\r\n nodesById,\r\n generatedAt: new Date().toISOString(),\r\n };\r\n};\r\n\r\nconst defaultTreeOptions = (uiLanguage: string): BuildTreeOptions => ({\r\n uiLanguage,\r\n groupRootsByClass: true,\r\n});\r\n\r\ntype TaxonomyReadOptions = {\r\n includeOnlyUsed?: boolean;\r\n};\r\n\r\nconst createTaxonomyResolver = <TItem extends TaxonomyEntity, TQuery extends object>(\r\n options: {\r\n cacheKey: string;\r\n tags?: string[];\r\n defaultQuery: Record<string, unknown>;\r\n fetch: (query?: Partial<TQuery>) => Promise<ResultContainerLike<TItem>>;\r\n }\r\n) => {\r\n const cached = unstable_cache(\r\n async (\r\n _queryKey: string,\r\n query: Partial<TQuery>,\r\n uiLanguage: string,\r\n readOptions: TaxonomyReadOptions\r\n ): Promise<TaxonomyResult> => {\r\n const items = await withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => fetchAllPages(options.fetch, query as Partial<TQuery> & PagedQuery)\r\n );\r\n return buildTaxonomyTree(items, {\r\n ...defaultTreeOptions(uiLanguage),\r\n includeOnlyUsed: readOptions.includeOnlyUsed,\r\n });\r\n },\r\n [\"read-model\", options.cacheKey],\r\n {\r\n revalidate: READMODEL_CACHE_POLICY.metadataRevalidateSeconds,\r\n tags: [\r\n CREX_API_CACHE_TAG,\r\n CREX_READMODEL_CACHE_TAG,\r\n CREX_READMODEL_CACHE_METADATA_TAG,\r\n ...(options.tags || []),\r\n ],\r\n }\r\n );\r\n\r\n return async (query?: Partial<TQuery>, readOptions?: TaxonomyReadOptions): Promise<TaxonomyResult> => {\r\n const uiLanguage = resolveUiLanguage();\r\n const normalizedQuery = { ...options.defaultQuery, ...(query || {}) } as Partial<TQuery>;\r\n const normalizedReadOptions: TaxonomyReadOptions = {\r\n includeOnlyUsed: readOptions?.includeOnlyUsed === true,\r\n };\r\n const cacheKey = stableSerialize({ normalizedQuery, uiLanguage, normalizedReadOptions });\r\n return cached(cacheKey, normalizedQuery, uiLanguage, normalizedReadOptions);\r\n };\r\n};\r\n\r\nconst defaultMetadataQuery = {\r\n PageNumber: 1,\r\n PageSize: READMODEL_PAGE_SIZE,\r\n Fields: [\"labels\", \"class\", \"hasInformationUnits\"],\r\n Sort: [\"shortId\"],\r\n};\r\n\r\nconst getCategoriesCached = createTaxonomyResolver<CategoryModel, CategoriesGetAllQueryParams>({\r\n cacheKey: \"categories\",\r\n tags: [CREX_READMODEL_CACHE_INFORMATION_SUBJECTS_TAG],\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: categoriesGetAllServer,\r\n});\r\n\r\nconst getInformationSubjectsLegacyCached = createTaxonomyResolver<InformationSubjectModel, InformationSubjectsGetAllQueryParams>({\r\n cacheKey: \"information-subjects-legacy\",\r\n tags: [CREX_READMODEL_CACHE_INFORMATION_SUBJECTS_TAG],\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: informationSubjectsGetAllServer,\r\n});\r\n\r\nconst getDocumentTypesCached = createTaxonomyResolver<DocumentTypeModel, DocumentTypesGetAllQueryParams>({\r\n cacheKey: \"document-types\",\r\n tags: [CREX_READMODEL_CACHE_DOCUMENT_TYPES_TAG],\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: documentTypesGetAllServer,\r\n});\r\n\r\nconst getComponentsCached = createTaxonomyResolver<ComponentModel, ComponentsGetAllQueryParams>({\r\n cacheKey: \"components\",\r\n tags: [CREX_READMODEL_CACHE_COMPONENTS_TAG],\r\n defaultQuery: {\r\n ...defaultMetadataQuery,\r\n Fields: [\"labels\", \"class\", \"parents\", \"ancestors\", \"ancestorsOrSelf\", \"hasInformationUnits\"],\r\n },\r\n fetch: componentsGetAllServer,\r\n});\r\n\r\nconst getTopicTypesCached = createTaxonomyResolver<TopicTypeModel, TopicTypesGetAllQueryParams>({\r\n cacheKey: \"topic-types\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: topicTypesGetAllServer,\r\n});\r\n\r\nconst getContentLifeCycleStatusCached = createTaxonomyResolver<ContentLifeCycleStatusModel, ContentLifeCycleStatusGetAllQueryParams>({\r\n cacheKey: \"content-life-cycle-status\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: contentLifeCycleStatusGetAllServer,\r\n});\r\n\r\nconst getApplicableForTypesCached = createTaxonomyResolver<InformationTypeModel, InformationTypesGetAllQueryParams>({\r\n cacheKey: \"applicable-for-types\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: informationTypesGetAllServer,\r\n});\r\n\r\nconst getPlanningTimesCached = createTaxonomyResolver<PlanningTimeModel, PlanningTimesGetAllQueryParams>({\r\n cacheKey: \"planning-times\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: planningTimesGetAllServer,\r\n});\r\n\r\nconst getFunctionalMetadataCached = createTaxonomyResolver<FunctionalMetadataModel, FunctionalMetadatasGetAllQueryParams>({\r\n cacheKey: \"functional-metadata\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: functionalMetadatasGetAllServer,\r\n});\r\n\r\nconst getProductFeaturesCached = createTaxonomyResolver<ProductFeatureModel, ProductFeaturesGetAllQueryParams>({\r\n cacheKey: \"product-features\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: productFeaturesGetAllServer,\r\n});\r\n\r\nconst getProductLifeCyclePhasesCached = createTaxonomyResolver<ProductLifeCyclePhaseModel, ProductLifeCyclePhasesGetAllQueryParams>({\r\n cacheKey: \"product-life-cycle-phases\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: productLifeCyclePhasesGetAllServer,\r\n});\r\n\r\nconst getProductMetadataCached = createTaxonomyResolver<ProductMetadataModel, ProductMetadataGetAllQueryParams>({\r\n cacheKey: \"product-metadata\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: productMetadataGetAllServer,\r\n});\r\n\r\nconst getProductVariantsCached = createTaxonomyResolver<ProductVariantModel, ProductVariantsGetAllQueryParams>({\r\n cacheKey: \"product-variants\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: productVariantsGetAllServer,\r\n});\r\n\r\nconst getQualificationsCached = createTaxonomyResolver<QualificationModel, QualificationsGetAllQueryParams>({\r\n cacheKey: \"qualifications\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: qualificationsGetAllServer,\r\n});\r\n\r\nconst getSuppliesCached = createTaxonomyResolver<SupplyModel, SuppliesGetAllQueryParams>({\r\n cacheKey: \"supplies\",\r\n defaultQuery: defaultMetadataQuery,\r\n fetch: suppliesGetAllServer,\r\n});\r\n\r\nconst toRoleRef = (party: PartyModel, uiLanguage: string): TaxonomyEntityRef => {\r\n const role = party.partyRole;\r\n const id = role?.id?.trim() || \"role:unknown\";\r\n return {\r\n id,\r\n shortId: role?.shortId?.trim() || undefined,\r\n label: resolveLocalizedLabel(role?.labels || [], uiLanguage) || role?.shortId?.trim() || \"Unknown role\",\r\n };\r\n};\r\n\r\nconst getPartiesCached = unstable_cache(\r\n async (_queryKey: string, query: Partial<PartiesGetAllQueryParams>, uiLanguage: string): Promise<PartiesResult> => {\r\n const items = await withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => fetchAllPages(partiesGetAllServer, query as Partial<PartiesGetAllQueryParams> & PagedQuery)\r\n );\r\n const groups = new Map<string, { role: TaxonomyEntityRef; parties: PartyNode[] }>();\r\n\r\n items.forEach((party) => {\r\n const id = party.id?.trim();\r\n if (!id) return;\r\n const role = toRoleRef(party as PartyModel, uiLanguage);\r\n if (!groups.has(role.id)) {\r\n groups.set(role.id, { role, parties: [] });\r\n }\r\n\r\n const label = resolveLocalizedLabel(party.labels || [], uiLanguage) || party.shortId?.trim() || id;\r\n groups.get(role.id)?.parties.push({\r\n id,\r\n shortId: party.shortId?.trim() || undefined,\r\n label,\r\n role,\r\n vcardId: party.vcard?.id?.trim() || undefined,\r\n });\r\n });\r\n\r\n return {\r\n groups: Array.from(groups.values())\r\n .map((group) => ({\r\n ...group,\r\n parties: group.parties.sort((a, b) => a.label.localeCompare(b.label)),\r\n }))\r\n .sort((a, b) => a.role.label.localeCompare(b.role.label)),\r\n generatedAt: new Date().toISOString(),\r\n };\r\n },\r\n [\"read-model\", \"parties\"],\r\n {\r\n revalidate: READMODEL_CACHE_POLICY.metadataRevalidateSeconds,\r\n tags: [CREX_API_CACHE_TAG, CREX_READMODEL_CACHE_TAG, CREX_READMODEL_CACHE_METADATA_TAG, CREX_READMODEL_CACHE_PARTIES_TAG],\r\n }\r\n);\r\n\r\n/**\r\n * Returns a cached, class-grouped read model for Information Subjects.\r\n * Prefers CREX Categories (hierarchy + usage flags) and falls back to legacy InformationSubjects.\r\n */\r\nexport const getInformationSubjects = async (options?: TaxonomyReadOptions): Promise<TaxonomyResult> => {\r\n const readOptions: TaxonomyReadOptions = { includeOnlyUsed: options?.includeOnlyUsed === true };\r\n\r\n try {\r\n const categories = await getCategoriesCached(undefined, readOptions);\r\n if (categories.roots.length > 0) {\r\n return categories;\r\n }\r\n } catch (error) {\r\n console.warn(\"[MetadataReadModels] Categories endpoint unavailable, falling back to InformationSubjects.\", error);\r\n }\r\n\r\n return getInformationSubjectsLegacyCached(undefined, readOptions);\r\n};\r\n\r\n/**\r\n * Returns a cached, class-grouped read model for Document Types.\r\n * Current IDS payload does not expose parent links for this type; roots are grouped by class until hierarchy fields are available.\r\n */\r\nexport const getDocumentTypes = async (): Promise<TaxonomyResult> => {\r\n return getDocumentTypesCached();\r\n};\r\n\r\n/**\r\n * Returns a cached read model for Components.\r\n * Uses IDS parent/ancestor fields when available and groups root nodes by class.\r\n */\r\nexport const getComponents = async (): Promise<TaxonomyResult> => {\r\n return getComponentsCached();\r\n};\r\n\r\n/**\r\n * Returns a cached read model for Parties grouped by partyRole.\r\n * VCard references are included when available and can be resolved separately via VCARD endpoints.\r\n */\r\nexport const getParties = async (): Promise<PartiesResult> => {\r\n const uiLanguage = resolveUiLanguage();\r\n const query: Partial<PartiesGetAllQueryParams> = {\r\n PageNumber: 1,\r\n PageSize: READMODEL_PAGE_SIZE,\r\n Fields: [\"labels\", \"partyRole\", \"vcard\", \"class\"],\r\n Sort: [\"shortId\"],\r\n Embed: [\"vcard\"],\r\n };\r\n return getPartiesCached(stableSerialize({ query, uiLanguage }), query, uiLanguage);\r\n};\r\n\r\nexport const getTopicTypes = async (query?: Partial<TopicTypesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getTopicTypesCached(query);\r\n};\r\n\r\nexport const getContentLifeCycleStatus = async (query?: Partial<ContentLifeCycleStatusGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getContentLifeCycleStatusCached(query);\r\n};\r\n\r\nexport const getApplicableForTypes = async (query?: Partial<InformationTypesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getApplicableForTypesCached(query);\r\n};\r\n\r\nexport const getPlanningTimes = async (query?: Partial<PlanningTimesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getPlanningTimesCached(query);\r\n};\r\n\r\nexport const getFunctionalMetadata = async (query?: Partial<FunctionalMetadatasGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getFunctionalMetadataCached(query);\r\n};\r\n\r\nexport const getProductFeatures = async (query?: Partial<ProductFeaturesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getProductFeaturesCached(query);\r\n};\r\n\r\nexport const getProductLifeCyclePhases = async (query?: Partial<ProductLifeCyclePhasesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getProductLifeCyclePhasesCached(query);\r\n};\r\n\r\nexport const getProductMetadata = async (query?: Partial<ProductMetadataGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getProductMetadataCached(query);\r\n};\r\n\r\nexport const getProductVariants = async (query?: Partial<ProductVariantsGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getProductVariantsCached(query);\r\n};\r\n\r\nexport const getQualifications = async (query?: Partial<QualificationsGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getQualificationsCached(query);\r\n};\r\n\r\nexport const getSupplies = async (query?: Partial<SuppliesGetAllQueryParams>): Promise<TaxonomyResult> => {\r\n return getSuppliesCached(query);\r\n};\r\n\r\nexport const getMetadataPropertyResolvers = (): Record<MetadataPropertyKey, () => Promise<TaxonomyResult | PartiesResult>> => ({\r\n parties: getParties,\r\n components: getComponents,\r\n informationSubjects: getInformationSubjects,\r\n topicTypes: getTopicTypes,\r\n documentTypes: getDocumentTypes,\r\n contentLifeCycleStatus: getContentLifeCycleStatus,\r\n applicableForTypes: getApplicableForTypes,\r\n planningTimes: getPlanningTimes,\r\n functionalMetadata: getFunctionalMetadata,\r\n productFeatures: getProductFeatures,\r\n productLifeCyclePhases: getProductLifeCyclePhases,\r\n productMetadata: getProductMetadata,\r\n productVariants: getProductVariants,\r\n qualifications: getQualifications,\r\n supplies: getSupplies,\r\n});\r\n","import type { InformationUnitModel } from \"@c-rex/interfaces\";\r\n\r\nexport type InformationUnitPropertyKey = keyof InformationUnitModel;\r\n\r\n/**\r\n * Describes the raw shape of a metadata property value in InformationUnitModel.\r\n * This drives generic rendering/grouping logic without coupling to one concrete UI control.\r\n */\r\nexport type MetadataValueKind =\r\n /** Primitive scalar (string/number/date-like value). */\r\n | \"scalar\"\r\n /** Array of localized literals ({ language, value }). */\r\n | \"literalArray\"\r\n /** Array of primitive strings. */\r\n | \"stringArray\"\r\n /** Single ObjectRef relation. */\r\n | \"objectRef\"\r\n /** Multiple ObjectRef relations. */\r\n | \"objectRefArray\"\r\n /** Array of API resource links. */\r\n | \"resourceLinkArray\"\r\n /** Array of rendition entries. */\r\n | \"renditionArray\";\r\n\r\n/**\r\n * Defines how facet search sections are derived for one metadata property.\r\n */\r\nexport type FacetSectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Defines how generic metadata display sections are derived (property grid, card metadata, etc.).\r\n * Name is intentionally control-agnostic and not tied to InformationUnitMetadataGrid.\r\n */\r\nexport type MetadataDisplaySectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Central presentation contract for one InformationUnit metadata property.\r\n * - facet: behavior for facet search grouping.\r\n * - metadataDisplay: behavior for generic metadata rendering components.\r\n */\r\nexport type MetadataPropertyPresentationConfig = {\r\n /** Raw value shape from API model. */\r\n valueKind: MetadataValueKind;\r\n facet: {\r\n /** If false, property is not used as facet dimension. */\r\n supported: boolean;\r\n /**\r\n * How facet sections are built:\r\n * - \"none\": keep the property as one flat facet group (no additional taxonomy section split).\r\n * - \"class\": split entries by their class label.\r\n * - \"partyRole\": split entries by party role label.\r\n */\r\n sectionStrategy: FacetSectionStrategy;\r\n };\r\n metadataDisplay: {\r\n /** If false, property is not rendered in generic metadata displays. */\r\n supported: boolean;\r\n /**\r\n * How metadata sections are built in generic displays:\r\n * - \"none\": keep one property row/group.\r\n * - \"class\": split/group by class label.\r\n * - \"partyRole\": split/group by party role label.\r\n */\r\n sectionStrategy: MetadataDisplaySectionStrategy;\r\n };\r\n};\r\n\r\n/**\r\n * Central presentation rules for all InformationUnitModel properties.\r\n * This is the single source of truth for facet grouping and generic metadata display behavior.\r\n */\r\nexport const INFORMATION_UNIT_PROPERTY_PRESENTATION: Record<\r\n InformationUnitPropertyKey,\r\n MetadataPropertyPresentationConfig\r\n> = {\r\n id: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n shortId: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n score: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n class: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"class\" },\r\n },\r\n labels: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n comments: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n descriptions: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n synonyms: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n packages: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n hasInformationUnits: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n links: {\r\n valueKind: \"resourceLinkArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n revision: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n created: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n modified: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n abstract: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n replaces: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n versionOf: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n titles: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n languages: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n parties: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"partyRole\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"partyRole\" },\r\n },\r\n renditions: {\r\n valueKind: \"renditionArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n identities: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n components: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationSubjects: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n topicTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n documentTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n directoryNodes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n contentLifeCycleStatus: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n applicableForTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n planningTimes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n events: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n functionalMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationUnits: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n productFeatures: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productLifeCyclePhases: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productVariants: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n qualifications: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n supplies: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n};\r\n\r\n","import {\r\n getApplicableForTypes,\r\n getComponents,\r\n getContentLifeCycleStatus,\r\n getDocumentTypes,\r\n getFunctionalMetadata,\r\n getInformationSubjects,\r\n getParties,\r\n getPlanningTimes,\r\n getProductFeatures,\r\n getProductLifeCyclePhases,\r\n getProductMetadata,\r\n getProductVariants,\r\n getQualifications,\r\n getSupplies,\r\n getTopicTypes,\r\n} from \"./metadata-read-models\";\r\nimport { TaxonomyNode, TaxonomyResult } from \"./types\";\r\nimport { INFORMATION_UNIT_PROPERTY_PRESENTATION, InformationUnitPropertyKey } from \"./metadata-presentation-config\";\r\nimport { DomainEntitiesGetByIdQueryParams } from \"@c-rex/interfaces\";\r\nimport { domainEntitiesGetByIdServer } from \"../generated/server-requests\";\r\nimport { unstable_cache } from \"next/cache\";\r\nimport { CREX_API_CACHE_TAG, CREX_READMODEL_CACHE_METADATA_TAG, CREX_READMODEL_CACHE_TAG } from \"@c-rex/core/requests\";\r\nimport { READMODEL_CACHE_POLICY } from \"./cache-policy\";\r\nimport { withServerRequestContext } from \"../server-request-context\";\r\n\r\nexport type MetadataPresentationPropertyKey = InformationUnitPropertyKey;\r\n\r\n/**\r\n * UI-facing label override for one facet value (usually referenced by shortId).\r\n * - `label`: display value label (item label in facet list)\r\n * - `groupLabel`: optional nested group bucket (third level)\r\n * - `sectionLabel`: optional section bucket (second level)\r\n */\r\nexport type MetadataFacetLabelOverride = {\r\n label: string;\r\n groupLabel?: string;\r\n sectionLabel?: string;\r\n};\r\n\r\nexport type MetadataFacetLabelOverrides = Partial<\r\n Record<MetadataPresentationPropertyKey, Record<string, MetadataFacetLabelOverride>>\r\n>;\r\n\r\n/**\r\n * Optional behavior flags for override generation.\r\n * Example: enable API-driven \"only used entries\" mode for informationSubjects.\r\n */\r\nexport type MetadataFacetLabelOptions = {\r\n includeOnlyUsedByProperty?: Partial<Record<MetadataPresentationPropertyKey, boolean>>;\r\n};\r\n\r\nconst addTaxonomyNodeOverride = (\r\n node: TaxonomyNode,\r\n map: Record<string, MetadataFacetLabelOverride>,\r\n sectionLabel?: string\r\n) => {\r\n if (!node.shortId) return;\r\n map[node.shortId] = {\r\n label: node.label,\r\n sectionLabel,\r\n };\r\n};\r\n\r\nconst createClassSectionOverrides = (nodes: Record<string, TaxonomyNode>) => {\r\n const overrides: Record<string, MetadataFacetLabelOverride> = {};\r\n Object.values(nodes).forEach((node) => {\r\n addTaxonomyNodeOverride(node, overrides, node.classRef?.label);\r\n });\r\n return overrides;\r\n};\r\n\r\n// TopicTypes and ContentLifeCycleStatus section labels are not derived from child item classes.\r\n// They are resolved from the iiRDS base class labels via DomainEntity lookup.\r\nconst TOPIC_TYPE_DOMAIN_ENTITY_ID = \"http://iirds.tekom.de/iirds#TopicType\";\r\nconst CONTENT_LIFECYCLE_STATUS_DOMAIN_ENTITY_ID = \"http://iirds.tekom.de/iirds#ContentLifeCycleStatus\";\r\n\r\nconst resolveLocalizedLabel = (\r\n labels: Array<{ language?: string | null; value?: string | null }> | null | undefined,\r\n uiLanguage: string\r\n): string | undefined => {\r\n if (!labels || labels.length === 0) return undefined;\r\n\r\n const normalizedLanguage = uiLanguage.toLowerCase();\r\n const baseLanguage = normalizedLanguage.split(\"-\")[0];\r\n const normalized = labels\r\n .map((item) => ({\r\n language: (item.language || \"\").toLowerCase(),\r\n value: item.value || \"\",\r\n }))\r\n .filter((item) => item.value.length > 0);\r\n\r\n const exact = normalized.find((item) => item.language === normalizedLanguage)?.value;\r\n if (exact) return exact;\r\n\r\n const base = normalized.find((item) => item.language === baseLanguage)?.value;\r\n if (base) return base;\r\n\r\n const english = normalized.find((item) => item.language === \"en\" || item.language === \"en-us\")?.value;\r\n if (english) return english;\r\n\r\n return normalized[0]?.value;\r\n};\r\n\r\nconst getDomainEntitySectionLabelUncached = async (id: string, uiLanguage: string): Promise<string | undefined> => {\r\n const query: Partial<DomainEntitiesGetByIdQueryParams> = {\r\n Fields: [\"labels\"],\r\n };\r\n const entity = await withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => domainEntitiesGetByIdServer({ id }, query)\r\n );\r\n return resolveLocalizedLabel(entity.labels || [], uiLanguage);\r\n};\r\n\r\nconst getDomainEntitySectionLabelCached = unstable_cache(\r\n async (id: string, uiLanguage: string): Promise<string | undefined> =>\r\n getDomainEntitySectionLabelUncached(id, uiLanguage),\r\n [\"metadata-presentation-domain-entity-label\"],\r\n {\r\n revalidate: READMODEL_CACHE_POLICY.metadataRevalidateSeconds,\r\n tags: [CREX_API_CACHE_TAG, CREX_READMODEL_CACHE_TAG, CREX_READMODEL_CACHE_METADATA_TAG],\r\n }\r\n);\r\n\r\nconst inFlightDomainEntityLabelRequests = new Map<string, Promise<string | undefined>>();\r\n\r\nconst getDomainEntitySectionLabel = async (id: string, uiLanguage: string): Promise<string | undefined> => {\r\n const inFlightKey = `${id}::${uiLanguage.toLowerCase()}`;\r\n const existing = inFlightDomainEntityLabelRequests.get(inFlightKey);\r\n if (existing) return existing;\r\n\r\n const promise = getDomainEntitySectionLabelCached(id, uiLanguage)\r\n .finally(() => {\r\n inFlightDomainEntityLabelRequests.delete(inFlightKey);\r\n });\r\n inFlightDomainEntityLabelRequests.set(inFlightKey, promise);\r\n return promise;\r\n};\r\n\r\n/**\r\n * Builds localized facet label metadata from read-models.\r\n *\r\n * Output shape:\r\n * - property key (`parties`, `topicTypes`, ...)\r\n * - shortId map -> `{ label, sectionLabel?, groupLabel? }`\r\n *\r\n * Resolution strategy:\r\n * 1) Reads central property config (`INFORMATION_UNIT_PROPERTY_PRESENTATION`).\r\n * 2) Applies strategy per property:\r\n * - `partyRole`: groups parties by role label.\r\n * - `class`: groups by class label from taxonomy nodes.\r\n * 3) Applies special class-label override for:\r\n * - `topicTypes` -> section label from `TopicType` DomainEntity.\r\n * - `contentLifeCycleStatus` -> section label from `ContentLifeCycleStatus` DomainEntity.\r\n *\r\n * This keeps UI components (facet sidebar/navbar) free from endpoint-specific\r\n * branching and ensures one SSOT for label/group generation.\r\n */\r\nexport const getMetadataFacetLabelOverrides = async (\r\n properties?: MetadataPresentationPropertyKey[],\r\n uiLanguage: string = \"en-US\",\r\n options?: MetadataFacetLabelOptions\r\n): Promise<MetadataFacetLabelOverrides> => {\r\n const defaultProperties = (Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION) as MetadataPresentationPropertyKey[])\r\n .filter((property) => INFORMATION_UNIT_PROPERTY_PRESENTATION[property].facet.supported);\r\n const propertySet = new Set(properties && properties.length > 0 ? properties : defaultProperties);\r\n const result: MetadataFacetLabelOverrides = {};\r\n\r\n const classResolvers: Partial<Record<MetadataPresentationPropertyKey, () => Promise<TaxonomyResult>>> = {\r\n components: getComponents,\r\n informationSubjects: getInformationSubjects,\r\n documentTypes: getDocumentTypes,\r\n applicableForTypes: getApplicableForTypes,\r\n planningTimes: getPlanningTimes,\r\n functionalMetadata: getFunctionalMetadata,\r\n contentLifeCycleStatus: getContentLifeCycleStatus,\r\n productFeatures: getProductFeatures,\r\n productLifeCyclePhases: getProductLifeCyclePhases,\r\n productMetadata: getProductMetadata,\r\n productVariants: getProductVariants,\r\n qualifications: getQualifications,\r\n supplies: getSupplies,\r\n topicTypes: getTopicTypes,\r\n };\r\n\r\n const classTasks: Array<Promise<void>> = [];\r\n let partiesTask: Promise<void> | undefined;\r\n\r\n for (const property of propertySet) {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[property];\r\n if (!config?.facet.supported) continue;\r\n\r\n if (config.facet.sectionStrategy === \"partyRole\" && property === \"parties\") {\r\n partiesTask = (async () => {\r\n const parties = await getParties();\r\n const partyOverrides: Record<string, MetadataFacetLabelOverride> = {};\r\n parties.groups.forEach((group) => {\r\n const sectionLabel = group.role.label;\r\n group.parties.forEach((party) => {\r\n if (!party.shortId) return;\r\n partyOverrides[party.shortId] = {\r\n label: party.label,\r\n sectionLabel,\r\n };\r\n });\r\n });\r\n result.parties = partyOverrides;\r\n })();\r\n continue;\r\n }\r\n\r\n if (config.facet.sectionStrategy === \"class\") {\r\n const resolver = classResolvers[property];\r\n if (!resolver) continue;\r\n classTasks.push(\r\n (async () => {\r\n const taxonomy =\r\n property === \"informationSubjects\" &&\r\n options?.includeOnlyUsedByProperty?.informationSubjects === true\r\n ? await getInformationSubjects({ includeOnlyUsed: true })\r\n : await resolver();\r\n if (property === \"topicTypes\" || property === \"contentLifeCycleStatus\") {\r\n const domainEntityId =\r\n property === \"topicTypes\"\r\n ? TOPIC_TYPE_DOMAIN_ENTITY_ID\r\n : CONTENT_LIFECYCLE_STATUS_DOMAIN_ENTITY_ID;\r\n const sectionLabel = await getDomainEntitySectionLabel(domainEntityId, uiLanguage);\r\n const overrides = createClassSectionOverrides(taxonomy.nodesById);\r\n if (sectionLabel) {\r\n Object.values(overrides).forEach((entry) => {\r\n entry.sectionLabel = sectionLabel;\r\n });\r\n }\r\n result[property] = overrides;\r\n return;\r\n }\r\n\r\n result[property] = createClassSectionOverrides(taxonomy.nodesById);\r\n })()\r\n );\r\n }\r\n }\r\n\r\n await Promise.all([...classTasks, ...(partiesTask ? [partiesTask] : [])]);\r\n\r\n return result;\r\n};\r\n","import { InformationUnitModel, LiteralModel, ObjectRefModel } from \"@c-rex/interfaces\";\r\nimport { resolvePreferredLanguage, sortAndDeduplicateLanguages } from \"@c-rex/utils\";\r\nimport {\r\n INFORMATION_UNIT_PROPERTY_PRESENTATION,\r\n InformationUnitPropertyKey,\r\n MetadataDisplaySectionStrategy,\r\n} from \"./metadata-presentation-config\";\r\nimport { getMetadataFacetLabelOverrides, MetadataFacetLabelOverrides } from \"./metadata-presentation\";\r\n\r\nexport type MetadataDisplayRow = {\r\n key: InformationUnitPropertyKey;\r\n label: string;\r\n labelSource: \"translationKey\" | \"direct\";\r\n values: string[];\r\n valueType?: \"text\" | \"language\";\r\n};\r\n\r\ntype BuildMetadataDisplayRowsOptions = {\r\n uiLanguage: string;\r\n includeProperties?: InformationUnitPropertyKey[];\r\n overrides?: MetadataFacetLabelOverrides;\r\n};\r\n\r\nconst resolveLiteralLabel = (labels?: LiteralModel[] | null, uiLanguage?: string): string | undefined => {\r\n if (!labels || labels.length === 0) return undefined;\r\n const language = uiLanguage || \"en\";\r\n const preferred = resolvePreferredLanguage(\r\n labels.map((item) => item.language || \"\"),\r\n language\r\n );\r\n if (preferred) {\r\n const exact = labels.find((item) => item.language === preferred)?.value;\r\n if (exact) return exact;\r\n }\r\n return labels.find((item) => item.value)?.value || undefined;\r\n};\r\n\r\nconst resolveObjectRefLabel = (item: ObjectRefModel, uiLanguage: string): string | undefined => {\r\n return resolveLiteralLabel(item.labels || [], uiLanguage) || item.shortId || item.id || undefined;\r\n};\r\n\r\nconst asObjectRefArray = (value: unknown): ObjectRefModel[] => {\r\n if (!Array.isArray(value)) return [];\r\n return value.filter((item): item is ObjectRefModel => Boolean(item && typeof item === \"object\"));\r\n};\r\n\r\nconst asLiteralArray = (value: unknown): LiteralModel[] => {\r\n if (!Array.isArray(value)) return [];\r\n return value.filter((item): item is LiteralModel => Boolean(item && typeof item === \"object\"));\r\n};\r\n\r\nconst shouldUseOverrides = (strategy: MetadataDisplaySectionStrategy): boolean => {\r\n return strategy === \"class\" || strategy === \"partyRole\";\r\n};\r\n\r\nexport const getMetadataDisplayRows = async (\r\n data: InformationUnitModel,\r\n options: BuildMetadataDisplayRowsOptions\r\n): Promise<MetadataDisplayRow[]> => {\r\n const includeProperties = options.includeProperties || (Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION) as InformationUnitPropertyKey[]);\r\n const uiLanguage = options.uiLanguage;\r\n const preferredTitle = resolveLiteralLabel(data.titles || [], uiLanguage) || resolveLiteralLabel(data.labels || [], uiLanguage);\r\n\r\n const objectRefProperties = includeProperties.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n if (!config?.metadataDisplay?.supported) return false;\r\n return config.valueKind === \"objectRefArray\" || config.valueKind === \"objectRef\";\r\n });\r\n\r\n const overrideProperties = objectRefProperties.filter((key) =>\r\n shouldUseOverrides(INFORMATION_UNIT_PROPERTY_PRESENTATION[key].metadataDisplay.sectionStrategy)\r\n );\r\n\r\n const labelOverrides =\r\n options.overrides ||\r\n (overrideProperties.length > 0 ? await getMetadataFacetLabelOverrides(overrideProperties, uiLanguage) : {});\r\n\r\n const rows: MetadataDisplayRow[] = [];\r\n\r\n for (const key of includeProperties) {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n if (!config?.metadataDisplay?.supported) continue;\r\n\r\n if (key === \"labels\") {\r\n continue;\r\n }\r\n\r\n if (key === \"titles\") {\r\n if (preferredTitle) {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values: [preferredTitle],\r\n valueType: \"text\",\r\n });\r\n }\r\n continue;\r\n }\r\n\r\n const value = data[key];\r\n if (value === null || value === undefined) continue;\r\n\r\n if (key === \"languages\") {\r\n const languages = sortAndDeduplicateLanguages((value as string[]) || []);\r\n if (languages.length > 0) {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values: languages,\r\n valueType: \"language\",\r\n });\r\n }\r\n continue;\r\n }\r\n\r\n if (config.valueKind === \"scalar\") {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values: [String(value)],\r\n valueType: \"text\",\r\n });\r\n continue;\r\n }\r\n\r\n if (config.valueKind === \"stringArray\") {\r\n const values = Array.from(new Set((value as string[]).map((item) => String(item)).filter((item) => item.length > 0)));\r\n if (values.length > 0) {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values,\r\n valueType: \"text\",\r\n });\r\n }\r\n continue;\r\n }\r\n\r\n if (config.valueKind === \"literalArray\") {\r\n const literals = asLiteralArray(value);\r\n const preferred = resolveLiteralLabel(literals, uiLanguage);\r\n if (preferred) {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values: [preferred],\r\n valueType: \"text\",\r\n });\r\n }\r\n continue;\r\n }\r\n\r\n if (config.valueKind === \"objectRef\") {\r\n const ref = value as ObjectRefModel;\r\n const label = resolveObjectRefLabel(ref, uiLanguage);\r\n if (label) {\r\n rows.push({\r\n key,\r\n label: key,\r\n labelSource: \"translationKey\",\r\n values: [label],\r\n valueType: \"text\",\r\n });\r\n }\r\n continue;\r\n }\r\n\r\n if (config.valueKind === \"objectRefArray\") {\r\n const refs = asObjectRefArray(value);\r\n if (refs.length === 0) continue;\r\n\r\n const grouped = new Map<string, string[]>();\r\n const strategy = config.metadataDisplay.sectionStrategy;\r\n\r\n refs.forEach((ref) => {\r\n const shortId = ref.shortId || \"\";\r\n const override = shortId ? labelOverrides[key]?.[shortId] : undefined;\r\n const label = override?.label || resolveObjectRefLabel(ref, uiLanguage);\r\n if (!label) return;\r\n\r\n const section = strategy === \"none\" ? key : override?.sectionLabel || key;\r\n if (!grouped.has(section)) grouped.set(section, []);\r\n grouped.get(section)?.push(label);\r\n });\r\n\r\n Array.from(grouped.entries())\r\n .sort((a, b) => a[0].localeCompare(b[0]))\r\n .forEach(([section, values]) => {\r\n const uniqueValues = Array.from(new Set(values)).sort((a, b) => a.localeCompare(b));\r\n if (uniqueValues.length === 0) return;\r\n\r\n const isDirect = section !== key;\r\n rows.push({\r\n key,\r\n label: section,\r\n labelSource: isDirect ? \"direct\" : \"translationKey\",\r\n values: uniqueValues,\r\n valueType: \"text\",\r\n });\r\n });\r\n continue;\r\n }\r\n }\r\n\r\n return rows;\r\n};\r\n","import { CREX_API_CACHE_TAG, CREX_READMODEL_CACHE_METADATA_TAG, CREX_READMODEL_CACHE_TAG } from \"@c-rex/core/requests\";\r\nimport { InformationUnitsGetAllQueryParams, InformationUnitModel } from \"@c-rex/interfaces\";\r\nimport { resolvePreferredLanguage } from \"@c-rex/utils\";\r\nimport { unstable_cache } from \"next/cache\";\r\nimport { informationUnitsGetAllServer } from \"../generated/server-requests\";\r\nimport { withServerRequestContext } from \"../server-request-context\";\r\nimport { resolveUiLanguage } from \"../vcard/profile-utils\";\r\nimport { READMODEL_CACHE_POLICY } from \"./cache-policy\";\r\n\r\nexport type AvailableLanguageVersion = {\r\n shortId: string;\r\n language: string;\r\n};\r\n\r\ntype ResultContainerLike<T> = {\r\n items: T[];\r\n};\r\n\r\nconst stableSerialize = (value: unknown): string => {\r\n const normalize = (input: unknown): unknown => {\r\n if (Array.isArray(input)) return input.map((item) => normalize(item));\r\n if (input && typeof input === \"object\") {\r\n const sorted: Record<string, unknown> = {};\r\n Object.keys(input as Record<string, unknown>)\r\n .sort((a, b) => a.localeCompare(b))\r\n .forEach((key) => {\r\n sorted[key] = normalize((input as Record<string, unknown>)[key]);\r\n });\r\n return sorted;\r\n }\r\n return input;\r\n };\r\n\r\n return JSON.stringify(normalize(value));\r\n};\r\n\r\nconst normalizeVersionItems = (\r\n items: InformationUnitModel[],\r\n uiLanguage: string\r\n): AvailableLanguageVersion[] => {\r\n const uniqueByShortId = new Map<string, AvailableLanguageVersion>();\r\n\r\n items.forEach((item) => {\r\n const shortId = item.shortId?.trim();\r\n if (!shortId) return;\r\n\r\n const language = resolvePreferredLanguage(item.languages, uiLanguage);\r\n if (!language) return;\r\n\r\n uniqueByShortId.set(shortId, {\r\n shortId,\r\n language,\r\n });\r\n });\r\n\r\n return Array.from(uniqueByShortId.values()).sort((a, b) => {\r\n const languageOrder = a.language.localeCompare(b.language);\r\n if (languageOrder !== 0) return languageOrder;\r\n return a.shortId.localeCompare(b.shortId);\r\n });\r\n};\r\n\r\nconst getAvailableLanguagesByVersionOfCached = unstable_cache(\r\n async (_cacheKey: string, query: Partial<InformationUnitsGetAllQueryParams>, uiLanguage: string): Promise<AvailableLanguageVersion[]> => {\r\n const result = await withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => informationUnitsGetAllServer(query) as Promise<ResultContainerLike<InformationUnitModel>>\r\n );\r\n\r\n return normalizeVersionItems(result.items || [], uiLanguage);\r\n },\r\n [\"read-model\", \"version-availability\"],\r\n {\r\n revalidate: READMODEL_CACHE_POLICY.metadataRevalidateSeconds,\r\n tags: [CREX_API_CACHE_TAG, CREX_READMODEL_CACHE_TAG, CREX_READMODEL_CACHE_METADATA_TAG],\r\n }\r\n);\r\n\r\nconst fetchAvailableLanguagesByVersionOfDirect = async (\r\n query: Partial<InformationUnitsGetAllQueryParams>,\r\n uiLanguage: string\r\n): Promise<AvailableLanguageVersion[]> => {\r\n const result = await withServerRequestContext(\r\n { skipCookieTokenLookup: true },\r\n () => informationUnitsGetAllServer(query) as Promise<ResultContainerLike<InformationUnitModel>>\r\n );\r\n\r\n return normalizeVersionItems(result.items || [], uiLanguage);\r\n};\r\n\r\nexport const getAvailableLanguagesByVersionOf = async (\r\n versionOfShortId?: string | null\r\n): Promise<AvailableLanguageVersion[]> => {\r\n if (!versionOfShortId) return [];\r\n\r\n const uiLanguage = resolveUiLanguage();\r\n const query: Partial<InformationUnitsGetAllQueryParams> = {\r\n Restrict: [`versionOf.shortId=${versionOfShortId}`],\r\n Fields: [\"shortId\", \"languages\", \"labels\", \"versionOf\"],\r\n PageNumber: 1,\r\n PageSize: 200,\r\n Sort: [\"languages\"],\r\n };\r\n\r\n const cacheKey = stableSerialize({ versionOfShortId, uiLanguage, query });\r\n if (process.env.NODE_ENV === \"test\") {\r\n return fetchAvailableLanguagesByVersionOfDirect(query, uiLanguage);\r\n }\r\n\r\n return getAvailableLanguagesByVersionOfCached(cacheKey, query, uiLanguage);\r\n};\r\n","import { InformationUnitPropertyKey } from \"./metadata-presentation-config\";\r\nimport { INFORMATION_UNIT_PROPERTY_PRESENTATION } from \"./metadata-presentation-config\";\r\n\r\nexport type MetadataViewProfileId =\r\n | \"default-search\"\r\n | \"information-unit-search\"\r\n | \"default-metadata-display\";\r\n\r\nexport type MetadataViewProfile = {\r\n id: MetadataViewProfileId;\r\n facet?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n includeZeroHits?: boolean;\r\n extraTags?: string[];\r\n };\r\n metadataDisplay?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n };\r\n};\r\n\r\nconst ALL_PROPERTIES = Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION) as InformationUnitPropertyKey[];\r\n\r\nconst DEFAULT_FACET_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.facet.supported && config.valueKind === \"objectRefArray\";\r\n});\r\n\r\nconst DEFAULT_METADATA_DISPLAY_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.metadataDisplay.supported;\r\n});\r\n\r\nconst toSet = <T extends string>(values?: T[]) => new Set(values || []);\r\n\r\nconst applyIncludeExclude = <T extends string>(base: T[], include?: T[], exclude?: T[]): T[] => {\r\n const includeSet = toSet(include);\r\n const excludeSet = toSet(exclude);\r\n const source = includeSet.size > 0 ? base.filter((item) => includeSet.has(item)) : base;\r\n return source.filter((item) => !excludeSet.has(item));\r\n};\r\n\r\nexport const METADATA_VIEW_PROFILES: Record<MetadataViewProfileId, MetadataViewProfile> = {\r\n \"default-search\": {\r\n id: \"default-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES,\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"information-unit-search\": {\r\n id: \"information-unit-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES.filter((property) => property !== \"informationSubjects\"),\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"default-metadata-display\": {\r\n id: \"default-metadata-display\",\r\n metadataDisplay: {\r\n includeProperties: DEFAULT_METADATA_DISPLAY_PROPERTIES,\r\n },\r\n },\r\n};\r\n\r\ntype ResolveFacetTagsOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n extraTags?: string[];\r\n};\r\n\r\nconst toInformationUnitPropertyKeys = (values?: string[]): InformationUnitPropertyKey[] => {\r\n const available = new Set<string>(ALL_PROPERTIES);\r\n return (values || []).filter((value): value is InformationUnitPropertyKey => available.has(value));\r\n};\r\n\r\n/**\r\n * Resolves API tag keys for facet requests from one central profile definition.\r\n * Use this instead of hardcoded page-level tag arrays.\r\n */\r\nexport const resolveFacetTags = (options?: ResolveFacetTagsOptions): string[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-search\"];\r\n const facetConfig = profile.facet;\r\n\r\n const supported = DEFAULT_FACET_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n facetConfig?.includeProperties,\r\n facetConfig?.excludeProperties\r\n );\r\n const runtimeScoped = applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n );\r\n\r\n const tagSet = new Set<string>(runtimeScoped);\r\n (facetConfig?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n (options?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n\r\n return Array.from(tagSet);\r\n};\r\n\r\ntype ResolveMetadataDisplayPropertiesOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n};\r\n\r\n/**\r\n * Resolves the effective metadata properties used by generic metadata displays.\r\n * Supports profile-level defaults and usage-specific include/exclude narrowing.\r\n */\r\nexport const resolveMetadataDisplayProperties = (\r\n options?: ResolveMetadataDisplayPropertiesOptions\r\n): InformationUnitPropertyKey[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-metadata-display\"];\r\n const displayConfig = profile.metadataDisplay;\r\n\r\n const supported = DEFAULT_METADATA_DISPLAY_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n displayConfig?.includeProperties,\r\n displayConfig?.excludeProperties\r\n );\r\n return applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n );\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["import_requests","logoFallbackSrc","fallbackName","import_requests","import_cache","import_cache","import_requests","resolveLocalizedLabel","import_requests","import_utils","import_cache","stableSerialize"]}