@c-rex/core 0.1.19 → 0.1.21
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.
- package/dist/OIDC.js +13 -4
- package/dist/OIDC.js.map +1 -1
- package/dist/OIDC.mjs +13 -4
- package/dist/OIDC.mjs.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/logger.mjs.map +1 -1
- package/dist/requests.js.map +1 -1
- package/dist/requests.mjs.map +1 -1
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.mjs.map +1 -1
- package/package.json +1 -1
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/logger.ts","../src/transports/matomo.ts","../../constants/src/generated/model-fields.ts","../../constants/src/index.ts","../src/transports/graylog.ts","../src/utils.ts","../src/sdk.ts"],"sourcesContent":["import winston from \"winston\";\nimport { MatomoTransport } from \"./transports/matomo\";\nimport { GraylogTransport } from \"./transports/graylog\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { LOG_LEVELS } from \"@c-rex/constants\";\nimport { CrexSDK } from \"./sdk\";\n\n\n/**\n * Logger class for the CREX application.\n * Provides logging functionality with multiple transports (Console, Matomo, Graylog).\n */\nexport class CrexLogger {\n private customerConfig!: ConfigInterface;\n public logger!: winston.Logger;\n\n /**\n * Initializes the logger instance if it hasn't been initialized yet.\n * Loads customer configuration and creates the logger with appropriate transports.\n * \n * @private\n */\n private async initLogger() {\n try {\n if (!this.customerConfig) {\n const sdk = new CrexSDK();\n\n this.customerConfig = sdk.getServerConfig();\n }\n if (!this.logger) {\n this.logger = this.createLogger();\n }\n } catch (error) {\n console.log(\"Error initializing logger:\", error);\n }\n }\n\n /**\n * Logs a message with the specified level and optional category.\n * \n * @param options - Logging options\n * @param options.level - The log level (error, warn, info, etc.)\n * @param options.message - The message to log\n * @param options.category - Optional category for the log message\n */\n public async log({ level, message, category }: {\n level: LogLevelType,\n message: string,\n category?: LogCategoriesType\n }) {\n await this.initLogger();\n const timestamp = new Date().toISOString();\n const newMessage = `[${timestamp}] ${message}`;\n this.logger.log(level, newMessage, category);\n }\n\n /**\n * Creates a new Winston logger instance with configured transports.\n * \n * @private\n * @returns A configured Winston logger instance\n */\n private createLogger() {\n return winston.createLogger({\n levels: LOG_LEVELS,\n transports: [\n new winston.transports.Console({\n level: this.customerConfig.logs.console.minimumLevel,\n silent: this.customerConfig.logs.console.silent,\n }),\n new MatomoTransport(this.customerConfig),\n new GraylogTransport(this.customerConfig),\n ],\n });\n }\n}","import Transport from \"winston-transport\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { ALL } from \"@c-rex/constants\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\n\n/**\n * Winston transport for sending logs to Matomo analytics.\n * Extends the base Winston transport with Matomo-specific functionality.\n */\nexport class MatomoTransport extends Transport {\n public matomoTransport: any;\n private configs: ConfigInterface;\n\n /**\n * Creates a new instance of MatomoTransport.\n * \n * @param configs - The application configuration containing logging settings\n */\n constructor(configs: ConfigInterface) {\n super({\n level: configs.logs.matomo.minimumLevel,\n silent: configs.logs.matomo.silent,\n });\n\n this.matomoTransport = new Transport();\n this.configs = configs;\n }\n\n /**\n * Logs a message to Matomo if the message category is included in the configured categories.\n * \n * @param info - The log information including level, message, and category\n * @param callback - Callback function to execute after logging\n */\n log(\n info: { level: LogLevelType, message: string, category: LogCategoriesType },\n callback: () => void,\n ): void {\n const matomoCategory = this.configs.logs.matomo.categoriesLevel\n\n if (matomoCategory.includes(info.category) || matomoCategory.includes(ALL)) {\n this.matomoTransport.log(info, callback);\n }\n }\n}\n","/**\n * Auto-generated from OpenAPI spec\n * Source: https://staging.c-rex.net/ids/api/swagger/v1/swagger.json\n * Generated: 2025-12-09T23:10:42.858Z\n * Do not edit manually\n */\n\n// Field constants for compile-time validation of Fields query parameter\n\nexport const AdministrativeMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const AdministrativeMetadataModelFieldsAll = Object.values(AdministrativeMetadataModelFields);\n\nexport const AuditStateModelFields = {\n id: \"id\",\n state: \"state\",\n} as const;\n\nexport const AuditStateModelFieldsAll = Object.values(AuditStateModelFields);\n\nexport const AuthStateModelFields = {\n state: \"state\",\n licenses: \"licenses\",\n roles: \"roles\",\n} as const;\n\nexport const AuthStateModelFieldsAll = Object.values(AuthStateModelFields);\n\nexport const ComponentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n productGraphic: \"productGraphic\",\n titles: \"titles\",\n parents: \"parents\",\n ancestors: \"ancestors\",\n ancestorsOrSelf: \"ancestorsOrSelf\",\n components: \"components\",\n identities: \"identities\",\n parties: \"parties\",\n informationUnits: \"informationUnits\",\n seeAlso: \"seeAlso\",\n} as const;\n\nexport const ComponentModelFieldsAll = Object.values(ComponentModelFields);\n\nexport const ContentLifeCycleStatusModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n dateOfEffect: \"dateOfEffect\",\n dateOfExpiry: \"dateOfExpiry\",\n dateOfStatus: \"dateOfStatus\",\n purpose: \"purpose\",\n value: \"value\",\n parties: \"parties\",\n} as const;\n\nexport const ContentLifeCycleStatusModelFieldsAll = Object.values(ContentLifeCycleStatusModelFields);\n\nexport const ContentLifeCycleStatusValueModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ContentLifeCycleStatusValueModelFieldsAll = Object.values(ContentLifeCycleStatusValueModelFields);\n\nexport const DirectoryNodeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n structureType: \"structureType\",\n parents: \"parents\",\n ancestors: \"ancestors\",\n ancestorsOrSelf: \"ancestorsOrSelf\",\n childNodes: \"childNodes\",\n informationUnits: \"informationUnits\",\n} as const;\n\nexport const DirectoryNodeModelFieldsAll = Object.values(DirectoryNodeModelFields);\n\nexport const DirectoryNodeTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DirectoryNodeTypeModelFieldsAll = Object.values(DirectoryNodeTypeModelFields);\n\nexport const DocumentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const DocumentModelFieldsAll = Object.values(DocumentModelFields);\n\nexport const DocumentTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DocumentTypeModelFieldsAll = Object.values(DocumentTypeModelFields);\n\nexport const DocumentationMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DocumentationMetadataModelFieldsAll = Object.values(DocumentationMetadataModelFields);\n\nexport const DomainEntityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const DomainEntityModelFieldsAll = Object.values(DomainEntityModelFields);\n\nexport const EventModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n eventCode: \"eventCode\",\n eventType: \"eventType\",\n} as const;\n\nexport const EventModelFieldsAll = Object.values(EventModelFields);\n\nexport const ExternalProductGraphicModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const ExternalProductGraphicModelFieldsAll = Object.values(ExternalProductGraphicModelFields);\n\nexport const ExternalProductOntologyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n itemNumbers: \"itemNumbers\",\n productSeries: \"productSeries\",\n productModels: \"productModels\",\n productNames: \"productNames\",\n products: \"products\",\n} as const;\n\nexport const ExternalProductOntologyModelFieldsAll = Object.values(ExternalProductOntologyModelFields);\n\nexport const FragmentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const FragmentModelFieldsAll = Object.values(FragmentModelFields);\n\nexport const FunctionalMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const FunctionalMetadataModelFieldsAll = Object.values(FunctionalMetadataModelFields);\n\nexport const IdentityDomainModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n parties: \"parties\",\n} as const;\n\nexport const IdentityDomainModelFieldsAll = Object.values(IdentityDomainModelFields);\n\nexport const IdentityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identifier: \"identifier\",\n identityDomain: \"identityDomain\",\n} as const;\n\nexport const IdentityModelFieldsAll = Object.values(IdentityModelFields);\n\nexport const InformationObjectModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identities: \"identities\",\n} as const;\n\nexport const InformationObjectModelFieldsAll = Object.values(InformationObjectModelFields);\n\nexport const InformationSubjectCollectionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectCollectionModelFieldsAll = Object.values(InformationSubjectCollectionModelFields);\n\nexport const InformationSubjectConformityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectConformityModelFieldsAll = Object.values(InformationSubjectConformityModelFields);\n\nexport const InformationSubjectFormalityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectFormalityModelFieldsAll = Object.values(InformationSubjectFormalityModelFields);\n\nexport const InformationSubjectFunctionalityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectFunctionalityModelFieldsAll = Object.values(InformationSubjectFunctionalityModelFields);\n\nexport const InformationSubjectModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectModelFieldsAll = Object.values(InformationSubjectModelFields);\n\nexport const InformationSubjectProcessModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectProcessModelFieldsAll = Object.values(InformationSubjectProcessModelFields);\n\nexport const InformationSubjectSafetyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectSafetyModelFieldsAll = Object.values(InformationSubjectSafetyModelFields);\n\nexport const InformationSubjectSafetyWarningMessageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectSafetyWarningMessageModelFieldsAll = Object.values(InformationSubjectSafetyWarningMessageModelFields);\n\nexport const InformationSubjectTechnicalDataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectTechnicalDataModelFieldsAll = Object.values(InformationSubjectTechnicalDataModelFields);\n\nexport const InformationSubjectTechnicalOverviewModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectTechnicalOverviewModelFieldsAll = Object.values(InformationSubjectTechnicalOverviewModelFields);\n\nexport const InformationTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationTypeModelFieldsAll = Object.values(InformationTypeModelFields);\n\nexport const InformationUnitModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const InformationUnitModelFieldsAll = Object.values(InformationUnitModelFields);\n\nexport const OwlClassModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const OwlClassModelFieldsAll = Object.values(OwlClassModelFields);\n\nexport const PackageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n iirdsVersion: \"iirdsVersion\",\n formatRestriction: \"formatRestriction\",\n directories: \"directories\",\n} as const;\n\nexport const PackageModelFieldsAll = Object.values(PackageModelFields);\n\nexport const PartyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n partyRole: \"partyRole\",\n vcard: \"vcard\",\n} as const;\n\nexport const PartyModelFieldsAll = Object.values(PartyModelFields);\n\nexport const PartyRoleModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const PartyRoleModelFieldsAll = Object.values(PartyRoleModelFields);\n\nexport const PlanningDownTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningDownTimeModelFieldsAll = Object.values(PlanningDownTimeModelFields);\n\nexport const PlanningMaintenanceIntervalModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n frequency: \"frequency\",\n} as const;\n\nexport const PlanningMaintenanceIntervalModelFieldsAll = Object.values(PlanningMaintenanceIntervalModelFields);\n\nexport const PlanningSetupTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningSetupTimeModelFieldsAll = Object.values(PlanningSetupTimeModelFields);\n\nexport const PlanningTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningTimeModelFieldsAll = Object.values(PlanningTimeModelFields);\n\nexport const PlanningWorkingTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningWorkingTimeModelFieldsAll = Object.values(PlanningWorkingTimeModelFields);\n\nexport const ProductFeatureModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductFeatureModelFieldsAll = Object.values(ProductFeatureModelFields);\n\nexport const ProductFunctionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductFunctionModelFieldsAll = Object.values(ProductFunctionModelFields);\n\nexport const ProductLcpAfterUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpAfterUseModelFieldsAll = Object.values(ProductLcpAfterUseModelFields);\n\nexport const ProductLcpDesignAndRealizationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpDesignAndRealizationModelFieldsAll = Object.values(ProductLcpDesignAndRealizationModelFields);\n\nexport const ProductLcpPuttingToUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpPuttingToUseModelFieldsAll = Object.values(ProductLcpPuttingToUseModelFields);\n\nexport const ProductLcpUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpUseModelFieldsAll = Object.values(ProductLcpUseModelFields);\n\nexport const ProductLifeCyclePhaseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLifeCyclePhaseModelFieldsAll = Object.values(ProductLifeCyclePhaseModelFields);\n\nexport const ProductMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductMetadataModelFieldsAll = Object.values(ProductMetadataModelFields);\n\nexport const ProductPropertyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductPropertyModelFieldsAll = Object.values(ProductPropertyModelFields);\n\nexport const ProductVariantModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identities: \"identities\",\n parties: \"parties\",\n} as const;\n\nexport const ProductVariantModelFieldsAll = Object.values(ProductVariantModelFields);\n\nexport const QualificationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationModelFieldsAll = Object.values(QualificationModelFields);\n\nexport const QualificationRoleModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationRoleModelFieldsAll = Object.values(QualificationRoleModelFields);\n\nexport const QualificationSkillLevelModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationSkillLevelModelFieldsAll = Object.values(QualificationSkillLevelModelFields);\n\nexport const RenditionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n source: \"source\",\n format: \"format\",\n identities: \"identities\",\n selectors: \"selectors\",\n informationUnits: \"informationUnits\",\n} as const;\n\nexport const RenditionModelFieldsAll = Object.values(RenditionModelFields);\n\nexport const RenditionSelectorModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const RenditionSelectorModelFieldsAll = Object.values(RenditionSelectorModelFields);\n\nexport const SupplyConsumableModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyConsumableModelFieldsAll = Object.values(SupplyConsumableModelFields);\n\nexport const SupplyHardwareToolModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyHardwareToolModelFieldsAll = Object.values(SupplyHardwareToolModelFields);\n\nexport const SupplyLubricantModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyLubricantModelFieldsAll = Object.values(SupplyLubricantModelFields);\n\nexport const SupplyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyModelFieldsAll = Object.values(SupplyModelFields);\n\nexport const SupplyOperatingModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyOperatingModelFieldsAll = Object.values(SupplyOperatingModelFields);\n\nexport const SupplySparePartModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplySparePartModelFieldsAll = Object.values(SupplySparePartModelFields);\n\nexport const TopicModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const TopicModelFieldsAll = Object.values(TopicModelFields);\n\nexport const TopicTypeConceptModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeConceptModelFieldsAll = Object.values(TopicTypeConceptModelFields);\n\nexport const TopicTypeFormModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeFormModelFieldsAll = Object.values(TopicTypeFormModelFields);\n\nexport const TopicTypeLearningModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeLearningModelFieldsAll = Object.values(TopicTypeLearningModelFields);\n\nexport const TopicTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeModelFieldsAll = Object.values(TopicTypeModelFields);\n\nexport const TopicTypeReferenceModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeReferenceModelFieldsAll = Object.values(TopicTypeReferenceModelFields);\n\nexport const TopicTypeTaskModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeTaskModelFieldsAll = Object.values(TopicTypeTaskModelFields);\n\nexport const TopicTypeTroubleShootingModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeTroubleShootingModelFieldsAll = Object.values(TopicTypeTroubleShootingModelFields);\n\nexport const VCardCalendarModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n source: \"source\",\n} as const;\n\nexport const VCardCalendarModelFieldsAll = Object.values(VCardCalendarModelFields);\n\nexport const VCardGroupModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n members: \"members\",\n} as const;\n\nexport const VCardGroupModelFieldsAll = Object.values(VCardGroupModelFields);\n\nexport const VCardImageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n classes: \"classes\",\n value: \"value\",\n source: \"source\",\n} as const;\n\nexport const VCardImageModelFieldsAll = Object.values(VCardImageModelFields);\n\nexport const VCardIndividualModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n title: \"title\",\n role: \"role\",\n gender: \"gender\",\n} as const;\n\nexport const VCardIndividualModelFieldsAll = Object.values(VCardIndividualModelFields);\n\nexport const VCardInfoModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n classes: \"classes\",\n value: \"value\",\n countryName: \"countryName\",\n locality: \"locality\",\n postalCode: \"postalCode\",\n streetAddress: \"streetAddress\",\n} as const;\n\nexport const VCardInfoModelFieldsAll = Object.values(VCardInfoModelFields);\n\nexport const VCardLocationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n members: \"members\",\n} as const;\n\nexport const VCardLocationModelFieldsAll = Object.values(VCardLocationModelFields);\n\nexport const VCardModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n} as const;\n\nexport const VCardModelFieldsAll = Object.values(VCardModelFields);\n\nexport const VCardOrganizationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n organizationName: \"organizationName\",\n organizationUnit: \"organizationUnit\",\n members: \"members\",\n logos: \"logos\",\n} as const;\n\nexport const VCardOrganizationModelFieldsAll = Object.values(VCardOrganizationModelFields);\n","export * from './generated/model-fields'\n\nexport const ALL = \"*\"\n\nexport const LOG_CATEGORIES = [\n \"NoLicense\",\n \"Scenario\",\n \"Favorites\",\n \"Subscription\",\n \"Share\",\n \"Document\",\n \"Search\",\n \"History\",\n \"Notification\",\n \"UserProfile\",\n] as const;\n\nexport const LOG_LEVELS = {\n critical: 2,\n error: 3,\n warning: 4,\n info: 6,\n debug: 7,\n} as const;\n\nexport const RESULT_VIEW_STYLES = [\n \"cards\",\n \"table\",\n \"table-with-images\",\n] as const;\n\nexport const API = {\n MAX_RETRY: 3,\n API_TIMEOUT: 10000,\n RETRY_DELAY: 500,\n API_HEADERS: {\n \"content-Type\": \"application/json\",\n },\n};\n\nexport const SDK_CONFIG_KEY = \"crex-sdk-config\";\n\nexport const CONTENT_LANG_KEY = \"CONTENT_LANG_KEY\";\n\nexport const AVAILABLE_CONTENT_LANG_KEY = \"AVAILABLE_CONTENT_LANG_KEY\";\n\nexport const UI_LANG_KEY = \"UI_LANG_KEY\";\n\nexport const FLAGS_BY_LANG = {\n \"en\": \"US\",\n \"de\": \"DE\",\n};\n\nexport const DEFAULT_LANG = \"en-US\";\n\nexport const EN_LANG = \"en\";\n\nexport const UI_LANG_OPTIONS = [\"en-us\", \"de-de\"];\n\nexport const TOPICS_TYPE_AND_LINK = \"topics\";\nexport const BLOG_TYPE_AND_LINK = \"blog\";\nexport const DOCUMENTS_TYPE_AND_LINK = \"documents\";\n\nexport const TOPIC = \"TOPIC\";\nexport const DOCUMENT = \"DOCUMENT\";\nexport const PACKAGE = \"PACKAGE\";\nexport const FRAGMENT = \"FRAGMENT\";\n\nexport const RESULT_TYPES = {\n TOPIC: TOPIC,\n DOCUMENT: DOCUMENT,\n PACKAGE: PACKAGE,\n FRAGMENT: FRAGMENT\n} as const;\n\nexport const FILES_EXTENSIONS = {\n PDF: \"application/pdf\",\n HTML: \"text/html\",\n} as const;\n\nexport const DEFAULT_COOKIE_LIMIT = 30 * 24 * 60 * 60 * 1000; // 30 days in milliseconds\n\nexport const ICONS_BY_FILE_EXTENSION = {\n \"application/pdf\": \"FaFilePdf\",\n} as const;\n\nexport const DEFAULT_ICON = \"file\";\n\nexport const CREX_TOKEN_HEADER_KEY = \"crex-token\";\n\nexport const WILD_CARD_OPTIONS = {\n BOTH: \"BOTH\",\n END: \"END\",\n START: \"START\",\n NONE: \"NONE\",\n} as const;\n\nexport const OPERATOR_OPTIONS = {\n AND: \"AND\",\n OR: \"OR\",\n} as const;\n\nexport const ARTICLE_PAGE_LAYOUT = {\n BLOG: \"BLOG\",\n DOCUMENT: \"DOCUMENT\",\n} as const;\n\nexport const DEVICE_OPTIONS = {\n MOBILE: \"mobile\",\n TABLET: \"tablet\",\n DESKTOP: \"desktop\",\n}\nexport const BREAKPOINTS = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n \"2xl\": 1536,\n};\n\nexport const MARKER_COLORS = [\n \"red-500\",\n \"orange-500\",\n \"yellow-400\",\n \"green-500\",\n \"teal-500\",\n \"blue-500\",\n \"sky-500\",\n \"purple-500\",\n \"pink-500\",\n \"gray-500\",\n \"neutral-800\",\n \"cyan-500\",\n \"lime-500\",\n \"amber-500\",\n \"indigo-500\",\n];","import Transport from \"winston-transport\";\nimport Graylog2Transport from \"winston-graylog2\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { ALL } from \"@c-rex/constants\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\n\n/**\n * Winston transport for sending logs to Graylog.\n * Extends the base Winston transport with Graylog-specific functionality.\n */\nexport class GraylogTransport extends Transport {\n public graylogTransport: any;\n private configs: ConfigInterface\n\n /**\n * Creates a new instance of GraylogTransport.\n * \n * @param configs - The application configuration containing logging settings\n */\n constructor(configs: ConfigInterface) {\n if (!configs.logs.graylog.hostname || configs.logs.graylog.port === undefined) {\n throw new Error(\"Graylog hostname and port must be defined\");\n }\n\n super({\n level: configs.logs.graylog.minimumLevel,\n silent: configs.logs.graylog.silent,\n });\n\n this.configs = configs;\n this.graylogTransport = new Graylog2Transport({\n name: configs.logs.graylog.app,\n silent: configs.logs.graylog.silent,\n handleExceptions: false,\n graylog: {\n servers: [\n { host: configs.logs.graylog.hostname, port: configs.logs.graylog.port }\n ],\n },\n });\n }\n\n /**\n * Logs a message to Graylog if the message category is included in the configured categories.\n * \n * @param info - The log information including level, message, and category\n * @param callback - Callback function to execute after logging\n */\n log(\n info: { level: LogLevelType, message: string, category: LogCategoriesType },\n callback: () => void,\n ): void {\n const graylogCategory = this.configs.logs.graylog.categoriesLevel\n\n if (graylogCategory.includes(info.category) || graylogCategory.includes(ALL)) {\n this.graylogTransport.log(info, callback);\n }\n }\n}\n","import { WarningVars } from \"@c-rex/types\";\nimport { logInfo, OIDCInterface } from \"@c-rex/interfaces\";\nimport { LogLevelType } from \"@c-rex/types\";\nimport { LogCategoriesType } from \"@c-rex/types\";\n\nconst formatIssuer = (issuer: string): string => {\n let newIssuer = issuer\n const lastChar = newIssuer.charAt(newIssuer.length - 1)\n if (lastChar !== \"/\") {\n newIssuer += \"/\"\n }\n newIssuer += \".well-known/openid-configuration\"\n\n return newIssuer;\n}\nexport const formatApiUrl = (apiUrl: string): string => {\n let newApiUrl = apiUrl\n const lastChar = newApiUrl.charAt(newApiUrl.length - 1)\n if (lastChar !== \"/\") {\n newApiUrl += \"/\"\n }\n if (!newApiUrl.includes(\"iirds/v1/\")) {\n newApiUrl += \"iirds/v1/\"\n }\n\n return newApiUrl;\n}\n\nexport const mergeConfigs = <T>(defaultConfig: Partial<T>, envVars: Partial<T>): T => {\n const definedEnvVars: T = {} as T;\n\n for (const key in envVars) {\n if (envVars[key] !== undefined) {\n definedEnvVars[key] = envVars[key];\n }\n }\n\n return {\n ...defaultConfig,\n ...definedEnvVars,\n };\n}\n\nexport const generateWarnings = (vars: WarningVars[]): string[] => {\n\n const warnings: string[] = []\n\n vars.forEach((variable) => {\n const value = process.env[variable.key];\n if (value === undefined) {\n warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`)\n }\n })\n\n return warnings;\n}\n\nexport const createUserOIDCConfig = (): { user: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const userDefaults: Partial<OIDCInterface> = {\n secret: \"dummy\",\n scope: \"openid profile crex.ids.api crex.ids.api.public\",\n enabled: true,\n }\n const userEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_CLIENT_ID,\n secret: process.env.CREX_IDS_CLIENT_SECRET,\n scope: process.env.CREX_IDS_USER_SCOPES,\n issuer: process.env.OIDC_ISSUER == undefined ? undefined : formatIssuer(process.env.OIDC_ISSUER),\n enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_USER_LOGIN_ENABLE == \"true\",\n }\n const user: OIDCInterface = mergeConfigs<OIDCInterface>(userDefaults, userEnvs);\n\n if (user.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_CLIENT_ID\", value: process.env.CREX_IDS_CLIENT_ID },\n { key: \"OIDC_ISSUER\", value: process.env.OIDC_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n user.enabled = false\n\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n\n }\n\n if (user.enabled) {\n const userWarningVars = [\n { key: \"CREX_IDS_USER_SCOPES\", default: user.scope },\n { key: \"CREX_IDS_CLIENT_SECRET\", default: user.secret },\n { key: \"CREX_IDS_USER_LOGIN_ENABLE\", default: user.enabled }\n ]\n const aux = generateWarnings(userWarningVars)\n warnings.push(...aux);\n }\n\n return { user, warnings }\n}\n\nexport const createClientOIDCConfig = (): { client: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const clientDefault: Partial<OIDCInterface> = {\n secret: \"dummy\",\n enabled: true,\n }\n const clientEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_CLIENT_ID,\n issuer: process.env.OIDC_ISSUER == undefined ? undefined : formatIssuer(process.env.OIDC_ISSUER),\n secret: process.env.CREX_IDS_CLIENT_SECRET,\n enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == \"true\",\n }\n const client: OIDCInterface = mergeConfigs<OIDCInterface>(clientDefault, clientEnvs);\n\n if (client.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_CLIENT_ID\", value: process.env.CREX_IDS_CLIENT_ID },\n { key: \"OIDC_ISSUER\", value: process.env.OIDC_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n client.enabled = false\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n }\n\n if (client.enabled) {\n const clientWarningVars = [\n { key: \"CREX_IDS_CLIENT_SECRET\", default: client.secret },\n { key: \"CREX_IDS_CLIENT_LOGIN_ENABLE\", default: client.enabled }\n ]\n\n const aux = generateWarnings(clientWarningVars)\n warnings.push(...aux);\n }\n\n return { client, warnings }\n}\n\nexport const createConsoleLoggerConfig = (): { consoleLogger: Omit<logInfo, \"hostname\" | \"app\" | \"categoriesLevel\">, warnings: string[]; } => {\n const warnings: string[] = []\n\n const consoleLoggerDefaults: Partial<logInfo> = {\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n }\n const consoleLoggerEnvs: Partial<logInfo> = {\n minimumLevel: process.env.LOG_CONSOLE_LEVEL as LogLevelType,\n silent: process.env.LOG_CONSOLE_SILENT == undefined ? undefined : process.env.LOG_CONSOLE_SILENT == \"true\",\n }\n const consoleLogger: logInfo = mergeConfigs<logInfo>(consoleLoggerDefaults, consoleLoggerEnvs);\n\n if (consoleLogger.silent == false) {\n const consoleWarningsVars = [\n { key: \"LOG_CONSOLE_SILENT\", default: consoleLogger.silent },\n { key: \"LOG_CONSOLE_LEVEL\", default: consoleLogger.minimumLevel }\n ]\n const aux = generateWarnings(consoleWarningsVars)\n warnings.push(...aux);\n }\n\n return {\n consoleLogger,\n warnings\n }\n}\n\nexport const createGraylogLoggerConfig = (projectName: string): { graylog: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const graylogDefaults: Partial<logInfo> = {\n app: `NextJs-Project-${projectName}`,\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n hostname: \"https://log.c-rex.net\",\n port: 12202,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const graylogEnvs: Partial<logInfo> = {\n app: process.env.LOG_GRAYLOG_APP_NAME,\n silent: process.env.LOG_GRAYLOG_SILENT == undefined ? undefined : process.env.LOG_GRAYLOG_SILENT == \"true\",\n hostname: process.env.LOG_GRAYLOG_HOSTNAME,\n port: process.env.LOG_GRAYLOG_PORT == undefined ? undefined : Number(process.env.LOG_GRAYLOG_PORT),\n minimumLevel: process.env.LOG_GRAYLOG_LEVEL as any,\n categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == undefined ? undefined : process.env.LOG_GRAYLOG_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const graylog: logInfo = mergeConfigs<logInfo>(graylogDefaults, graylogEnvs);\n\n if (graylog.silent == false) {\n const graylogWarningVars = [\n { key: \"LOG_GRAYLOG_APP_NAME\", default: graylog.app },\n { key: \"LOG_GRAYLOG_HOSTNAME\", default: graylog.hostname },\n { key: \"LOG_GRAYLOG_LEVEL\", default: graylog.minimumLevel },\n { key: \"LOG_GRAYLOG_SILENT\", default: graylog.silent },\n { key: \"LOG_GRAYLOG_CATEGORIES\", default: graylog.categoriesLevel },\n { key: \"LOG_GRAYLOG_PORT\", default: graylog.port }\n ]\n const aux = generateWarnings(graylogWarningVars)\n warnings.push(...aux);\n }\n\n return {\n graylog,\n warnings\n }\n}\n\nexport const createMatomoLoggerConfig = (projectName: string): { matomo: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const matomoDefaults: Partial<logInfo> = {\n app: `NextJs-Project-${projectName}`,\n minimumLevel: \"info\" as LogLevelType,\n silent: true,\n hostname: \"\",\n port: 0,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const matomoEnvs: Partial<logInfo> = {\n app: process.env.LOG_MATOMO_APP_NAME,\n silent: process.env.LOG_MATOMO_SILENT == undefined ? undefined : process.env.LOG_MATOMO_SILENT == \"true\",\n hostname: process.env.LOG_MATOMO_HOSTNAME,\n port: process.env.LOG_MATOMO_PORT == undefined ? undefined : Number(process.env.LOG_MATOMO_PORT),\n minimumLevel: process.env.LOG_MATOMO_LEVEL as any,\n categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == undefined ? undefined : process.env.LOG_MATOMO_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const matomo: logInfo = mergeConfigs<logInfo>(matomoDefaults, matomoEnvs);\n\n\n const matomoSilentVars = [\n { key: \"LOG_MATOMO_SILENT\", value: process.env.LOG_MATOMO_SILENT },\n { key: \"LOG_MATOMO_HOSTNAME\", value: process.env.LOG_MATOMO_HOSTNAME },\n { key: \"LOG_MATOMO_PORT\", value: process.env.LOG_MATOMO_PORT }\n ]\n matomoSilentVars.forEach((variable) => {\n if (variable.value === undefined) {\n matomo.silent = true\n warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`)\n }\n })\n\n if (matomo.silent == false) {\n const matomoWarningVars = [\n { key: \"LOG_MATOMO_APP_NAME\", default: matomo.app },\n { key: \"LOG_MATOMO_LEVEL\", default: matomo.minimumLevel },\n { key: \"LOG_MATOMO_CATEGORIES\", default: matomo.categoriesLevel }\n ]\n const aux = generateWarnings(matomoWarningVars)\n warnings.push(...aux);\n }\n\n return {\n matomo,\n warnings\n }\n}\n\n","import { ConfigInterface, CookiesConfigs, CustomerConfig } from \"@c-rex/interfaces\";\nimport {\n createClientOIDCConfig,\n createConsoleLoggerConfig,\n createGraylogLoggerConfig,\n createMatomoLoggerConfig,\n createUserOIDCConfig,\n formatApiUrl\n} from \"./utils\";\nimport { cookies } from \"next/headers\";\nimport { SDK_CONFIG_KEY } from \"@c-rex/constants\";\n\ndeclare global {\n // eslint-disable-next-line no-var\n var __GLOBAL_CONFIG__: ConfigInterface | null;\n}\n\n/**\n * SDK class for the CREX application.\n * Provides configuration and authentication functionality.\n */\nexport class CrexSDK {\n public userAuthConfig!: any;\n public customerConfig!: ConfigInterface;\n public cookiesConfig!: CookiesConfigs;\n\n public async getUserAuthConfig() {\n if (this.userAuthConfig) {\n return this.userAuthConfig;\n }\n\n if (!this.customerConfig) {\n this.customerConfig = this.getServerConfig()\n }\n\n const user = this.customerConfig.OIDC.user;\n const userInfoEndPoint = this.customerConfig.OIDC.issuerMetadata?.userinfo_endpoint;\n if (user.enabled) {\n this.userAuthConfig = {\n providers: [\n {\n id: \"crex\",\n name: \"CREX\",\n type: \"oauth\",\n version: \"2.0\",\n clientId: user.id,\n wellKnown: user.issuer,\n clientSecret: user.secret,\n authorization: {\n params: {\n scope: user.scope,\n prompt: \"login\"\n }\n },\n idToken: true,\n checks: [\"pkce\", \"state\"],\n async profile(_: any, tokens: any) {\n const res = await fetch(userInfoEndPoint, {\n headers: {\n Authorization: `Bearer ${tokens.access_token}`,\n },\n });\n\n const userinfo = await res.json();\n\n return {\n id: userinfo.sub,\n name: userinfo.name,\n email: userinfo.email,\n };\n },\n callbacks: {\n async jwt({ token, account }: any) {\n if (account) {\n token.id_token = account.id_token;\n }\n return token;\n },\n async session({ session, token }: any) {\n session.id_token = token.id_token;\n return session;\n },\n },\n },\n ]\n }\n };\n\n return this.userAuthConfig;\n }\n\n public createCustomerConfig(CUSTOMER_CONFIG: CustomerConfig, shouldLog: boolean): { cookiesConfig: CookiesConfigs, config: ConfigInterface } {\n\n const requiredEnvVars = [\"CREX_IDS_API_URL\", \"NEXT_PUBLIC_API_URL\"]\n const required = requiredEnvVars.map(key => {\n const value = process.env[key];\n if (value === undefined) {\n return `Missing required environment variable: ${key}`;\n }\n\n return \"\"\n }).filter(item => item.length > 0)\n\n const { user, warnings: userWarnings } = createUserOIDCConfig()\n const { client, warnings: clientWarnings } = createClientOIDCConfig()\n const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig(CUSTOMER_CONFIG.projectName)\n const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig(CUSTOMER_CONFIG.projectName)\n const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig()\n\n const warnings = required.concat(\n consoleWarnings,\n clientWarnings,\n userWarnings,\n graylogWarnings,\n matomoWarnings\n )\n\n if (shouldLog) {\n if (warnings.length > 0) console.warn(warnings.join('\\n'));\n }\n\n const cookiesConfig: CookiesConfigs = {\n publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL!,\n ...CUSTOMER_CONFIG,\n OIDC: {\n clientEnabled: client.enabled,\n userEnabled: user.enabled,\n },\n }\n\n const config: ConfigInterface = {\n baseUrl: process.env.CREX_IDS_API_URL == undefined ? \"\" : formatApiUrl(process.env.CREX_IDS_API_URL),\n OIDC: { client, user },\n logs: { console: consoleLogger, graylog, matomo, },\n ...CUSTOMER_CONFIG,\n }\n\n return { cookiesConfig, config };\n }\n\n public getClientConfig = (): CookiesConfigs => {\n const jsonConfigs = cookies().get(SDK_CONFIG_KEY)?.value;\n if (!jsonConfigs) {\n throw new Error('Configs not found');\n }\n\n const configs: CookiesConfigs = JSON.parse(jsonConfigs);\n\n return configs;\n }\n\n public getServerConfig() {\n if (!global.__GLOBAL_CONFIG__) {\n throw new Error('Server config not initialized');\n }\n return global.__GLOBAL_CONFIG__;\n }\n\n public initializeConfig(config: ConfigInterface) {\n if (global.__GLOBAL_CONFIG__) return global.__GLOBAL_CONFIG__;\n global.__GLOBAL_CONFIG__ = config;\n return global.__GLOBAL_CONFIG__;\n }\n\n public updateConfigProp(key: keyof ConfigInterface, value: any) {\n if (!global.__GLOBAL_CONFIG__) {\n throw new Error('Server config not initialized');\n }\n global.__GLOBAL_CONFIG__[key] = value;\n return global.__GLOBAL_CONFIG__;\n }\n}"],"mappings":"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","names":["Transport","import_winston_transport","Transport","Graylog2Transport","winston"]}
|
|
1
|
+
{"version":3,"sources":["../src/logger.ts","../src/transports/matomo.ts","../../constants/src/generated/model-fields.ts","../../constants/src/index.ts","../src/transports/graylog.ts","../src/utils.ts","../src/sdk.ts"],"sourcesContent":["import winston from \"winston\";\nimport { MatomoTransport } from \"./transports/matomo\";\nimport { GraylogTransport } from \"./transports/graylog\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { LOG_LEVELS } from \"@c-rex/constants\";\nimport { CrexSDK } from \"./sdk\";\n\n\n/**\n * Logger class for the CREX application.\n * Provides logging functionality with multiple transports (Console, Matomo, Graylog).\n */\nexport class CrexLogger {\n private customerConfig!: ConfigInterface;\n public logger!: winston.Logger;\n\n /**\n * Initializes the logger instance if it hasn't been initialized yet.\n * Loads customer configuration and creates the logger with appropriate transports.\n * \n * @private\n */\n private async initLogger() {\n try {\n if (!this.customerConfig) {\n const sdk = new CrexSDK();\n\n this.customerConfig = sdk.getServerConfig();\n }\n if (!this.logger) {\n this.logger = this.createLogger();\n }\n } catch (error) {\n console.log(\"Error initializing logger:\", error);\n }\n }\n\n /**\n * Logs a message with the specified level and optional category.\n * \n * @param options - Logging options\n * @param options.level - The log level (error, warn, info, etc.)\n * @param options.message - The message to log\n * @param options.category - Optional category for the log message\n */\n public async log({ level, message, category }: {\n level: LogLevelType,\n message: string,\n category?: LogCategoriesType\n }) {\n await this.initLogger();\n const timestamp = new Date().toISOString();\n const newMessage = `[${timestamp}] ${message}`;\n this.logger.log(level, newMessage, category);\n }\n\n /**\n * Creates a new Winston logger instance with configured transports.\n * \n * @private\n * @returns A configured Winston logger instance\n */\n private createLogger() {\n return winston.createLogger({\n levels: LOG_LEVELS,\n transports: [\n new winston.transports.Console({\n level: this.customerConfig.logs.console.minimumLevel,\n silent: this.customerConfig.logs.console.silent,\n }),\n new MatomoTransport(this.customerConfig),\n new GraylogTransport(this.customerConfig),\n ],\n });\n }\n}","import Transport from \"winston-transport\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { ALL } from \"@c-rex/constants\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\n\n/**\n * Winston transport for sending logs to Matomo analytics.\n * Extends the base Winston transport with Matomo-specific functionality.\n */\nexport class MatomoTransport extends Transport {\n public matomoTransport: any;\n private configs: ConfigInterface;\n\n /**\n * Creates a new instance of MatomoTransport.\n * \n * @param configs - The application configuration containing logging settings\n */\n constructor(configs: ConfigInterface) {\n super({\n level: configs.logs.matomo.minimumLevel,\n silent: configs.logs.matomo.silent,\n });\n\n this.matomoTransport = new Transport();\n this.configs = configs;\n }\n\n /**\n * Logs a message to Matomo if the message category is included in the configured categories.\n * \n * @param info - The log information including level, message, and category\n * @param callback - Callback function to execute after logging\n */\n log(\n info: { level: LogLevelType, message: string, category: LogCategoriesType },\n callback: () => void,\n ): void {\n const matomoCategory = this.configs.logs.matomo.categoriesLevel\n\n if (matomoCategory.includes(info.category) || matomoCategory.includes(ALL)) {\n this.matomoTransport.log(info, callback);\n }\n }\n}\n","/**\n * Auto-generated from OpenAPI spec\n * Source: https://staging.c-rex.net/ids/api/swagger/v1/swagger.json\n * Generated: 2025-12-09T23:10:42.858Z\n * Do not edit manually\n */\n\n// Field constants for compile-time validation of Fields query parameter\n\nexport const AdministrativeMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const AdministrativeMetadataModelFieldsAll = Object.values(AdministrativeMetadataModelFields);\n\nexport const AuditStateModelFields = {\n id: \"id\",\n state: \"state\",\n} as const;\n\nexport const AuditStateModelFieldsAll = Object.values(AuditStateModelFields);\n\nexport const AuthStateModelFields = {\n state: \"state\",\n licenses: \"licenses\",\n roles: \"roles\",\n} as const;\n\nexport const AuthStateModelFieldsAll = Object.values(AuthStateModelFields);\n\nexport const ComponentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n productGraphic: \"productGraphic\",\n titles: \"titles\",\n parents: \"parents\",\n ancestors: \"ancestors\",\n ancestorsOrSelf: \"ancestorsOrSelf\",\n components: \"components\",\n identities: \"identities\",\n parties: \"parties\",\n informationUnits: \"informationUnits\",\n seeAlso: \"seeAlso\",\n} as const;\n\nexport const ComponentModelFieldsAll = Object.values(ComponentModelFields);\n\nexport const ContentLifeCycleStatusModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n dateOfEffect: \"dateOfEffect\",\n dateOfExpiry: \"dateOfExpiry\",\n dateOfStatus: \"dateOfStatus\",\n purpose: \"purpose\",\n value: \"value\",\n parties: \"parties\",\n} as const;\n\nexport const ContentLifeCycleStatusModelFieldsAll = Object.values(ContentLifeCycleStatusModelFields);\n\nexport const ContentLifeCycleStatusValueModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ContentLifeCycleStatusValueModelFieldsAll = Object.values(ContentLifeCycleStatusValueModelFields);\n\nexport const DirectoryNodeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n structureType: \"structureType\",\n parents: \"parents\",\n ancestors: \"ancestors\",\n ancestorsOrSelf: \"ancestorsOrSelf\",\n childNodes: \"childNodes\",\n informationUnits: \"informationUnits\",\n} as const;\n\nexport const DirectoryNodeModelFieldsAll = Object.values(DirectoryNodeModelFields);\n\nexport const DirectoryNodeTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DirectoryNodeTypeModelFieldsAll = Object.values(DirectoryNodeTypeModelFields);\n\nexport const DocumentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const DocumentModelFieldsAll = Object.values(DocumentModelFields);\n\nexport const DocumentTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DocumentTypeModelFieldsAll = Object.values(DocumentTypeModelFields);\n\nexport const DocumentationMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const DocumentationMetadataModelFieldsAll = Object.values(DocumentationMetadataModelFields);\n\nexport const DomainEntityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const DomainEntityModelFieldsAll = Object.values(DomainEntityModelFields);\n\nexport const EventModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n eventCode: \"eventCode\",\n eventType: \"eventType\",\n} as const;\n\nexport const EventModelFieldsAll = Object.values(EventModelFields);\n\nexport const ExternalProductGraphicModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const ExternalProductGraphicModelFieldsAll = Object.values(ExternalProductGraphicModelFields);\n\nexport const ExternalProductOntologyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n itemNumbers: \"itemNumbers\",\n productSeries: \"productSeries\",\n productModels: \"productModels\",\n productNames: \"productNames\",\n products: \"products\",\n} as const;\n\nexport const ExternalProductOntologyModelFieldsAll = Object.values(ExternalProductOntologyModelFields);\n\nexport const FragmentModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const FragmentModelFieldsAll = Object.values(FragmentModelFields);\n\nexport const FunctionalMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const FunctionalMetadataModelFieldsAll = Object.values(FunctionalMetadataModelFields);\n\nexport const IdentityDomainModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n parties: \"parties\",\n} as const;\n\nexport const IdentityDomainModelFieldsAll = Object.values(IdentityDomainModelFields);\n\nexport const IdentityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identifier: \"identifier\",\n identityDomain: \"identityDomain\",\n} as const;\n\nexport const IdentityModelFieldsAll = Object.values(IdentityModelFields);\n\nexport const InformationObjectModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identities: \"identities\",\n} as const;\n\nexport const InformationObjectModelFieldsAll = Object.values(InformationObjectModelFields);\n\nexport const InformationSubjectCollectionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectCollectionModelFieldsAll = Object.values(InformationSubjectCollectionModelFields);\n\nexport const InformationSubjectConformityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectConformityModelFieldsAll = Object.values(InformationSubjectConformityModelFields);\n\nexport const InformationSubjectFormalityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectFormalityModelFieldsAll = Object.values(InformationSubjectFormalityModelFields);\n\nexport const InformationSubjectFunctionalityModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectFunctionalityModelFieldsAll = Object.values(InformationSubjectFunctionalityModelFields);\n\nexport const InformationSubjectModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectModelFieldsAll = Object.values(InformationSubjectModelFields);\n\nexport const InformationSubjectProcessModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectProcessModelFieldsAll = Object.values(InformationSubjectProcessModelFields);\n\nexport const InformationSubjectSafetyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectSafetyModelFieldsAll = Object.values(InformationSubjectSafetyModelFields);\n\nexport const InformationSubjectSafetyWarningMessageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectSafetyWarningMessageModelFieldsAll = Object.values(InformationSubjectSafetyWarningMessageModelFields);\n\nexport const InformationSubjectTechnicalDataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectTechnicalDataModelFieldsAll = Object.values(InformationSubjectTechnicalDataModelFields);\n\nexport const InformationSubjectTechnicalOverviewModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationSubjectTechnicalOverviewModelFieldsAll = Object.values(InformationSubjectTechnicalOverviewModelFields);\n\nexport const InformationTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const InformationTypeModelFieldsAll = Object.values(InformationTypeModelFields);\n\nexport const InformationUnitModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const InformationUnitModelFieldsAll = Object.values(InformationUnitModelFields);\n\nexport const OwlClassModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const OwlClassModelFieldsAll = Object.values(OwlClassModelFields);\n\nexport const PackageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n iirdsVersion: \"iirdsVersion\",\n formatRestriction: \"formatRestriction\",\n directories: \"directories\",\n} as const;\n\nexport const PackageModelFieldsAll = Object.values(PackageModelFields);\n\nexport const PartyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n partyRole: \"partyRole\",\n vcard: \"vcard\",\n} as const;\n\nexport const PartyModelFieldsAll = Object.values(PartyModelFields);\n\nexport const PartyRoleModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const PartyRoleModelFieldsAll = Object.values(PartyRoleModelFields);\n\nexport const PlanningDownTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningDownTimeModelFieldsAll = Object.values(PlanningDownTimeModelFields);\n\nexport const PlanningMaintenanceIntervalModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n frequency: \"frequency\",\n} as const;\n\nexport const PlanningMaintenanceIntervalModelFieldsAll = Object.values(PlanningMaintenanceIntervalModelFields);\n\nexport const PlanningSetupTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningSetupTimeModelFieldsAll = Object.values(PlanningSetupTimeModelFields);\n\nexport const PlanningTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningTimeModelFieldsAll = Object.values(PlanningTimeModelFields);\n\nexport const PlanningWorkingTimeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n duration: \"duration\",\n} as const;\n\nexport const PlanningWorkingTimeModelFieldsAll = Object.values(PlanningWorkingTimeModelFields);\n\nexport const ProductFeatureModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductFeatureModelFieldsAll = Object.values(ProductFeatureModelFields);\n\nexport const ProductFunctionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductFunctionModelFieldsAll = Object.values(ProductFunctionModelFields);\n\nexport const ProductLcpAfterUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpAfterUseModelFieldsAll = Object.values(ProductLcpAfterUseModelFields);\n\nexport const ProductLcpDesignAndRealizationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpDesignAndRealizationModelFieldsAll = Object.values(ProductLcpDesignAndRealizationModelFields);\n\nexport const ProductLcpPuttingToUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpPuttingToUseModelFieldsAll = Object.values(ProductLcpPuttingToUseModelFields);\n\nexport const ProductLcpUseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLcpUseModelFieldsAll = Object.values(ProductLcpUseModelFields);\n\nexport const ProductLifeCyclePhaseModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductLifeCyclePhaseModelFieldsAll = Object.values(ProductLifeCyclePhaseModelFields);\n\nexport const ProductMetadataModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductMetadataModelFieldsAll = Object.values(ProductMetadataModelFields);\n\nexport const ProductPropertyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const ProductPropertyModelFieldsAll = Object.values(ProductPropertyModelFields);\n\nexport const ProductVariantModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n identities: \"identities\",\n parties: \"parties\",\n} as const;\n\nexport const ProductVariantModelFieldsAll = Object.values(ProductVariantModelFields);\n\nexport const QualificationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationModelFieldsAll = Object.values(QualificationModelFields);\n\nexport const QualificationRoleModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationRoleModelFieldsAll = Object.values(QualificationRoleModelFields);\n\nexport const QualificationSkillLevelModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const QualificationSkillLevelModelFieldsAll = Object.values(QualificationSkillLevelModelFields);\n\nexport const RenditionModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n source: \"source\",\n format: \"format\",\n identities: \"identities\",\n selectors: \"selectors\",\n informationUnits: \"informationUnits\",\n} as const;\n\nexport const RenditionModelFieldsAll = Object.values(RenditionModelFields);\n\nexport const RenditionSelectorModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n} as const;\n\nexport const RenditionSelectorModelFieldsAll = Object.values(RenditionSelectorModelFields);\n\nexport const SupplyConsumableModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyConsumableModelFieldsAll = Object.values(SupplyConsumableModelFields);\n\nexport const SupplyHardwareToolModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyHardwareToolModelFieldsAll = Object.values(SupplyHardwareToolModelFields);\n\nexport const SupplyLubricantModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyLubricantModelFieldsAll = Object.values(SupplyLubricantModelFields);\n\nexport const SupplyModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyModelFieldsAll = Object.values(SupplyModelFields);\n\nexport const SupplyOperatingModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplyOperatingModelFieldsAll = Object.values(SupplyOperatingModelFields);\n\nexport const SupplySparePartModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const SupplySparePartModelFieldsAll = Object.values(SupplySparePartModelFields);\n\nexport const TopicModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n revision: \"revision\",\n created: \"created\",\n modified: \"modified\",\n abstract: \"abstract\",\n replaces: \"replaces\",\n versionOf: \"versionOf\",\n titles: \"titles\",\n languages: \"languages\",\n parties: \"parties\",\n renditions: \"renditions\",\n identities: \"identities\",\n components: \"components\",\n informationSubjects: \"informationSubjects\",\n topicTypes: \"topicTypes\",\n documentTypes: \"documentTypes\",\n directoryNodes: \"directoryNodes\",\n contentLifeCycleStatus: \"contentLifeCycleStatus\",\n applicableForTypes: \"applicableForTypes\",\n planningTimes: \"planningTimes\",\n events: \"events\",\n functionalMetadata: \"functionalMetadata\",\n informationUnits: \"informationUnits\",\n productFeatures: \"productFeatures\",\n productLifeCyclePhases: \"productLifeCyclePhases\",\n productMetadata: \"productMetadata\",\n productVariants: \"productVariants\",\n qualifications: \"qualifications\",\n supplies: \"supplies\",\n} as const;\n\nexport const TopicModelFieldsAll = Object.values(TopicModelFields);\n\nexport const TopicTypeConceptModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeConceptModelFieldsAll = Object.values(TopicTypeConceptModelFields);\n\nexport const TopicTypeFormModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeFormModelFieldsAll = Object.values(TopicTypeFormModelFields);\n\nexport const TopicTypeLearningModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeLearningModelFieldsAll = Object.values(TopicTypeLearningModelFields);\n\nexport const TopicTypeModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeModelFieldsAll = Object.values(TopicTypeModelFields);\n\nexport const TopicTypeReferenceModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeReferenceModelFieldsAll = Object.values(TopicTypeReferenceModelFields);\n\nexport const TopicTypeTaskModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeTaskModelFieldsAll = Object.values(TopicTypeTaskModelFields);\n\nexport const TopicTypeTroubleShootingModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n} as const;\n\nexport const TopicTypeTroubleShootingModelFieldsAll = Object.values(TopicTypeTroubleShootingModelFields);\n\nexport const VCardCalendarModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n source: \"source\",\n} as const;\n\nexport const VCardCalendarModelFieldsAll = Object.values(VCardCalendarModelFields);\n\nexport const VCardGroupModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n members: \"members\",\n} as const;\n\nexport const VCardGroupModelFieldsAll = Object.values(VCardGroupModelFields);\n\nexport const VCardImageModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n classes: \"classes\",\n value: \"value\",\n source: \"source\",\n} as const;\n\nexport const VCardImageModelFieldsAll = Object.values(VCardImageModelFields);\n\nexport const VCardIndividualModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n title: \"title\",\n role: \"role\",\n gender: \"gender\",\n} as const;\n\nexport const VCardIndividualModelFieldsAll = Object.values(VCardIndividualModelFields);\n\nexport const VCardInfoModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n classes: \"classes\",\n value: \"value\",\n countryName: \"countryName\",\n locality: \"locality\",\n postalCode: \"postalCode\",\n streetAddress: \"streetAddress\",\n} as const;\n\nexport const VCardInfoModelFieldsAll = Object.values(VCardInfoModelFields);\n\nexport const VCardLocationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n members: \"members\",\n} as const;\n\nexport const VCardLocationModelFieldsAll = Object.values(VCardLocationModelFields);\n\nexport const VCardModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n} as const;\n\nexport const VCardModelFieldsAll = Object.values(VCardModelFields);\n\nexport const VCardOrganizationModelFields = {\n id: \"id\",\n shortId: \"shortId\",\n score: \"score\",\n class: \"class\",\n labels: \"labels\",\n comments: \"comments\",\n descriptions: \"descriptions\",\n synonyms: \"synonyms\",\n packages: \"packages\",\n links: \"links\",\n fullName: \"fullName\",\n photos: \"photos\",\n emails: \"emails\",\n telephones: \"telephones\",\n addresses: \"addresses\",\n calendars: \"calendars\",\n urls: \"urls\",\n organizationName: \"organizationName\",\n organizationUnit: \"organizationUnit\",\n members: \"members\",\n logos: \"logos\",\n} as const;\n\nexport const VCardOrganizationModelFieldsAll = Object.values(VCardOrganizationModelFields);\n","export * from './generated/model-fields'\n\nexport const ALL = \"*\"\n\nexport const LOG_CATEGORIES = [\n \"NoLicense\",\n \"Scenario\",\n \"Favorites\",\n \"Subscription\",\n \"Share\",\n \"Document\",\n \"Search\",\n \"History\",\n \"Notification\",\n \"UserProfile\",\n] as const;\n\nexport const LOG_LEVELS = {\n critical: 2,\n error: 3,\n warning: 4,\n info: 6,\n debug: 7,\n} as const;\n\nexport const RESULT_VIEW_STYLES = [\n \"cards\",\n \"table\",\n \"table-with-images\",\n] as const;\n\nexport const API = {\n MAX_RETRY: 3,\n API_TIMEOUT: 10000,\n RETRY_DELAY: 500,\n API_HEADERS: {\n \"content-Type\": \"application/json\",\n },\n};\n\nexport const SDK_CONFIG_KEY = \"crex-sdk-config\";\n\nexport const AVAILABLE_CONTENT_LANG_KEY = \"AVAILABLE_CONTENT_LANG_KEY\";\n\nexport const UI_LANG_KEY = \"UI_LANG_KEY\";\n\nexport const FLAGS_BY_LANG = {\n \"en\": \"US\",\n \"de\": \"DE\",\n};\n\nexport const DEFAULT_LANG = \"en-US\";\n\nexport const EN_LANG = \"en\";\n\nexport const UI_LANG_OPTIONS = [\"en-us\", \"de-de\"];\n\nexport const TOPICS_TYPE_AND_LINK = \"topics\";\nexport const BLOG_TYPE_AND_LINK = \"blog\";\nexport const DOCUMENTS_TYPE_AND_LINK = \"documents\";\n\nexport const TOPIC = \"TOPIC\";\nexport const DOCUMENT = \"DOCUMENT\";\nexport const PACKAGE = \"PACKAGE\";\nexport const FRAGMENT = \"FRAGMENT\";\n\nexport const RESULT_TYPES = {\n TOPIC: TOPIC,\n DOCUMENT: DOCUMENT,\n PACKAGE: PACKAGE,\n FRAGMENT: FRAGMENT\n} as const;\n\nexport const FILES_EXTENSIONS = {\n PDF: \"application/pdf\",\n HTML: \"text/html\",\n} as const;\n\nexport const DEFAULT_COOKIE_LIMIT = 30 * 24 * 60 * 60 * 1000; // 30 days in milliseconds\n\nexport const ICONS_BY_FILE_EXTENSION = {\n \"application/pdf\": \"FaFilePdf\",\n} as const;\n\nexport const DEFAULT_ICON = \"file\";\n\nexport const CREX_TOKEN_HEADER_KEY = \"crex-token\";\n\nexport const WILD_CARD_OPTIONS = {\n BOTH: \"BOTH\",\n END: \"END\",\n START: \"START\",\n NONE: \"NONE\",\n} as const;\n\nexport const OPERATOR_OPTIONS = {\n AND: \"AND\",\n OR: \"OR\",\n} as const;\n\nexport const ARTICLE_PAGE_LAYOUT = {\n BLOG: \"BLOG\",\n DOCUMENT: \"DOCUMENT\",\n} as const;\n\nexport const DEVICE_OPTIONS = {\n MOBILE: \"mobile\",\n TABLET: \"tablet\",\n DESKTOP: \"desktop\",\n}\nexport const BREAKPOINTS = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n \"2xl\": 1536,\n};\n\nexport const MARKER_COLORS = [\n \"red-500\",\n \"orange-500\",\n \"yellow-400\",\n \"green-500\",\n \"teal-500\",\n \"blue-500\",\n \"sky-500\",\n \"purple-500\",\n \"pink-500\",\n \"gray-500\",\n \"neutral-800\",\n \"cyan-500\",\n \"lime-500\",\n \"amber-500\",\n \"indigo-500\",\n];","import Transport from \"winston-transport\";\nimport Graylog2Transport from \"winston-graylog2\";\nimport { LogCategoriesType, LogLevelType } from \"@c-rex/types\";\nimport { ALL } from \"@c-rex/constants\";\nimport { ConfigInterface } from \"@c-rex/interfaces\";\n\n/**\n * Winston transport for sending logs to Graylog.\n * Extends the base Winston transport with Graylog-specific functionality.\n */\nexport class GraylogTransport extends Transport {\n public graylogTransport: any;\n private configs: ConfigInterface\n\n /**\n * Creates a new instance of GraylogTransport.\n * \n * @param configs - The application configuration containing logging settings\n */\n constructor(configs: ConfigInterface) {\n if (!configs.logs.graylog.hostname || configs.logs.graylog.port === undefined) {\n throw new Error(\"Graylog hostname and port must be defined\");\n }\n\n super({\n level: configs.logs.graylog.minimumLevel,\n silent: configs.logs.graylog.silent,\n });\n\n this.configs = configs;\n this.graylogTransport = new Graylog2Transport({\n name: configs.logs.graylog.app,\n silent: configs.logs.graylog.silent,\n handleExceptions: false,\n graylog: {\n servers: [\n { host: configs.logs.graylog.hostname, port: configs.logs.graylog.port }\n ],\n },\n });\n }\n\n /**\n * Logs a message to Graylog if the message category is included in the configured categories.\n * \n * @param info - The log information including level, message, and category\n * @param callback - Callback function to execute after logging\n */\n log(\n info: { level: LogLevelType, message: string, category: LogCategoriesType },\n callback: () => void,\n ): void {\n const graylogCategory = this.configs.logs.graylog.categoriesLevel\n\n if (graylogCategory.includes(info.category) || graylogCategory.includes(ALL)) {\n this.graylogTransport.log(info, callback);\n }\n }\n}\n","import { WarningVars } from \"@c-rex/types\";\nimport { logInfo, OIDCInterface } from \"@c-rex/interfaces\";\nimport { LogLevelType } from \"@c-rex/types\";\nimport { LogCategoriesType } from \"@c-rex/types\";\n\nconst formatIssuer = (issuer: string): string => {\n let newIssuer = issuer\n const lastChar = newIssuer.charAt(newIssuer.length - 1)\n if (lastChar !== \"/\") {\n newIssuer += \"/\"\n }\n newIssuer += \".well-known/openid-configuration\"\n\n return newIssuer;\n}\nexport const formatApiUrl = (apiUrl: string): string => {\n let newApiUrl = apiUrl\n const lastChar = newApiUrl.charAt(newApiUrl.length - 1)\n if (lastChar !== \"/\") {\n newApiUrl += \"/\"\n }\n if (!newApiUrl.includes(\"iirds/v1/\")) {\n newApiUrl += \"iirds/v1/\"\n }\n\n return newApiUrl;\n}\n\nexport const mergeConfigs = <T>(defaultConfig: Partial<T>, envVars: Partial<T>): T => {\n const definedEnvVars: T = {} as T;\n\n for (const key in envVars) {\n if (envVars[key] !== undefined) {\n definedEnvVars[key] = envVars[key];\n }\n }\n\n return {\n ...defaultConfig,\n ...definedEnvVars,\n };\n}\n\nexport const generateWarnings = (vars: WarningVars[]): string[] => {\n\n const warnings: string[] = []\n\n vars.forEach((variable) => {\n const value = process.env[variable.key];\n if (value === undefined) {\n warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`)\n }\n })\n\n return warnings;\n}\n\nexport const createUserOIDCConfig = (): { user: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const userDefaults: Partial<OIDCInterface> = {\n secret: \"dummy\",\n scope: \"openid profile crex.ids.api crex.ids.api.public\",\n enabled: true,\n }\n const userEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_CLIENT_ID,\n secret: process.env.CREX_IDS_CLIENT_SECRET,\n scope: process.env.CREX_IDS_USER_SCOPES,\n issuer: process.env.OIDC_ISSUER == undefined ? undefined : formatIssuer(process.env.OIDC_ISSUER),\n enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_USER_LOGIN_ENABLE == \"true\",\n }\n const user: OIDCInterface = mergeConfigs<OIDCInterface>(userDefaults, userEnvs);\n\n if (user.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_CLIENT_ID\", value: process.env.CREX_IDS_CLIENT_ID },\n { key: \"OIDC_ISSUER\", value: process.env.OIDC_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n user.enabled = false\n\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n\n }\n\n if (user.enabled) {\n const userWarningVars = [\n { key: \"CREX_IDS_USER_SCOPES\", default: user.scope },\n { key: \"CREX_IDS_CLIENT_SECRET\", default: user.secret },\n { key: \"CREX_IDS_USER_LOGIN_ENABLE\", default: user.enabled }\n ]\n const aux = generateWarnings(userWarningVars)\n warnings.push(...aux);\n }\n\n return { user, warnings }\n}\n\nexport const createClientOIDCConfig = (): { client: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const clientDefault: Partial<OIDCInterface> = {\n secret: \"dummy\",\n enabled: true,\n }\n const clientEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_CLIENT_ID,\n issuer: process.env.OIDC_ISSUER == undefined ? undefined : formatIssuer(process.env.OIDC_ISSUER),\n secret: process.env.CREX_IDS_CLIENT_SECRET,\n enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == \"true\",\n }\n const client: OIDCInterface = mergeConfigs<OIDCInterface>(clientDefault, clientEnvs);\n\n if (client.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_CLIENT_ID\", value: process.env.CREX_IDS_CLIENT_ID },\n { key: \"OIDC_ISSUER\", value: process.env.OIDC_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n client.enabled = false\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n }\n\n if (client.enabled) {\n const clientWarningVars = [\n { key: \"CREX_IDS_CLIENT_SECRET\", default: client.secret },\n { key: \"CREX_IDS_CLIENT_LOGIN_ENABLE\", default: client.enabled }\n ]\n\n const aux = generateWarnings(clientWarningVars)\n warnings.push(...aux);\n }\n\n return { client, warnings }\n}\n\nexport const createConsoleLoggerConfig = (): { consoleLogger: Omit<logInfo, \"hostname\" | \"app\" | \"categoriesLevel\">, warnings: string[]; } => {\n const warnings: string[] = []\n\n const consoleLoggerDefaults: Partial<logInfo> = {\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n }\n const consoleLoggerEnvs: Partial<logInfo> = {\n minimumLevel: process.env.LOG_CONSOLE_LEVEL as LogLevelType,\n silent: process.env.LOG_CONSOLE_SILENT == undefined ? undefined : process.env.LOG_CONSOLE_SILENT == \"true\",\n }\n const consoleLogger: logInfo = mergeConfigs<logInfo>(consoleLoggerDefaults, consoleLoggerEnvs);\n\n if (consoleLogger.silent == false) {\n const consoleWarningsVars = [\n { key: \"LOG_CONSOLE_SILENT\", default: consoleLogger.silent },\n { key: \"LOG_CONSOLE_LEVEL\", default: consoleLogger.minimumLevel }\n ]\n const aux = generateWarnings(consoleWarningsVars)\n warnings.push(...aux);\n }\n\n return {\n consoleLogger,\n warnings\n }\n}\n\nexport const createGraylogLoggerConfig = (projectName: string): { graylog: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const graylogDefaults: Partial<logInfo> = {\n app: `NextJs-Project-${projectName}`,\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n hostname: \"https://log.c-rex.net\",\n port: 12202,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const graylogEnvs: Partial<logInfo> = {\n app: process.env.LOG_GRAYLOG_APP_NAME,\n silent: process.env.LOG_GRAYLOG_SILENT == undefined ? undefined : process.env.LOG_GRAYLOG_SILENT == \"true\",\n hostname: process.env.LOG_GRAYLOG_HOSTNAME,\n port: process.env.LOG_GRAYLOG_PORT == undefined ? undefined : Number(process.env.LOG_GRAYLOG_PORT),\n minimumLevel: process.env.LOG_GRAYLOG_LEVEL as any,\n categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == undefined ? undefined : process.env.LOG_GRAYLOG_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const graylog: logInfo = mergeConfigs<logInfo>(graylogDefaults, graylogEnvs);\n\n if (graylog.silent == false) {\n const graylogWarningVars = [\n { key: \"LOG_GRAYLOG_APP_NAME\", default: graylog.app },\n { key: \"LOG_GRAYLOG_HOSTNAME\", default: graylog.hostname },\n { key: \"LOG_GRAYLOG_LEVEL\", default: graylog.minimumLevel },\n { key: \"LOG_GRAYLOG_SILENT\", default: graylog.silent },\n { key: \"LOG_GRAYLOG_CATEGORIES\", default: graylog.categoriesLevel },\n { key: \"LOG_GRAYLOG_PORT\", default: graylog.port }\n ]\n const aux = generateWarnings(graylogWarningVars)\n warnings.push(...aux);\n }\n\n return {\n graylog,\n warnings\n }\n}\n\nexport const createMatomoLoggerConfig = (projectName: string): { matomo: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const matomoDefaults: Partial<logInfo> = {\n app: `NextJs-Project-${projectName}`,\n minimumLevel: \"info\" as LogLevelType,\n silent: true,\n hostname: \"\",\n port: 0,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const matomoEnvs: Partial<logInfo> = {\n app: process.env.LOG_MATOMO_APP_NAME,\n silent: process.env.LOG_MATOMO_SILENT == undefined ? undefined : process.env.LOG_MATOMO_SILENT == \"true\",\n hostname: process.env.LOG_MATOMO_HOSTNAME,\n port: process.env.LOG_MATOMO_PORT == undefined ? undefined : Number(process.env.LOG_MATOMO_PORT),\n minimumLevel: process.env.LOG_MATOMO_LEVEL as any,\n categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == undefined ? undefined : process.env.LOG_MATOMO_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const matomo: logInfo = mergeConfigs<logInfo>(matomoDefaults, matomoEnvs);\n\n\n const matomoSilentVars = [\n { key: \"LOG_MATOMO_SILENT\", value: process.env.LOG_MATOMO_SILENT },\n { key: \"LOG_MATOMO_HOSTNAME\", value: process.env.LOG_MATOMO_HOSTNAME },\n { key: \"LOG_MATOMO_PORT\", value: process.env.LOG_MATOMO_PORT }\n ]\n matomoSilentVars.forEach((variable) => {\n if (variable.value === undefined) {\n matomo.silent = true\n warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`)\n }\n })\n\n if (matomo.silent == false) {\n const matomoWarningVars = [\n { key: \"LOG_MATOMO_APP_NAME\", default: matomo.app },\n { key: \"LOG_MATOMO_LEVEL\", default: matomo.minimumLevel },\n { key: \"LOG_MATOMO_CATEGORIES\", default: matomo.categoriesLevel }\n ]\n const aux = generateWarnings(matomoWarningVars)\n warnings.push(...aux);\n }\n\n return {\n matomo,\n warnings\n }\n}\n\n","import { ConfigInterface, CookiesConfigs, CustomerConfig } from \"@c-rex/interfaces\";\nimport {\n createClientOIDCConfig,\n createConsoleLoggerConfig,\n createGraylogLoggerConfig,\n createMatomoLoggerConfig,\n createUserOIDCConfig,\n formatApiUrl\n} from \"./utils\";\nimport { cookies } from \"next/headers\";\nimport { SDK_CONFIG_KEY } from \"@c-rex/constants\";\n\ndeclare global {\n // eslint-disable-next-line no-var\n var __GLOBAL_CONFIG__: ConfigInterface | null;\n}\n\n/**\n * SDK class for the CREX application.\n * Provides configuration and authentication functionality.\n */\nexport class CrexSDK {\n public userAuthConfig!: any;\n public customerConfig!: ConfigInterface;\n public cookiesConfig!: CookiesConfigs;\n\n public async getUserAuthConfig() {\n if (this.userAuthConfig) {\n return this.userAuthConfig;\n }\n\n if (!this.customerConfig) {\n this.customerConfig = this.getServerConfig()\n }\n\n const user = this.customerConfig.OIDC.user;\n const userInfoEndPoint = this.customerConfig.OIDC.issuerMetadata?.userinfo_endpoint;\n if (user.enabled) {\n this.userAuthConfig = {\n providers: [\n {\n id: \"crex\",\n name: \"CREX\",\n type: \"oauth\",\n version: \"2.0\",\n clientId: user.id,\n wellKnown: user.issuer,\n clientSecret: user.secret,\n authorization: {\n params: {\n scope: user.scope,\n prompt: \"login\"\n }\n },\n idToken: true,\n checks: [\"pkce\", \"state\"],\n async profile(_: any, tokens: any) {\n const res = await fetch(userInfoEndPoint, {\n headers: {\n Authorization: `Bearer ${tokens.access_token}`,\n },\n });\n\n const userinfo = await res.json();\n\n return {\n id: userinfo.sub,\n name: userinfo.name,\n email: userinfo.email,\n };\n },\n callbacks: {\n async jwt({ token, account }: any) {\n if (account) {\n token.id_token = account.id_token;\n }\n return token;\n },\n async session({ session, token }: any) {\n session.id_token = token.id_token;\n return session;\n },\n },\n },\n ]\n }\n };\n\n return this.userAuthConfig;\n }\n\n public createCustomerConfig(CUSTOMER_CONFIG: CustomerConfig, shouldLog: boolean): { cookiesConfig: CookiesConfigs, config: ConfigInterface } {\n\n const requiredEnvVars = [\"CREX_IDS_API_URL\", \"NEXT_PUBLIC_API_URL\"]\n const required = requiredEnvVars.map(key => {\n const value = process.env[key];\n if (value === undefined) {\n return `Missing required environment variable: ${key}`;\n }\n\n return \"\"\n }).filter(item => item.length > 0)\n\n const { user, warnings: userWarnings } = createUserOIDCConfig()\n const { client, warnings: clientWarnings } = createClientOIDCConfig()\n const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig(CUSTOMER_CONFIG.projectName)\n const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig(CUSTOMER_CONFIG.projectName)\n const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig()\n\n const warnings = required.concat(\n consoleWarnings,\n clientWarnings,\n userWarnings,\n graylogWarnings,\n matomoWarnings\n )\n\n if (shouldLog) {\n if (warnings.length > 0) console.warn(warnings.join('\\n'));\n }\n\n const cookiesConfig: CookiesConfigs = {\n publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL!,\n ...CUSTOMER_CONFIG,\n OIDC: {\n clientEnabled: client.enabled,\n userEnabled: user.enabled,\n },\n }\n\n const config: ConfigInterface = {\n baseUrl: process.env.CREX_IDS_API_URL == undefined ? \"\" : formatApiUrl(process.env.CREX_IDS_API_URL),\n OIDC: { client, user },\n logs: { console: consoleLogger, graylog, matomo, },\n ...CUSTOMER_CONFIG,\n }\n\n return { cookiesConfig, config };\n }\n\n public getClientConfig = (): CookiesConfigs => {\n const jsonConfigs = cookies().get(SDK_CONFIG_KEY)?.value;\n if (!jsonConfigs) {\n throw new Error('Configs not found');\n }\n\n const configs: CookiesConfigs = JSON.parse(jsonConfigs);\n\n return configs;\n }\n\n public getServerConfig() {\n if (!global.__GLOBAL_CONFIG__) {\n throw new Error('Server config not initialized');\n }\n return global.__GLOBAL_CONFIG__;\n }\n\n public initializeConfig(config: ConfigInterface) {\n if (global.__GLOBAL_CONFIG__) return global.__GLOBAL_CONFIG__;\n global.__GLOBAL_CONFIG__ = config;\n return global.__GLOBAL_CONFIG__;\n }\n\n public updateConfigProp(key: keyof ConfigInterface, value: any) {\n if (!global.__GLOBAL_CONFIG__) {\n throw new Error('Server config not initialized');\n }\n global.__GLOBAL_CONFIG__[key] = value;\n return global.__GLOBAL_CONFIG__;\n }\n}"],"mappings":"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","names":["Transport","import_winston_transport","Transport","Graylog2Transport","winston"]}
|