@solidxai/core 0.1.10-beta.3 → 0.1.10-beta.5
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/controllers/action-metadata.controller.js +1 -1
- package/dist/controllers/action-metadata.controller.js.map +1 -1
- package/dist/controllers/facebook-authentication.controller.js +1 -1
- package/dist/controllers/facebook-authentication.controller.js.map +1 -1
- package/dist/controllers/google-authentication.controller.js +1 -1
- package/dist/controllers/google-authentication.controller.js.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.js +1 -1
- package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
- package/dist/controllers/microsoft-authentication.controller.js +1 -1
- package/dist/controllers/microsoft-authentication.controller.js.map +1 -1
- package/dist/controllers/mq-message-queue.controller.js +1 -1
- package/dist/controllers/mq-message-queue.controller.js.map +1 -1
- package/dist/controllers/mq-message.controller.js +1 -1
- package/dist/controllers/mq-message.controller.js.map +1 -1
- package/dist/controllers/view-metadata.controller.js +1 -1
- package/dist/controllers/view-metadata.controller.js.map +1 -1
- package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message-details.entity.js +0 -1
- package/dist/entities/chatter-message-details.entity.js.map +1 -1
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/chatter-queue-subscriber-database.service.js +3 -3
- package/dist/jobs/database/chatter-queue-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js +3 -3
- package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js.map +1 -1
- package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts.map +1 -1
- package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js +3 -3
- package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js.map +1 -1
- package/dist/repository/security-rule.repository.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +13 -2
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +5 -5
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +6 -3
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +23 -35
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/csv.service.js.map +1 -1
- package/dist/services/dashboard.service.js.map +1 -1
- package/dist/services/database/database-bootstrap.service.js.map +1 -1
- package/dist/services/excel.service.js.map +1 -1
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/fixtures.service.js.map +1 -1
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +3 -13
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/queues/database-publisher.service.js +3 -3
- package/dist/services/queues/database-publisher.service.js.map +1 -1
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-publisher.service.js +3 -3
- package/dist/services/queues/rabbitmq-publisher.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/queues/redis-publisher.service.d.ts.map +1 -1
- package/dist/services/queues/redis-publisher.service.js +4 -1
- package/dist/services/queues/redis-publisher.service.js.map +1 -1
- package/dist/services/queues/redis-subscriber.service.js.map +1 -1
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +58 -8
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +21 -4
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/sms/TwilioSMSService.js.map +1 -1
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/user-activity-history.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +17 -2
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/security-rule.subscriber.d.ts.map +1 -1
- package/dist/subscribers/security-rule.subscriber.js.map +1 -1
- package/dist/subscribers/view-metadata.subscriber.js.map +1 -1
- package/dist/testing/core/testing-engine.js.map +1 -1
- package/dist/testing/reporter/webhook-reporter.js.map +1 -1
- package/dist-tests/api/authenticate.spec.js +119 -0
- package/dist-tests/api/authenticate.spec.js.map +1 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
- package/dist-tests/api/ping.spec.js +21 -0
- package/dist-tests/api/ping.spec.js.map +1 -0
- package/dist-tests/helpers/auth.js +41 -0
- package/dist-tests/helpers/auth.js.map +1 -0
- package/dist-tests/helpers/env.js +11 -0
- package/dist-tests/helpers/env.js.map +1 -0
- package/docs/grouping-enhancements.md +89 -0
- package/docs/java-spring/README.md +3 -0
- package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
- package/docs/seed-changes.md +65 -0
- package/docs/test-data-workflow.md +200 -0
- package/docs/type-declaration-import-issue.md +24 -0
- package/package.json +1 -1
- package/src/controllers/action-metadata.controller.ts +1 -1
- package/src/controllers/facebook-authentication.controller.ts +1 -1
- package/src/controllers/google-authentication.controller.ts +1 -1
- package/src/controllers/menu-item-metadata.controller.ts +1 -1
- package/src/controllers/microsoft-authentication.controller.ts +1 -1
- package/src/controllers/mq-message-queue.controller.ts +1 -1
- package/src/controllers/mq-message.controller.ts +1 -1
- package/src/controllers/view-metadata.controller.ts +1 -1
- package/src/entities/chatter-message-details.entity.ts +1 -2
- package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +1 -1
- package/src/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.ts +1 -1
- package/src/helpers/module-metadata-helper.service.ts +1 -1
- package/src/jobs/database/chatter-queue-subscriber-database.service.ts +4 -2
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
- package/src/jobs/rabbitmq/chatter-queue-subscriber.service.ts +4 -2
- package/src/jobs/redis/chatter-queue-subscriber-redis.service.ts +10 -3
- package/src/repository/security-rule.repository.ts +1 -1
- package/src/seeders/module-metadata-seeder.service.ts +4 -4
- package/src/seeders/permission-metadata-seeder.service.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +13 -2
- package/src/services/authentication.service.ts +19 -31
- package/src/services/chatter-message.service.ts +28 -38
- package/src/services/crud.service.ts +1 -1
- package/src/services/csv.service.ts +1 -1
- package/src/services/dashboard.service.ts +1 -1
- package/src/services/database/database-bootstrap.service.ts +1 -1
- package/src/services/excel.service.ts +1 -1
- package/src/services/export-transaction.service.ts +2 -2
- package/src/services/field-metadata.service.ts +1 -1
- package/src/services/fixtures.service.ts +2 -2
- package/src/services/import-transaction.service.ts +2 -2
- package/src/services/list-of-values.service.ts +1 -1
- package/src/services/model-metadata.service.ts +22 -21
- package/src/services/module-metadata.service.ts +7 -7
- package/src/services/queues/database-publisher.service.ts +4 -4
- package/src/services/queues/database-subscriber.service.ts +1 -1
- package/src/services/queues/rabbitmq-publisher.service.ts +7 -7
- package/src/services/queues/rabbitmq-subscriber.service.ts +8 -8
- package/src/services/queues/redis-publisher.service.ts +7 -4
- package/src/services/queues/redis-subscriber.service.ts +4 -4
- package/src/services/role-metadata.service.ts +1 -1
- package/src/services/scheduled-jobs/scheduler.service.ts +5 -5
- package/src/services/settings/default-settings-provider.service.ts +21 -4
- package/src/services/sms/TwilioSMSService.ts +2 -2
- package/src/services/solid-introspect.service.ts +2 -2
- package/src/services/user-activity-history.service.ts +1 -1
- package/src/services/view-metadata.service.ts +25 -8
- package/src/subscribers/computed-entity-field.subscriber.ts +1 -1
- package/src/subscribers/security-rule.subscriber.ts +8 -8
- package/src/subscribers/view-metadata.subscriber.ts +1 -1
- package/src/testing/core/testing-engine.ts +2 -2
- package/src/testing/reporter/webhook-reporter.ts +1 -1
- package/.claude/settings.local.json +0 -15
- package/src/services/1.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-settings-provider.service.js","sourceRoot":"","sources":["../../../src/services/settings/default-settings-provider.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { Environment } from \"src/decorators/disallow-in-production.decorator\";\nimport { SettingsProvider } from \"src/decorators/settings-provider.decorator\";\nimport {\n ISettingsProvider,\n SettingDefinition,\n SettingLevel,\n} from \"src/interfaces\";\n\nexport const DEFAULT_MEDIA_UPLOAD_DIR = \"media-uploads\";\nexport const DEFAULT_MEDIA_FILE_STORAGE_DIR = \"media-files-storage\";\n\n// 1.\nconst getSolidCoreSettings = (isProd: boolean) =>\n [\n {\n moduleName: \"solid-core\",\n key: \"iamGoogleOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Google\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamFacebookOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Facebook\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamMicrosoftOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Microsoft\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authPagesLayout\",\n value: \"center\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Screen Layout\",\n group: \"authentication-settings\",\n sortOrder: 80,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Left\", value: \"left\" },\n { label: \"Center\", value: \"center\" },\n { label: \"Right\", value: \"right\" },\n ],\n },\n // Removed authPagesTheme as we are going to use the local storage based theme switching in the frontend instead of server side theme switching.\n // { moduleName: \"solid-core\", key: \"authPagesTheme\", value: \"light\", level: SettingLevel.SystemAdminEditable },\n {\n moduleName: \"solid-core\",\n key: \"appLogo\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"App Logo\",\n group: \"app-settings\",\n sortOrder: 10,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"companylogo\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Company Logo\",\n group: \"app-settings\",\n sortOrder: 20,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"favicon\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Favicon\",\n group: \"app-settings\",\n sortOrder: 30,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appLogoPosition\",\n value: \"in_form_view\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Logo Position\",\n group: \"app-settings\",\n sortOrder: 40,\n controlType: \"selectionStatic\",\n options: [\n { label: \"In Form View\", value: \"in_form_view\" },\n { label: \"In Image View\", value: \"in_image_view\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"showAuthContent\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Details On Authentication Screen\",\n group: \"app-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appTitle\",\n value: process.env.SOLID_APP_NAME || \"Solid App\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Title\",\n group: \"app-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appSubtitle\",\n value: process.env.SOLID_APP_SUBTITLE || \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Subtitle\",\n group: \"app-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appDescription\",\n value: process.env.SOLID_APP_DESCRIPTION || \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Description\",\n group: \"app-settings\",\n sortOrder: 80,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"showLegalLinks\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Legal Links\",\n group: \"app-settings\",\n sortOrder: 90,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appTnc\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Terms And Conditions Link\",\n group: \"app-settings\",\n sortOrder: 100,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appPrivacyPolicy\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Privacy Policy Link\",\n group: \"app-settings\",\n sortOrder: 110,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enableDarkMode\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Dark Mode\",\n group: \"app-settings\",\n sortOrder: 120,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"copyright\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Copyright\",\n group: \"app-settings\",\n sortOrder: 130,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enableUsername\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Username\",\n group: \"misc-settings\",\n sortOrder: 10,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enabledNotification\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Notification\",\n group: \"misc-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportEmail\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Email\",\n group: \"misc-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportDisplayName\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Display Name\",\n group: \"misc-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportIcon\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Icon\",\n group: \"misc-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenRightBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Right Banner Image\",\n group: \"authentication-settings\",\n sortOrder: 90,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenLeftBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Left Banner Image\",\n group: \"authentication-settings\",\n sortOrder: 100,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenCenterBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Center Background Image\",\n group: \"authentication-settings\",\n sortOrder: 110,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"solidXGenAiCodeBuilderConfig\",\n value: JSON.stringify({\n models: {\n default: {\n providerId: \"\",\n model: \"\",\n behavior: { streaming: false, custom: \"\" },\n },\n fast: {\n providerId: \"\",\n model: \"\",\n behavior: { streaming: false, custom: \"\" },\n },\n },\n providers: {},\n }),\n level: SettingLevel.SystemAdminEditable,\n encrypted: true,\n label: \"AI Code Builder Configuration\",\n description:\n \"Structured configuration for AI providers and model assignments.\",\n group: \"ai-settings\",\n sortOrder: 10,\n controlType: \"custom\",\n settingsWidget: \"solidXGenAiCodeBuilderConfigWidget\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appEncryptionKey\",\n value: process.env.APP_ENCRYPTION_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpEnabled\",\n value: process.env.MCP_ENABLED || false,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MCP Enabled\",\n group: \"ai-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpServerUrl\",\n value: process.env.MCP_SERVER_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MCP Server URL\",\n group: \"ai-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpApiKey\",\n value: process.env.MCP_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"dateTimeFormat\",\n value: process.env.DATE_TIME_FORMAT || \"YYYY-MM-DD HH:mm:ss\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Date Time Format\",\n group: \"system-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"dateFormat\",\n value: process.env.DATE_FORMAT || \"YYYY-MM-DD\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Date Format\",\n group: \"system-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"baseUrl\",\n value: process.env.BASE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Base URL\",\n group: \"system-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"solidAppWebsiteUrl\",\n value: process.env.SOLID_APP_WEBSITE_URL,\n level: SettingLevel.SystemAdminEditable,\n label: \"Solid App Website URL\",\n group: \"system-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n\n // app-builder-settings-provider.service.ts, app-builder.config.ts\n {\n moduleName: \"solid-core\",\n key: \"moduleMetadataSeederFiles\",\n value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? \"\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Module Metadata Seeder Files\",\n group: \"storage-settings\",\n sortOrder: 10,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"uploadDir\",\n value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Upload Directory\",\n group: \"storage-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"fileStorageDir\",\n value:\n process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR,\n level: SettingLevel.SystemAdminReadonly,\n label: \"File Storage Directory\",\n group: \"storage-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"defaultFileService\",\n value: process.env.DEFAULT_FILE_SERVICE ?? \"disk\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Default File Service\",\n group: \"storage-settings\",\n sortOrder: 40,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Disk\", value: \"disk\" },\n { label: \"S3\", value: \"s3\" },\n ],\n },\n\n // aws-s3-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_ACCESS_KEY\",\n value: process.env.S3_AWS_ACCESS_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_SECRET_KEY\",\n value: process.env.S3_AWS_SECRET_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_REGION_NAME\",\n value: process.env.S3_AWS_REGION_NAME,\n level: SettingLevel.SystemAdminReadonly,\n label: \"AWS Region Name\",\n group: \"storage-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_DEFAULT_BUCKET\",\n value: process.env.S3_DEFAULT_BUCKET,\n level: SettingLevel.SystemAdminReadonly,\n label: \"S3 Default Bucket\",\n group: \"storage-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n\n // email-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"emailProvider\",\n value: process.env.COMMON_EMAIL_PROVIDER ?? \"SMTPEMailService\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Email Provider\",\n group: \"email-settings\",\n sortOrder: 10,\n controlType: \"selectionStatic\",\n options: [\n { label: \"SMTP Email Service\", value: \"SMTPEMailService\" },\n { label: \"Elastic Email Service\", value: \"ElasticEmailService\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"emailTemplateSeederFiles\",\n value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Email Template Seeder Files\",\n group: \"email-settings\",\n sortOrder: 20,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"shouldQueueEmails\",\n value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queue Emails\",\n group: \"email-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailHost\",\n value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Host\",\n group: \"email-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailPort\",\n value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587),\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Port\",\n group: \"email-settings\",\n sortOrder: 50,\n controlType: \"numeric\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailUsername\",\n value: process.env.COMMON_SMTP_EMAIL_USERNAME,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Username\",\n group: \"email-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailPassword\",\n value: process.env.COMMON_SMTP_EMAIL_PASSWORD,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailFrom\",\n value:\n process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail From\",\n group: \"email-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"apiMailKey\",\n value: process.env.COMMON_API_EMAIL_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"apiMailFrom\",\n value: process.env.COMMON_EMAIL_FROM,\n level: SettingLevel.SystemAdminReadonly,\n label: \"API Mail From\",\n group: \"email-settings\",\n sortOrder: 80,\n controlType: \"shortText\",\n },\n\n // genai-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"ragServerUrl\",\n value: process.env.GENAI_RAG_SERVER_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"RAG Server URL\",\n group: \"ai-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"ragServerLogin\",\n value: process.env.GENAI_RAG_SERVER_LOGIN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"ragServerPassword\",\n value: process.env.GENAI_RAG_SERVER_PASSWORD,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpPythonExecutable\",\n value: process.env.MCP_PYTHON_EXECUTABLE,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpClient\",\n value: process.env.MCP_CLIENT,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpRestartTouchFile\",\n value: process.env.MCP_RESTART_TOUCH_FILE || \"tmp/restart.touch\",\n level: SettingLevel.SystemEnv,\n },\n\n // google-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"clientID\",\n value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Client ID\",\n group: \"oauth-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"clientSecret\",\n value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"callbackURL\",\n value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Callback URL\",\n group: \"oauth-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"redirectURL\",\n value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Redirect URL\",\n group: \"oauth-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n\n // facebook-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CLIENT_ID\",\n value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CLIENT_SECRET\",\n value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CALLBACK_URL\",\n value: process.env.IAM_FACEBOOK_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_REDIRECT_URL\",\n value: process.env.IAM_FACEBOOK_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n\n // microsoft-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CLIENT_ID\",\n value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CLIENT_SECRET\",\n value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_TENANT_ID\",\n value: process.env.IAM_MICROSOFT_OAUTH_TENANT_ID || \"common\",\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CALLBACK_URL\",\n value: process.env.IAM_MICROSOFT_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_REDIRECT_URL\",\n value: process.env.IAM_MICROSOFT_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n\n // iam-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"passwordLessAuth\",\n value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Less Authentication\",\n group: \"authentication-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordBasedAuth\",\n value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Based Authentication\",\n group: \"authentication-settings\",\n sortOrder: 10,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordlessRegistrationValidateWhat\",\n value: (\n process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? \"email\"\n ).trim(),\n level: SettingLevel.SystemAdminEditable,\n label: \"Registration Validation Type\",\n group: \"authentication-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordlessLoginValidateWhat\",\n value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? \"email\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Login Validation Type\",\n group: \"authentication-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"allowPublicRegistration\",\n value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Public Registration\",\n group: \"authentication-settings\",\n sortOrder: 60,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"activateUserOnRegistration\",\n value:\n (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Auto Activate User On Registration\",\n group: \"authentication-settings\",\n sortOrder: 70,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"autoLoginUserOnRegistration\",\n value:\n (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? \"false\") === \"true\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"otpExpiry\",\n value: parseInt(process.env.IAM_OTP_EXPIRY ?? \"10\"),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"forgotPasswordVerificationTokenExpiry\",\n value: parseInt(\n process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? \"10\",\n ),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"defaultRole\",\n value: process.env.IAM_DEFAULT_ROLE ?? \"Public\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Default Role\",\n group: \"authentication-settings\",\n sortOrder: 75,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"dummyOtp\",\n value: process.env.IAM_OTP_DUMMY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"dummyOtpUsers\",\n value: process.env.IAM_OTP_DUMMY_USERS,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"forgotPasswordSendVerificationTokenOn\",\n value:\n process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? \"email\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"maxFailedLoginAttempts\",\n value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? \"0\"),\n level: SettingLevel.SystemAdminReadonly,\n label: \"Max Failed Login Attempts\",\n group: \"authentication-settings\",\n sortOrder: 110,\n controlType: \"numeric\",\n },\n {\n moduleName: \"solid-core\",\n key: \"forceChangePasswordOnFirstLogin\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Force Change Password On First Login\",\n group: \"authentication-settings\",\n sortOrder: 120,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordRegex\",\n value:\n process.env.PASSWORD_REGEX ||\n \"^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[^\\\\da-zA-Z]).*$\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Password Regex\",\n group: \"authentication-settings\",\n sortOrder: 130,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordRegexErrorMessage\",\n value:\n process.env.PASSWORD_REGEX_ERROR_MESSAGE ||\n \"Password must contain at least one uppercase, one lowercase, one number, and one special character.\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Regex Error Message\",\n group: \"authentication-settings\",\n sortOrder: 140,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordComplexityDescription\",\n value:\n process.env.PASSWORD_COMPLEXITY_DESC ||\n \"Password must contain at least one uppercase, one lowercase, one number, and one special character.\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Complexity Description\",\n group: \"authentication-settings\",\n sortOrder: 150,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamAutoGeneratedPassword\",\n value: process.env.IAM_AUTOGENERATED_PASSWORD || true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Auto Generate Password\",\n group: \"authentication-settings\",\n sortOrder: 160,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordPepper\",\n value: process.env.IAM_PASSWORD_PEPPER || \"\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"showNameFieldsForRegistration\",\n value:\n process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === \"true\"\n ? true\n : false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Name Fields For Registration\",\n group: \"authentication-settings\",\n sortOrder: 170,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"sendWelcomeEmailOnSignup\",\n value:\n (\n process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? \"false\"\n ).toLowerCase() === \"true\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"sendWelcomeSmsOnSignup\",\n value:\n (\n process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? \"false\"\n ).toLowerCase() === \"true\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"frontendLoginPageUrl\",\n value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Login Page URL\",\n group: \"authentication-settings\",\n sortOrder: 180,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"frontendForgotPasswordPageUrl\",\n value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Forgot Password Page URL\",\n group: \"authentication-settings\",\n sortOrder: 190,\n controlType: \"shortText\",\n },\n\n // jwt-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"secret\",\n value: process.env.IAM_JWT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"audience\",\n value: process.env.IAM_JWT_TOKEN_AUDIENCE,\n level: SettingLevel.SystemAdminReadonly,\n label: \"JWT Audience\",\n group: \"jwt-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"issuer\",\n value: process.env.IAM_JWT_TOKEN_ISSUER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"JWT Issuer\",\n group: \"jwt-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"accessTokenTtl\",\n value: parseInt(\n process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? \"1200\" : \"86400\"),\n 10,\n ),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"refreshTokenTtl\",\n value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? \"604800\", 10),\n level: SettingLevel.SystemEnv,\n },\n\n // queues-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"queuesDefaultBroker\",\n value: process.env.QUEUES_DEFAULT_BROKER || \"database\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queues Default Broker\",\n group: \"queue-settings\",\n sortOrder: 10,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Database\", value: \"database\" },\n { label: \"RabbitMQ\", value: \"rabbitmq\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"queuesServiceRole\",\n value: process.env.QUEUES_SERVICE_ROLE,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queues Service Role\",\n group: \"queue-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"queuesRabbitMqUrl\",\n value: process.env.QUEUES_RABBIT_MQ_URL,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"solidCliRunning\",\n value: process.env.SOLID_CLI_RUNNING || \"false\",\n level: SettingLevel.SystemEnv,\n },\n\n // sms-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"smsProvider\",\n value: process.env.COMMON_SMS_PROVIDER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMS Provider\",\n group: \"sms-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smsTemplateSeederFiles\",\n value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMS Template Seeder Files\",\n group: \"sms-settings\",\n sortOrder: 20,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"shouldQueueSms\",\n value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queue SMS\",\n group: \"sms-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91SmsUrl\",\n value: process.env.COMMON_MSG91_SMS_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 SMS URL\",\n group: \"sms-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91SmsApiKey\",\n value: process.env.COMMON_MSG91_SMS_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioAccountSid\",\n value: process.env.COMMON_TWILIO_ACCOUNT_SID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Twilio Account SID\",\n group: \"sms-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioAuthToken\",\n value: process.env.COMMON_TWILIO_AUTH_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioNumber\",\n value: process.env.COMMON_TWILIO_NUMBER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Twilio Number\",\n group: \"sms-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n\n // tiny-url-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlApiUrl\",\n value: process.env.COMMON_SHORT_URL_API_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL API URL\",\n group: \"short-url-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlApiKey\",\n value: process.env.COMMON_SHORT_URL_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlDomain\",\n value: process.env.COMMON_SHORT_URL_DOMAIN,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL Domain\",\n group: \"short-url-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlEnabled\",\n value: (process.env.COMMON_SHORT_URL_ENABLED ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL Enabled\",\n group: \"short-url-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n\n // whatsapp-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"whatsappProvider\",\n value: process.env.COMMON_WHATSAPP_PROVIDER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"WhatsApp Provider\",\n group: \"whatsapp-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappUrl\",\n value: process.env.COMMON_WHATSAPP_API_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 WhatsApp URL\",\n group: \"whatsapp-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappApiKey\",\n value: process.env.COMMON_WHATSAPP_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappIntegratedNumber\",\n value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 WhatsApp Integrated Number\",\n group: \"whatsapp-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n ] as const satisfies SettingDefinition[];\n\n// 2.\nexport type SolidCoreSetting = ReturnType<\n typeof getSolidCoreSettings\n>[number][\"key\"];\n\n// 3.\n@SettingsProvider()\n@Injectable()\nexport class SolidCoreDefaultSettingsProvider implements ISettingsProvider {\n getSettings() {\n const isProd = (process.env.ENV as Environment) === Environment.Production;\n return getSolidCoreSettings(isProd);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"default-settings-provider.service.js","sourceRoot":"","sources":["../../../src/services/settings/default-settings-provider.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { Environment } from \"src/decorators/disallow-in-production.decorator\";\nimport { SettingsProvider } from \"src/decorators/settings-provider.decorator\";\nimport {\n ISettingsProvider,\n SettingDefinition,\n SettingLevel,\n} from \"src/interfaces\";\n\nexport const DEFAULT_MEDIA_UPLOAD_DIR = \"media-uploads\";\nexport const DEFAULT_MEDIA_FILE_STORAGE_DIR = \"media-files-storage\";\n\n// 1.\nconst getSolidCoreSettings = (isProd: boolean) =>\n [\n {\n moduleName: \"solid-core\",\n key: \"iamGoogleOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Google\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamFacebookOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Facebook\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamMicrosoftOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Microsoft\",\n group: \"authentication-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authPagesLayout\",\n value: \"center\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Screen Layout\",\n group: \"authentication-settings\",\n sortOrder: 80,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Left\", value: \"left\" },\n { label: \"Center\", value: \"center\" },\n { label: \"Right\", value: \"right\" },\n ],\n },\n // Removed authPagesTheme as we are going to use the local storage based theme switching in the frontend instead of server side theme switching.\n // { moduleName: \"solid-core\", key: \"authPagesTheme\", value: \"light\", level: SettingLevel.SystemAdminEditable },\n {\n moduleName: \"solid-core\",\n key: \"appLogo\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"App Logo\",\n group: \"app-settings\",\n sortOrder: 10,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"companylogo\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Company Logo\",\n group: \"app-settings\",\n sortOrder: 20,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"favicon\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Favicon\",\n group: \"app-settings\",\n sortOrder: 30,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appLogoPosition\",\n value: \"in_form_view\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Logo Position\",\n group: \"app-settings\",\n sortOrder: 40,\n controlType: \"selectionStatic\",\n options: [\n { label: \"In Form View\", value: \"in_form_view\" },\n { label: \"In Image View\", value: \"in_image_view\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"showAuthContent\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Details On Authentication Screen\",\n group: \"app-settings\",\n sortOrder: 50,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appTitle\",\n value: process.env.SOLID_APP_NAME || \"Solid App\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Title\",\n group: \"app-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appSubtitle\",\n value: process.env.SOLID_APP_SUBTITLE || \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"App Subtitle\",\n group: \"app-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appDescription\",\n value: process.env.SOLID_APP_DESCRIPTION || \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Description\",\n group: \"app-settings\",\n sortOrder: 80,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"showLegalLinks\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Legal Links\",\n group: \"app-settings\",\n sortOrder: 90,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appTnc\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Terms And Conditions Link\",\n group: \"app-settings\",\n sortOrder: 100,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appPrivacyPolicy\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Privacy Policy Link\",\n group: \"app-settings\",\n sortOrder: 110,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enableDarkMode\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Dark Mode\",\n group: \"app-settings\",\n sortOrder: 120,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"copyright\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Copyright\",\n group: \"app-settings\",\n sortOrder: 130,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enableUsername\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Username\",\n group: \"misc-settings\",\n sortOrder: 10,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"enabledNotification\",\n value: true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Enable Notification\",\n group: \"misc-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportEmail\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Email\",\n group: \"misc-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportDisplayName\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Display Name\",\n group: \"misc-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"contactSupportIcon\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Contact Support Icon\",\n group: \"misc-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenRightBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Right Banner Image\",\n group: \"authentication-settings\",\n sortOrder: 90,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenLeftBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Left Banner Image\",\n group: \"authentication-settings\",\n sortOrder: 100,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authScreenCenterBackgroundImage\",\n value: null,\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Center Background Image\",\n group: \"authentication-settings\",\n sortOrder: 110,\n controlType: \"mediaSingle\",\n },\n {\n moduleName: \"solid-core\",\n key: \"solidXGenAiCodeBuilderConfig\",\n value: JSON.stringify({\n models: {\n default: {\n providerId: \"\",\n model: \"\",\n behavior: { streaming: false, custom: \"\" },\n },\n fast: {\n providerId: \"\",\n model: \"\",\n behavior: { streaming: false, custom: \"\" },\n },\n },\n providers: {},\n }),\n level: SettingLevel.SystemAdminEditable,\n encrypted: true,\n label: \"AI Code Builder Configuration\",\n description:\n \"Structured configuration for AI providers and model assignments.\",\n group: \"ai-settings\",\n sortOrder: 10,\n controlType: \"custom\",\n settingsWidget: \"solidXGenAiCodeBuilderConfigWidget\",\n },\n {\n moduleName: \"solid-core\",\n key: \"appEncryptionKey\",\n value: process.env.APP_ENCRYPTION_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpEnabled\",\n value: process.env.MCP_ENABLED || false,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MCP Enabled\",\n group: \"ai-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpServerUrl\",\n value: process.env.MCP_SERVER_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MCP Server URL\",\n group: \"ai-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpApiKey\",\n value: process.env.MCP_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"dateTimeFormat\",\n value: process.env.DATE_TIME_FORMAT || \"YYYY-MM-DD HH:mm:ss\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Date Time Format\",\n group: \"system-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"dateFormat\",\n value: process.env.DATE_FORMAT || \"YYYY-MM-DD\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Date Format\",\n group: \"system-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"baseUrl\",\n value: process.env.BASE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Base URL\",\n group: \"system-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"solidAppWebsiteUrl\",\n value: process.env.SOLID_APP_WEBSITE_URL,\n level: SettingLevel.SystemAdminEditable,\n label: \"Solid App Website URL\",\n group: \"system-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n\n // app-builder-settings-provider.service.ts, app-builder.config.ts\n {\n moduleName: \"solid-core\",\n key: \"moduleMetadataSeederFiles\",\n value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? \"\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Module Metadata Seeder Files\",\n group: \"storage-settings\",\n sortOrder: 10,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"uploadDir\",\n value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Upload Directory\",\n group: \"storage-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"fileStorageDir\",\n value:\n process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR,\n level: SettingLevel.SystemAdminReadonly,\n label: \"File Storage Directory\",\n group: \"storage-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"defaultFileService\",\n value: process.env.DEFAULT_FILE_SERVICE ?? \"disk\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Default File Service\",\n group: \"storage-settings\",\n sortOrder: 40,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Disk\", value: \"disk\" },\n { label: \"S3\", value: \"s3\" },\n ],\n },\n\n // aws-s3-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_ACCESS_KEY\",\n value: process.env.S3_AWS_ACCESS_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_SECRET_KEY\",\n value: process.env.S3_AWS_SECRET_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_AWS_REGION_NAME\",\n value: process.env.S3_AWS_REGION_NAME,\n level: SettingLevel.SystemAdminReadonly,\n label: \"AWS Region Name\",\n group: \"storage-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"S3_DEFAULT_BUCKET\",\n value: process.env.S3_DEFAULT_BUCKET,\n level: SettingLevel.SystemAdminReadonly,\n label: \"S3 Default Bucket\",\n group: \"storage-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n\n // email-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"emailProvider\",\n value: process.env.COMMON_EMAIL_PROVIDER ?? \"SMTPEMailService\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Email Provider\",\n group: \"email-settings\",\n sortOrder: 10,\n controlType: \"selectionStatic\",\n options: [\n { label: \"SMTP Email Service\", value: \"SMTPEMailService\" },\n { label: \"Elastic Email Service\", value: \"ElasticEmailService\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"emailTemplateSeederFiles\",\n value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Email Template Seeder Files\",\n group: \"email-settings\",\n sortOrder: 20,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"shouldQueueEmails\",\n value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queue Emails\",\n group: \"email-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailHost\",\n value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Host\",\n group: \"email-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailPort\",\n value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587),\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Port\",\n group: \"email-settings\",\n sortOrder: 50,\n controlType: \"numeric\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailUsername\",\n value: process.env.COMMON_SMTP_EMAIL_USERNAME,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail Username\",\n group: \"email-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailPassword\",\n value: process.env.COMMON_SMTP_EMAIL_PASSWORD,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"smtpMailFrom\",\n value:\n process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMTP Mail From\",\n group: \"email-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"apiMailKey\",\n value: process.env.COMMON_API_EMAIL_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"apiMailFrom\",\n value: process.env.COMMON_EMAIL_FROM,\n level: SettingLevel.SystemAdminReadonly,\n label: \"API Mail From\",\n group: \"email-settings\",\n sortOrder: 80,\n controlType: \"shortText\",\n },\n\n // genai-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"ragServerUrl\",\n value: process.env.GENAI_RAG_SERVER_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"RAG Server URL\",\n group: \"ai-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"ragServerLogin\",\n value: process.env.GENAI_RAG_SERVER_LOGIN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"ragServerPassword\",\n value: process.env.GENAI_RAG_SERVER_PASSWORD,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpPythonExecutable\",\n value: process.env.MCP_PYTHON_EXECUTABLE,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpClient\",\n value: process.env.MCP_CLIENT,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"mcpRestartTouchFile\",\n value: process.env.MCP_RESTART_TOUCH_FILE || \"tmp/restart.touch\",\n level: SettingLevel.SystemEnv,\n },\n\n // google-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"clientID\",\n value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Client ID\",\n group: \"oauth-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"clientSecret\",\n value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"callbackURL\",\n value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Callback URL\",\n group: \"oauth-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"redirectURL\",\n value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Google OAuth Redirect URL\",\n group: \"oauth-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n\n // facebook-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CLIENT_ID\",\n value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CLIENT_SECRET\",\n value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_CALLBACK_URL\",\n value: process.env.IAM_FACEBOOK_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"FACEBOOK_REDIRECT_URL\",\n value: process.env.IAM_FACEBOOK_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n\n // microsoft-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CLIENT_ID\",\n value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CLIENT_SECRET\",\n value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_TENANT_ID\",\n value: process.env.IAM_MICROSOFT_OAUTH_TENANT_ID || \"common\",\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_CALLBACK_URL\",\n value: process.env.IAM_MICROSOFT_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_REDIRECT_URL\",\n value: process.env.IAM_MICROSOFT_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n },\n\n // iam-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"passwordLessAuth\",\n value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Less Authentication\",\n group: \"authentication-settings\",\n sortOrder: 20,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordBasedAuth\",\n value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Based Authentication\",\n group: \"authentication-settings\",\n sortOrder: 10,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordlessRegistrationValidateWhat\",\n value: (\n process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? \"email\"\n ).trim(),\n level: SettingLevel.SystemAdminEditable,\n label: \"Registration Validation Type\",\n group: \"authentication-settings\",\n sortOrder: 30,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Email\", value: \"email\" },\n { label: \"Mobile\", value: \"mobile\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordlessLoginValidateWhat\",\n value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? \"email\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Login Validation Type\",\n group: \"authentication-settings\",\n sortOrder: 40,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Email\", value: \"email\" },\n { label: \"Mobile\", value: \"mobile\" },\n { label: \"Selectable\", value: \"selectable\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"allowPublicRegistration\",\n value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Public Registration\",\n group: \"authentication-settings\",\n sortOrder: 60,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"activateUserOnRegistration\",\n value:\n (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Auto Activate User On Registration\",\n group: \"authentication-settings\",\n sortOrder: 70,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"autoLoginUserOnRegistration\",\n value:\n (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? \"false\") === \"true\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"otpExpiry\",\n value: parseInt(process.env.IAM_OTP_EXPIRY ?? \"10\"),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"forgotPasswordVerificationTokenExpiry\",\n value: parseInt(\n process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? \"10\",\n ),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"defaultRole\",\n value: process.env.IAM_DEFAULT_ROLE ?? \"Public\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Default Role\",\n group: \"authentication-settings\",\n sortOrder: 75,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"dummyOtp\",\n value: process.env.IAM_OTP_DUMMY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"dummyOtpUsers\",\n value: process.env.IAM_OTP_DUMMY_USERS,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"forgotPasswordSendVerificationTokenOn\",\n value:\n process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? \"email\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"maxFailedLoginAttempts\",\n value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? \"0\"),\n level: SettingLevel.SystemAdminReadonly,\n label: \"Max Failed Login Attempts\",\n group: \"authentication-settings\",\n sortOrder: 110,\n controlType: \"numeric\",\n },\n {\n moduleName: \"solid-core\",\n key: \"forceChangePasswordOnFirstLogin\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Force Change Password On First Login\",\n group: \"authentication-settings\",\n sortOrder: 120,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordRegex\",\n value:\n process.env.PASSWORD_REGEX ||\n \"^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[^\\\\da-zA-Z]).*$\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Authentication Password Regex\",\n group: \"authentication-settings\",\n sortOrder: 130,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordRegexErrorMessage\",\n value:\n process.env.PASSWORD_REGEX_ERROR_MESSAGE ||\n \"Password must contain at least one uppercase, one lowercase, one number, and one special character.\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Regex Error Message\",\n group: \"authentication-settings\",\n sortOrder: 140,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"authenticationPasswordComplexityDescription\",\n value:\n process.env.PASSWORD_COMPLEXITY_DESC ||\n \"Password must contain at least one uppercase, one lowercase, one number, and one special character.\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Password Complexity Description\",\n group: \"authentication-settings\",\n sortOrder: 150,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"iamAutoGeneratedPassword\",\n value: process.env.IAM_AUTOGENERATED_PASSWORD || true,\n level: SettingLevel.SystemAdminEditable,\n label: \"Auto Generate Password\",\n group: \"authentication-settings\",\n sortOrder: 160,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"passwordPepper\",\n value: process.env.IAM_PASSWORD_PEPPER || \"\",\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"showNameFieldsForRegistration\",\n value:\n process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === \"true\"\n ? true\n : false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Show Name Fields For Registration\",\n group: \"authentication-settings\",\n sortOrder: 170,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"sendWelcomeEmailOnSignup\",\n value:\n (\n process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? \"false\"\n ).toLowerCase() === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Send Welcome Email On Signup\",\n group: \"authentication-settings\",\n sortOrder: 180,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"sendWelcomeSmsOnSignup\",\n value:\n (\n process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? \"false\"\n ).toLowerCase() === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Send Welcome SMS On Signup\",\n group: \"authentication-settings\",\n sortOrder: 190,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"frontendLoginPageUrl\",\n value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Login Page URL\",\n group: \"authentication-settings\",\n sortOrder: 180,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"frontendForgotPasswordPageUrl\",\n value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Forgot Password Page URL\",\n group: \"authentication-settings\",\n sortOrder: 190,\n controlType: \"shortText\",\n },\n\n // jwt-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"secret\",\n value: process.env.IAM_JWT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"audience\",\n value: process.env.IAM_JWT_TOKEN_AUDIENCE,\n level: SettingLevel.SystemAdminReadonly,\n label: \"JWT Audience\",\n group: \"jwt-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"issuer\",\n value: process.env.IAM_JWT_TOKEN_ISSUER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"JWT Issuer\",\n group: \"jwt-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"accessTokenTtl\",\n value: parseInt(\n process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? \"1200\" : \"86400\"),\n 10,\n ),\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"refreshTokenTtl\",\n value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? \"604800\", 10),\n level: SettingLevel.SystemEnv,\n },\n\n // queues-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"queuesDefaultBroker\",\n value: process.env.QUEUES_DEFAULT_BROKER || \"database\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queues Default Broker\",\n group: \"queue-settings\",\n sortOrder: 10,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Database\", value: \"database\" },\n { label: \"RabbitMQ\", value: \"rabbitmq\" },\n ],\n },\n {\n moduleName: \"solid-core\",\n key: \"queuesServiceRole\",\n value: process.env.QUEUES_SERVICE_ROLE,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queues Service Role\",\n group: \"queue-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"queuesRabbitMqUrl\",\n value: process.env.QUEUES_RABBIT_MQ_URL,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"solidCliRunning\",\n value: process.env.SOLID_CLI_RUNNING || \"false\",\n level: SettingLevel.SystemEnv,\n },\n\n // sms-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"smsProvider\",\n value: process.env.COMMON_SMS_PROVIDER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMS Provider\",\n group: \"sms-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"smsTemplateSeederFiles\",\n value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES,\n level: SettingLevel.SystemAdminReadonly,\n label: \"SMS Template Seeder Files\",\n group: \"sms-settings\",\n sortOrder: 20,\n controlType: \"longText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"shouldQueueSms\",\n value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Queue SMS\",\n group: \"sms-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91SmsUrl\",\n value: process.env.COMMON_MSG91_SMS_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 SMS URL\",\n group: \"sms-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91SmsApiKey\",\n value: process.env.COMMON_MSG91_SMS_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioAccountSid\",\n value: process.env.COMMON_TWILIO_ACCOUNT_SID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Twilio Account SID\",\n group: \"sms-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioAuthToken\",\n value: process.env.COMMON_TWILIO_AUTH_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"twilioNumber\",\n value: process.env.COMMON_TWILIO_NUMBER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Twilio Number\",\n group: \"sms-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n\n // tiny-url-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlApiUrl\",\n value: process.env.COMMON_SHORT_URL_API_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL API URL\",\n group: \"short-url-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlApiKey\",\n value: process.env.COMMON_SHORT_URL_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlDomain\",\n value: process.env.COMMON_SHORT_URL_DOMAIN,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL Domain\",\n group: \"short-url-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"tinyUrlEnabled\",\n value: (process.env.COMMON_SHORT_URL_ENABLED ?? \"false\") === \"true\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Tiny URL Enabled\",\n group: \"short-url-settings\",\n sortOrder: 30,\n controlType: \"boolean\",\n },\n\n // whatsapp-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"whatsappProvider\",\n value: process.env.COMMON_WHATSAPP_PROVIDER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"WhatsApp Provider\",\n group: \"whatsapp-settings\",\n sortOrder: 10,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappUrl\",\n value: process.env.COMMON_WHATSAPP_API_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 WhatsApp URL\",\n group: \"whatsapp-settings\",\n sortOrder: 20,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappApiKey\",\n value: process.env.COMMON_WHATSAPP_API_KEY,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"msg91WhatsappIntegratedNumber\",\n value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER,\n level: SettingLevel.SystemAdminReadonly,\n label: \"MSG91 WhatsApp Integrated Number\",\n group: \"whatsapp-settings\",\n sortOrder: 30,\n controlType: \"shortText\",\n },\n ] as const satisfies SettingDefinition[];\n\n// 2.\nexport type SolidCoreSetting = ReturnType<\n typeof getSolidCoreSettings\n>[number][\"key\"];\n\n// 3.\n@SettingsProvider()\n@Injectable()\nexport class SolidCoreDefaultSettingsProvider implements ISettingsProvider {\n getSettings() {\n const isProd = (process.env.ENV as Environment) === Environment.Production;\n return getSolidCoreSettings(isProd);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwilioSMSService.js","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,2CAAoD;AACpD,kEAA6D;AAE7D,mFAAuE;AACvE,oDAA4B;AAE5B,wDAAoD;AACpD,oFAAoE;AAM7D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAGzB,YACY,gBAAuC,EACvC,kBAAsC,EACtC,cAA8B;QAF9B,qBAAgB,GAAhB,gBAAgB,CAAuB;QACvC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QALzB,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAQ5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,IAAY,EAAE,cAAuB;QAI3D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kBAAkB,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,iBAAiB,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,cAAc,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACrH,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,OAAO,EAAE;gBACL,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,EAAE;aACT;SACJ,CAAC;QAGF,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;aAEI,IAAI,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;YACnH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;aAEI,CAAC;YACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAU,EAAE,YAAoB,EAAE,cAAmB,EAAE,cAAuB;QAErG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;QAGD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,oBAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"TwilioSMSService.js","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":"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","sourcesContent":["import Handlebars from \"handlebars\";\nimport { Injectable, Logger } from \"@nestjs/common\";\nimport { SmsTemplateService } from \"../sms-template.service\";\nimport { ISMS } from \"../../interfaces\";\nimport { PublisherFactory } from \"../queues/publisher-factory.service\";\nimport twilio from 'twilio';\nimport { QueueMessage } from \"src/interfaces/mq\";\nimport { SettingService } from \"../setting.service\";\nimport { SmsProvider } from \"src/decorators/sms-provider.decorator\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n\n@Injectable()\n@SmsProvider()\nexport class TwilioSMSService implements ISMS {\n private readonly logger = new Logger(TwilioSMSService.name);\n\n constructor(\n private publisherFactory: PublisherFactory<any>,\n private smsTemplateService: SmsTemplateService,\n private settingService: SettingService\n ) {\n // super(commonConfiguration, 'OTPQueuePublisher', publisherFactory, smsTemplateService);\n }\n\n async sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any> {\n\n\n\n const accountSid = this.settingService.getConfigValue<SolidCoreSetting>('twilioAccountSid');\n const authToken = this.settingService.getConfigValue<SolidCoreSetting>('twilioAuthToken');\n const twilioNumber = this.settingService.getConfigValue<SolidCoreSetting>('twilioNumber');\n if (!accountSid || !authToken || !twilioNumber) {\n throw new Error(\"Missing COMMON_TWILIO_ACCOUNT_SID or COMMON_TWILIO_AUTH_TOKEN or COMMON_TWILIO_NUMBER in env.\");\n }\n\n const message = {\n payload: {\n body: body,\n to: to,\n },\n };\n\n // Send using queue if the developer has explicitly invoked with true.\n if (shouldQueueSms === true) {\n await this.sendSMSAsynchronously(message);\n }\n // If developer has not, however system config mandates that we send using queue, still we send.\n else if (shouldQueueSms === false && this.settingService.getConfigValue<SolidCoreSetting>('shouldQueueSms') === true) {\n await this.sendSMSAsynchronously(message);\n }\n // Else we send synch\n else {\n await this.sendSMSSynchronously(message);\n }\n\n return message;\n }\n\n async sendSMSUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueSms: boolean): Promise<any> {\n // Load template and evaluate it.\n const smsTemplate = await this.smsTemplateService.findOneByName(templateName);\n if (!smsTemplate) {\n throw new Error(`Invalid template name ${templateName}`);\n }\n\n // Evaluate the body template.\n let body = '';\n try {\n const bodyTemplate = Handlebars.compile(smsTemplate.body);\n body = bodyTemplate(templateParams);\n } catch (error: any) {\n throw new Error('Unable to compile sms template body');\n }\n // Finally send the email.\n return await this.sendSMS(to, body, shouldQueueSms);\n\n }\n\n async sendSMSAsynchronously(message) {\n const { to } = message.payload;\n this.publisherFactory.publish(message, 'TwilioSmsQueuePublisher');\n this.logger.debug(`Queueing SMS to ${to} with message ${JSON.stringify(message)}`);\n }\n\n async sendSMSSynchronously(message: QueueMessage<any>): Promise<any> {\n const accountSid = this.settingService.getConfigValue<SolidCoreSetting>('twilioAccountSid');\n const authToken = this.settingService.getConfigValue<SolidCoreSetting>('twilioAuthToken');\n const twilioNumber = this.settingService.getConfigValue<SolidCoreSetting>('twilioNumber');\n\n if (!accountSid || !authToken || !twilioNumber) {\n throw new Error(\"Missing COMMON_TWILIO_ACCOUNT_SID or COMMON_TWILIO_AUTH_TOKEN or COMMON_TWILIO_NUMBER in env.\");\n }\n const { to, body } = message.payload;\n const client = twilio(accountSid, authToken);\n try {\n const toSplit = to.split(',');\n const r = [];\n for (let i = 0; i < toSplit.length; i++) {\n const actualTo = toSplit[i];\n const twilioResponseMsg = await client.messages.create({\n body: body,\n from: twilioNumber,\n to: actualTo,\n });\n this.logger.debug(`Sending SMS to ${actualTo} using Twilio`);\n this.logger.debug(`Twilio response: `);\n this.logger.debug(JSON.stringify(twilioResponseMsg))\n r.push(twilioResponseMsg);\n }\n\n return r;\n } catch (error: any) {\n throw new Error(error);\n }\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-introspect.service.js","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from '../helpers/string.helper';\nimport { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';\nimport { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';\nimport { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';\nimport { ModelMetadataRepository } from 'src/repository/model-metadata.repository';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { getDataSourceToken } from '@nestjs/typeorm';\nimport { IS_COMPUTED_FIELD_PROVIDER } from 'src/decorators/computed-field-provider.decorator';\nimport { IS_DASHBOARD_QUESTION_DATA_PROVIDER } from 'src/decorators/dashboard-question-data-provider.decorator';\nimport { IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER } from 'src/decorators/dashboard-selection-provider.decorator';\nimport { IS_ERROR_CODE_PROVIDER } from 'src/decorators/error-codes-provider.decorator';\nimport { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';\nimport { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';\nimport { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';\nimport { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';\nimport { IS_EXTENSION_USER_CREATION_PROVIDER } from 'src/decorators/extension-user-creation-provider.decorator';\nimport { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';\nimport { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { AuditSubscriber } from 'src/subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from 'src/subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';\nimport { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';\nimport { DataSource } from 'typeorm';\nimport { CRUDService } from './crud.service';\nimport { IS_SETTINGS_PROVIDER } from 'src/decorators/settings-provider.decorator';\nimport { IS_SMS_PROVIDER } from 'src/decorators/sms-provider.decorator';\nimport { SettingService } from 'src/services/setting.service';\n\nexport const coreSubscriberClasses = [\n AuditSubscriber,\n ComputedEntityFieldSubscriber,\n CreatedByUpdatedBySubscriber,\n SoftDeleteAwareEventSubscriber\n];\n\n@Injectable()\nexport class SolidIntrospectService implements OnApplicationBootstrap {\n constructor(\n private readonly discoveryService: DiscoveryService,\n private readonly reflector: Reflector,\n private readonly metadataScanner: MetadataScanner,\n private readonly solidRegistry: SolidRegistry,\n private readonly moduleRef: ModuleRef,\n private readonly settingService: SettingService,\n private readonly modelMetadataRepo: ModelMetadataRepository,\n private readonly modelMetadataHelperService: ModelMetadataHelperService,\n ) { }\n\n private readonly logger = new Logger(SolidIntrospectService.name);\n\n async onApplicationBootstrap() {\n this.logger.debug('Introspecting the application for Solid metadata');\n\n // Register all seeders\n const seeders = this.discoveryService.getProviders().filter((provider) => this.isSeeder(provider));\n seeders.forEach((seeder) => {\n this.solidRegistry.registerSeeder(seeder);\n });\n\n // Register all IErrorCodeProvider implementations\n const errorCodeProviders = this.discoveryService.getProviders().filter((provider) => this.isErrorCodeProvider(provider));\n errorCodeProviders.forEach((errorCodeProvider) => {\n this.solidRegistry.registerErrorCodeProvider(errorCodeProvider);\n });\n\n // Register all ISelectionProvider implementations\n const selectionProviders = this.discoveryService.getProviders().filter((provider) => this.isSelectionProvider(provider));\n selectionProviders.forEach((selectionProvider) => {\n this.solidRegistry.registerSelectionProvider(selectionProvider);\n });\n\n // Register all ISettingsProvider implementations\n const settingsProviders = this.discoveryService.getProviders().filter((provider) => this.isSettingsProvider(provider));\n settingsProviders.forEach((settingsProvider) => {\n this.solidRegistry.registerSettingsProvider(settingsProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardVariableSelectionProviders = this.discoveryService.getProviders().filter((provider) => this.isDashboardVariableSelectionProvider(provider));\n dashboardVariableSelectionProviders.forEach((dashboardSelectionProvider) => {\n this.solidRegistry.registerDashboardVariableSelectionProvider(dashboardSelectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardQuestionDataProviders = this.discoveryService.getProviders().filter((provider) => this.isDashboardQuestionDataProvider(provider));\n dashboardQuestionDataProviders.forEach((provider) => {\n this.solidRegistry.registerDashboardQuestionDataProvider(provider);\n });\n\n // Register all IComputedProvider implementations\n const computedFieldProviders = this.discoveryService.getProviders().filter((provider) => this.isComputedFieldProvider(provider));\n computedFieldProviders.forEach((computedFieldProvider) => {\n this.solidRegistry.registerComputedFieldProvider(computedFieldProvider);\n });\n\n // Register all ISolidDatabaseModules implementations\n const solidDatabaseModules = this.discoveryService.getProviders().filter((provider) => this.isSolidDatabaseModule(provider));\n solidDatabaseModules.forEach((solidDatabaseModule) => {\n this.solidRegistry.registerSolidDatabaseModule(solidDatabaseModule);\n });\n\n // keep track of all the controllers & respective methods. \n const allControllers = this.discoveryService.getControllers().map((controller) => {\n const { instance } = controller;\n return {\n name: controller.name,\n methods: this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance))\n };\n });\n\n this.solidRegistry.registerControllers(new Set(allControllers));\n\n // Register all modules\n const allModules = this.discoveryService.getProviders().filter((provider) => this.isModule(provider));\n this.solidRegistry.registerModules(allModules);\n\n // Register all IScheduledJob implementations\n const scheduledJobProviders = this.discoveryService.getProviders().filter((provider) => this.isScheduledJobProvider(provider));\n scheduledJobProviders.forEach((scheduledJobProvider) => {\n this.solidRegistry.registerScheduledJobProvider(scheduledJobProvider);\n });\n\n // Register all IMail implementations\n const mailProviders = this.discoveryService.getProviders().filter((provider) => this.isMailProvider(provider));\n mailProviders.forEach((mailProvider) => {\n this.solidRegistry.registerMailProvider(mailProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const whatsappProviders = this.discoveryService.getProviders().filter((provider) => this.isWhatsappProvider(provider));\n whatsappProviders.forEach((whatsappProvider) => {\n this.solidRegistry.registerWhatsappProvider(whatsappProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const smsProviders = this.discoveryService.getProviders().filter((provider) => this.isSmsProvider(provider));\n smsProviders.forEach((smsProvider) => {\n this.solidRegistry.registerSmsProvider(smsProvider);\n });\n\n // Register all ISecurityRuleConfigProvider implementations\n const securityRuleConfigProviders = this.discoveryService.getProviders().filter((provider) => this.isSecurityRuleConfigProvider(provider));\n securityRuleConfigProviders.forEach((securityRuleConfigProvider) => {\n this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);\n });\n\n // Register IExtensionUserCreationProvider implementation (at most one per project)\n const extensionUserCreationProviders = this.discoveryService.getProviders().filter((provider) => this.isExtensionUserCreationProvider(provider));\n extensionUserCreationProviders.forEach((provider) => {\n this.solidRegistry.registerExtensionUserCreationProvider(provider);\n });\n\n // Register the core subscribers against all the configured database modules / datasources\n await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules);\n await this.cacheAuditableModels();\n await this.settingService.updateSettingsCache();\n }\n\n private async cacheAuditableModels(): Promise<void> {\n const models = await this.modelMetadataRepo.find({\n where: { enableAuditTracking: true },\n relations: { fields: true, module: true },\n });\n\n const auditableSet = new Set<string>();\n for (const model of models) {\n const allFields = await this.modelMetadataHelperService.loadFieldHierarchy(model.singularName);\n const hasAuditableField = allFields.some(field =>\n field.enableAuditTracking &&\n !['mediaSingle', 'mediaMultiple', 'richText', 'json'].includes(field.type) &&\n !(field.type === 'relation' && field.relationType === 'one-to-many')\n );\n if (hasAuditableField) {\n auditableSet.add(model.singularName.toLowerCase());\n }\n }\n\n this.solidRegistry.registerAuditableModels(auditableSet);\n this.logger.debug(`Cached ${auditableSet.size} auditable model(s): ${[...auditableSet].join(', ')}`);\n }\n\n async bootstrapCoreTypeOrmSubscribers(dbModules: Array<InstanceWrapper<any>>): Promise<void> {\n // Register core subscribers for each Solid database module\n for (const wrapper of dbModules) {\n // Get the Database Module instance\n const instance = (wrapper as InstanceWrapper).instance as any;\n if (!instance || typeof instance.name !== 'function') {\n this.logger.warn('Skipping a solid DB module wrapper with no instance or name() method');\n continue;\n }\n\n // Get the DataSource for this module\n const dsName: string | undefined = instance.name();\n // getDataSourceToken() without name = default; pass dsName if non-default\n const token = dsName ? getDataSourceToken(dsName) : getDataSourceToken();\n let ds: DataSource | undefined;\n try {\n ds = this.moduleRef.get<DataSource>(token, { strict: false });\n } catch (err) {\n this.logger.warn(`DataSource token for \"${dsName ?? 'default'}\" not found: ${err?.message ?? err}`);\n }\n if (!ds) {\n this.logger.warn(`No DataSource found for module \"${dsName}\". Skipping subscriber registration.`);\n continue;\n }\n\n // Ensure DataSource is initialized (optional)\n if (!ds.isInitialized) {\n try {\n await ds.initialize(); // only if you need to initialize here; in many apps datasources are created earlier\n } catch (err) {\n this.logger.error(`Failed to initialize DataSource \"${dsName}\": ${err}`);\n continue;\n }\n }\n\n // Register each subscriber class for this DataSource\n // const auditSubscriberInstance = new AuditSubscriber(this.chatterMessageService, this.modelMetadataRepo, this.modelMetadataHelperService);\n // auditSubscriberInstance.bindToDataSource(ds);\n\n // const computedEntityFieldSubscriberInstance = new ComputedEntityFieldSubscriber(this.solidRegistry, this.publisherFactory);\n // computedEntityFieldSubscriberInstance.bindToDataSource(ds);\n\n // const createdByUpdatedBySubscriberInstance = new CreatedByUpdatedBySubscriber(this.requestContextService);\n // createdByUpdatedBySubscriberInstance.bindToDataSource(ds);\n\n // const softDeleteAwareEventSubscriberInstance = new SoftDeleteAwareEventSubscriber();\n // softDeleteAwareEventSubscriberInstance.bindToDataSource(ds);\n for (const SubClass of coreSubscriberClasses) {\n const alreadyRegistered = ds.subscribers.some(\n (s) => (s as any).constructor?.name === SubClass.name,\n );\n if (alreadyRegistered) {\n this.logger.debug(`Subscriber ${SubClass.name} already registered on datasource ${dsName ?? 'default'}`);\n continue;\n }\n\n // Resolve subscriber from NestJS moduleRef to ensure dependencies are injected\n const subscriberInstance = await this.moduleRef.resolve(SubClass, undefined, { strict: false });\n subscriberInstance.bindToDataSource(ds);\n\n // instantiate subscriber bound to this DataSource\n // NOTE: constructor signature must be (dataSource: DataSource, requestContextService: RequestContextService, ...)\n // const subscriberInstance = new (SubClass as any)(ds, this.requestContextService);\n\n // ds.subscribers.push(subscriberInstance);\n // this.logger.log(`Registered subscriber ${SubClass.name} on datasource ${dsName ?? 'default'}`);\n }\n }\n }\n\n isDashboardQuestionDataProvider(providerWrapper: InstanceWrapper<any>) {\n const { instance } = providerWrapper;\n if (!instance) return false;\n const provider = this.reflector.get<boolean>(\n IS_DASHBOARD_QUESTION_DATA_PROVIDER,\n instance.constructor,\n );\n return !!provider;\n }\n\n // This method identifies a provider as a seeder if it has a seed method i.e duck typing\n private isSeeder(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const seedMethod = this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance)).find((methodName) => methodName === 'seed');\n if (!seedMethod) return false;\n return true;\n }\n\n private isErrorCodeProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isErrorCodeProvider = this.reflector.get<boolean>(\n IS_ERROR_CODE_PROVIDER,\n instance.constructor,\n );\n\n return !!isErrorCodeProvider;\n }\n\n private isSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSelectionProvider = this.reflector.get<boolean>(\n IS_SELECTION_PROVIDER,\n instance.constructor,\n );\n\n return !!isSelectionProvider;\n }\n\n private isExtensionUserCreationProvider(provider: InstanceWrapper): boolean {\n const { instance } = provider;\n if (!instance) return false;\n return !!this.reflector.get<boolean>(IS_EXTENSION_USER_CREATION_PROVIDER, instance.constructor);\n }\n\n private isSettingsProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSettingsProvider = this.reflector.get<boolean>(\n IS_SETTINGS_PROVIDER,\n instance.constructor,\n );\n\n return !!isSettingsProvider;\n }\n\n private isDashboardVariableSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n const isDashboardSelectionProvider = this.reflector.get<boolean>(\n IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER,\n instance.constructor,\n );\n return !!isDashboardSelectionProvider;\n }\n\n private isComputedFieldProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isComputedFieldProvider = this.reflector.get<boolean>(\n IS_COMPUTED_FIELD_PROVIDER,\n instance.constructor,\n );\n\n return !!isComputedFieldProvider;\n }\n\n private isScheduledJobProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isScheduledJobProvider = this.reflector.get<boolean>(\n IS_SCHEDULED_JOB_PROVIDER,\n instance.constructor,\n );\n\n return !!isScheduledJobProvider;\n }\n\n private isSolidDatabaseModule(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSolidDatabaseModule = this.reflector.get<boolean>(\n IS_SOLID_DATABASE_MODULE,\n instance.constructor,\n );\n\n return !!isSolidDatabaseModule;\n }\n\n private isMailProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isMailProvider = this.reflector.get<boolean>(\n IS_MAIL_PROVIDER,\n instance.constructor,\n );\n\n return !!isMailProvider;\n }\n\n private isWhatsappProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isWhatsappProvider = this.reflector.get<boolean>(\n IS_WA_PROVIDER,\n instance.constructor,\n );\n\n return !!isWhatsappProvider;\n }\n\n private isSmsProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSmsProvider = this.reflector.get<boolean>(\n IS_SMS_PROVIDER,\n instance.constructor,\n );\n\n return !!isSmsProvider;\n }\n\n private isSecurityRuleConfigProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSecurityRuleConfigProvider = this.reflector.get<boolean>(\n IS_SECURITY_RULE_CONFIG_PROVIDER,\n instance.constructor,\n );\n\n return !!isSecurityRuleConfigProvider;\n }\n\n private isModule(provider: InstanceWrapper): boolean {\n const metatype = provider.metatype;\n // Check if it's a Static Module (Class-Based)\n if (metatype && typeof metatype === 'function' && Reflect.getMetadata('imports', metatype)) {\n return true;\n }\n\n // Ensure provider.instance is an object before checking for 'module'\n if (provider.instance && typeof provider.instance === 'object') {\n // Check if it's a Dynamic Module (Object-Based)\n if ('module' in provider.instance && typeof provider.instance.module === 'function') {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Given a model singular name this will return the crud service instance.\n * @param modelSingularName \n * @returns \n */\n getCRUDService(modelSingularName: string): CRUDService<any> {\n const provider = this.getProvider(`${classify(modelSingularName)}Service`);\n return provider?.instance as CRUDService<any>;\n }\n\n getProvider(providerName: string) {\n return this.discoveryService.getProviders().find((provider) => provider.name === providerName);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"solid-introspect.service.js","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from '../helpers/string.helper';\nimport { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';\nimport { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';\nimport { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';\nimport { ModelMetadataRepository } from 'src/repository/model-metadata.repository';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { getDataSourceToken } from '@nestjs/typeorm';\nimport { IS_COMPUTED_FIELD_PROVIDER } from 'src/decorators/computed-field-provider.decorator';\nimport { IS_DASHBOARD_QUESTION_DATA_PROVIDER } from 'src/decorators/dashboard-question-data-provider.decorator';\nimport { IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER } from 'src/decorators/dashboard-selection-provider.decorator';\nimport { IS_ERROR_CODE_PROVIDER } from 'src/decorators/error-codes-provider.decorator';\nimport { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';\nimport { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';\nimport { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';\nimport { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';\nimport { IS_EXTENSION_USER_CREATION_PROVIDER } from 'src/decorators/extension-user-creation-provider.decorator';\nimport { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';\nimport { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { AuditSubscriber } from 'src/subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from 'src/subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';\nimport { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';\nimport { DataSource } from 'typeorm';\nimport { CRUDService } from './crud.service';\nimport { IS_SETTINGS_PROVIDER } from 'src/decorators/settings-provider.decorator';\nimport { IS_SMS_PROVIDER } from 'src/decorators/sms-provider.decorator';\nimport { SettingService } from 'src/services/setting.service';\n\nexport const coreSubscriberClasses = [\n AuditSubscriber,\n ComputedEntityFieldSubscriber,\n CreatedByUpdatedBySubscriber,\n SoftDeleteAwareEventSubscriber\n];\n\n@Injectable()\nexport class SolidIntrospectService implements OnApplicationBootstrap {\n constructor(\n private readonly discoveryService: DiscoveryService,\n private readonly reflector: Reflector,\n private readonly metadataScanner: MetadataScanner,\n private readonly solidRegistry: SolidRegistry,\n private readonly moduleRef: ModuleRef,\n private readonly settingService: SettingService,\n private readonly modelMetadataRepo: ModelMetadataRepository,\n private readonly modelMetadataHelperService: ModelMetadataHelperService,\n ) { }\n\n private readonly logger = new Logger(SolidIntrospectService.name);\n\n async onApplicationBootstrap() {\n this.logger.debug('Introspecting the application for Solid metadata');\n\n // Register all seeders\n const seeders = this.discoveryService.getProviders().filter((provider) => this.isSeeder(provider));\n seeders.forEach((seeder) => {\n this.solidRegistry.registerSeeder(seeder);\n });\n\n // Register all IErrorCodeProvider implementations\n const errorCodeProviders = this.discoveryService.getProviders().filter((provider) => this.isErrorCodeProvider(provider));\n errorCodeProviders.forEach((errorCodeProvider) => {\n this.solidRegistry.registerErrorCodeProvider(errorCodeProvider);\n });\n\n // Register all ISelectionProvider implementations\n const selectionProviders = this.discoveryService.getProviders().filter((provider) => this.isSelectionProvider(provider));\n selectionProviders.forEach((selectionProvider) => {\n this.solidRegistry.registerSelectionProvider(selectionProvider);\n });\n\n // Register all ISettingsProvider implementations\n const settingsProviders = this.discoveryService.getProviders().filter((provider) => this.isSettingsProvider(provider));\n settingsProviders.forEach((settingsProvider) => {\n this.solidRegistry.registerSettingsProvider(settingsProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardVariableSelectionProviders = this.discoveryService.getProviders().filter((provider) => this.isDashboardVariableSelectionProvider(provider));\n dashboardVariableSelectionProviders.forEach((dashboardSelectionProvider) => {\n this.solidRegistry.registerDashboardVariableSelectionProvider(dashboardSelectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardQuestionDataProviders = this.discoveryService.getProviders().filter((provider) => this.isDashboardQuestionDataProvider(provider));\n dashboardQuestionDataProviders.forEach((provider) => {\n this.solidRegistry.registerDashboardQuestionDataProvider(provider);\n });\n\n // Register all IComputedProvider implementations\n const computedFieldProviders = this.discoveryService.getProviders().filter((provider) => this.isComputedFieldProvider(provider));\n computedFieldProviders.forEach((computedFieldProvider) => {\n this.solidRegistry.registerComputedFieldProvider(computedFieldProvider);\n });\n\n // Register all ISolidDatabaseModules implementations\n const solidDatabaseModules = this.discoveryService.getProviders().filter((provider) => this.isSolidDatabaseModule(provider));\n solidDatabaseModules.forEach((solidDatabaseModule) => {\n this.solidRegistry.registerSolidDatabaseModule(solidDatabaseModule);\n });\n\n // keep track of all the controllers & respective methods. \n const allControllers = this.discoveryService.getControllers().map((controller) => {\n const { instance } = controller;\n return {\n name: controller.name,\n methods: this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance))\n };\n });\n\n this.solidRegistry.registerControllers(new Set(allControllers));\n\n // Register all modules\n const allModules = this.discoveryService.getProviders().filter((provider) => this.isModule(provider));\n this.solidRegistry.registerModules(allModules);\n\n // Register all IScheduledJob implementations\n const scheduledJobProviders = this.discoveryService.getProviders().filter((provider) => this.isScheduledJobProvider(provider));\n scheduledJobProviders.forEach((scheduledJobProvider) => {\n this.solidRegistry.registerScheduledJobProvider(scheduledJobProvider);\n });\n\n // Register all IMail implementations\n const mailProviders = this.discoveryService.getProviders().filter((provider) => this.isMailProvider(provider));\n mailProviders.forEach((mailProvider) => {\n this.solidRegistry.registerMailProvider(mailProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const whatsappProviders = this.discoveryService.getProviders().filter((provider) => this.isWhatsappProvider(provider));\n whatsappProviders.forEach((whatsappProvider) => {\n this.solidRegistry.registerWhatsappProvider(whatsappProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const smsProviders = this.discoveryService.getProviders().filter((provider) => this.isSmsProvider(provider));\n smsProviders.forEach((smsProvider) => {\n this.solidRegistry.registerSmsProvider(smsProvider);\n });\n\n // Register all ISecurityRuleConfigProvider implementations\n const securityRuleConfigProviders = this.discoveryService.getProviders().filter((provider) => this.isSecurityRuleConfigProvider(provider));\n securityRuleConfigProviders.forEach((securityRuleConfigProvider) => {\n this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);\n });\n\n // Register IExtensionUserCreationProvider implementation (at most one per project)\n const extensionUserCreationProviders = this.discoveryService.getProviders().filter((provider) => this.isExtensionUserCreationProvider(provider));\n extensionUserCreationProviders.forEach((provider) => {\n this.solidRegistry.registerExtensionUserCreationProvider(provider);\n });\n\n // Register the core subscribers against all the configured database modules / datasources\n await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules);\n await this.cacheAuditableModels();\n await this.settingService.updateSettingsCache();\n }\n\n private async cacheAuditableModels(): Promise<void> {\n const models = await this.modelMetadataRepo.find({\n where: { enableAuditTracking: true },\n relations: { fields: true, module: true },\n });\n\n const auditableSet = new Set<string>();\n for (const model of models) {\n const allFields = await this.modelMetadataHelperService.loadFieldHierarchy(model.singularName);\n const hasAuditableField = allFields.some(field =>\n field.enableAuditTracking &&\n !['mediaSingle', 'mediaMultiple', 'richText', 'json'].includes(field.type) &&\n !(field.type === 'relation' && field.relationType === 'one-to-many')\n );\n if (hasAuditableField) {\n auditableSet.add(model.singularName.toLowerCase());\n }\n }\n\n this.solidRegistry.registerAuditableModels(auditableSet);\n this.logger.debug(`Cached ${auditableSet.size} auditable model(s): ${[...auditableSet].join(', ')}`);\n }\n\n async bootstrapCoreTypeOrmSubscribers(dbModules: Array<InstanceWrapper<any>>): Promise<void> {\n // Register core subscribers for each Solid database module\n for (const wrapper of dbModules) {\n // Get the Database Module instance\n const instance = (wrapper as InstanceWrapper).instance as any;\n if (!instance || typeof instance.name !== 'function') {\n this.logger.warn('Skipping a solid DB module wrapper with no instance or name() method');\n continue;\n }\n\n // Get the DataSource for this module\n const dsName: string | undefined = instance.name();\n // getDataSourceToken() without name = default; pass dsName if non-default\n const token = dsName ? getDataSourceToken(dsName) : getDataSourceToken();\n let ds: DataSource | undefined;\n try {\n ds = this.moduleRef.get<DataSource>(token, { strict: false });\n } catch (err: any) {\n this.logger.warn(`DataSource token for \"${dsName ?? 'default'}\" not found: ${err?.message ?? err}`);\n }\n if (!ds) {\n this.logger.warn(`No DataSource found for module \"${dsName}\". Skipping subscriber registration.`);\n continue;\n }\n\n // Ensure DataSource is initialized (optional)\n if (!ds.isInitialized) {\n try {\n await ds.initialize(); // only if you need to initialize here; in many apps datasources are created earlier\n } catch (err: any) {\n this.logger.error(`Failed to initialize DataSource \"${dsName}\": ${err}`);\n continue;\n }\n }\n\n // Register each subscriber class for this DataSource\n // const auditSubscriberInstance = new AuditSubscriber(this.chatterMessageService, this.modelMetadataRepo, this.modelMetadataHelperService);\n // auditSubscriberInstance.bindToDataSource(ds);\n\n // const computedEntityFieldSubscriberInstance = new ComputedEntityFieldSubscriber(this.solidRegistry, this.publisherFactory);\n // computedEntityFieldSubscriberInstance.bindToDataSource(ds);\n\n // const createdByUpdatedBySubscriberInstance = new CreatedByUpdatedBySubscriber(this.requestContextService);\n // createdByUpdatedBySubscriberInstance.bindToDataSource(ds);\n\n // const softDeleteAwareEventSubscriberInstance = new SoftDeleteAwareEventSubscriber();\n // softDeleteAwareEventSubscriberInstance.bindToDataSource(ds);\n for (const SubClass of coreSubscriberClasses) {\n const alreadyRegistered = ds.subscribers.some(\n (s) => (s as any).constructor?.name === SubClass.name,\n );\n if (alreadyRegistered) {\n this.logger.debug(`Subscriber ${SubClass.name} already registered on datasource ${dsName ?? 'default'}`);\n continue;\n }\n\n // Resolve subscriber from NestJS moduleRef to ensure dependencies are injected\n const subscriberInstance = await this.moduleRef.resolve(SubClass, undefined, { strict: false });\n subscriberInstance.bindToDataSource(ds);\n\n // instantiate subscriber bound to this DataSource\n // NOTE: constructor signature must be (dataSource: DataSource, requestContextService: RequestContextService, ...)\n // const subscriberInstance = new (SubClass as any)(ds, this.requestContextService);\n\n // ds.subscribers.push(subscriberInstance);\n // this.logger.log(`Registered subscriber ${SubClass.name} on datasource ${dsName ?? 'default'}`);\n }\n }\n }\n\n isDashboardQuestionDataProvider(providerWrapper: InstanceWrapper<any>) {\n const { instance } = providerWrapper;\n if (!instance) return false;\n const provider = this.reflector.get<boolean>(\n IS_DASHBOARD_QUESTION_DATA_PROVIDER,\n instance.constructor,\n );\n return !!provider;\n }\n\n // This method identifies a provider as a seeder if it has a seed method i.e duck typing\n private isSeeder(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const seedMethod = this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance)).find((methodName) => methodName === 'seed');\n if (!seedMethod) return false;\n return true;\n }\n\n private isErrorCodeProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isErrorCodeProvider = this.reflector.get<boolean>(\n IS_ERROR_CODE_PROVIDER,\n instance.constructor,\n );\n\n return !!isErrorCodeProvider;\n }\n\n private isSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSelectionProvider = this.reflector.get<boolean>(\n IS_SELECTION_PROVIDER,\n instance.constructor,\n );\n\n return !!isSelectionProvider;\n }\n\n private isExtensionUserCreationProvider(provider: InstanceWrapper): boolean {\n const { instance } = provider;\n if (!instance) return false;\n return !!this.reflector.get<boolean>(IS_EXTENSION_USER_CREATION_PROVIDER, instance.constructor);\n }\n\n private isSettingsProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSettingsProvider = this.reflector.get<boolean>(\n IS_SETTINGS_PROVIDER,\n instance.constructor,\n );\n\n return !!isSettingsProvider;\n }\n\n private isDashboardVariableSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n const isDashboardSelectionProvider = this.reflector.get<boolean>(\n IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER,\n instance.constructor,\n );\n return !!isDashboardSelectionProvider;\n }\n\n private isComputedFieldProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isComputedFieldProvider = this.reflector.get<boolean>(\n IS_COMPUTED_FIELD_PROVIDER,\n instance.constructor,\n );\n\n return !!isComputedFieldProvider;\n }\n\n private isScheduledJobProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isScheduledJobProvider = this.reflector.get<boolean>(\n IS_SCHEDULED_JOB_PROVIDER,\n instance.constructor,\n );\n\n return !!isScheduledJobProvider;\n }\n\n private isSolidDatabaseModule(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSolidDatabaseModule = this.reflector.get<boolean>(\n IS_SOLID_DATABASE_MODULE,\n instance.constructor,\n );\n\n return !!isSolidDatabaseModule;\n }\n\n private isMailProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isMailProvider = this.reflector.get<boolean>(\n IS_MAIL_PROVIDER,\n instance.constructor,\n );\n\n return !!isMailProvider;\n }\n\n private isWhatsappProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isWhatsappProvider = this.reflector.get<boolean>(\n IS_WA_PROVIDER,\n instance.constructor,\n );\n\n return !!isWhatsappProvider;\n }\n\n private isSmsProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSmsProvider = this.reflector.get<boolean>(\n IS_SMS_PROVIDER,\n instance.constructor,\n );\n\n return !!isSmsProvider;\n }\n\n private isSecurityRuleConfigProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSecurityRuleConfigProvider = this.reflector.get<boolean>(\n IS_SECURITY_RULE_CONFIG_PROVIDER,\n instance.constructor,\n );\n\n return !!isSecurityRuleConfigProvider;\n }\n\n private isModule(provider: InstanceWrapper): boolean {\n const metatype = provider.metatype;\n // Check if it's a Static Module (Class-Based)\n if (metatype && typeof metatype === 'function' && Reflect.getMetadata('imports', metatype)) {\n return true;\n }\n\n // Ensure provider.instance is an object before checking for 'module'\n if (provider.instance && typeof provider.instance === 'object') {\n // Check if it's a Dynamic Module (Object-Based)\n if ('module' in provider.instance && typeof provider.instance.module === 'function') {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Given a model singular name this will return the crud service instance.\n * @param modelSingularName \n * @returns \n */\n getCRUDService(modelSingularName: string): CRUDService<any> {\n const provider = this.getProvider(`${classify(modelSingularName)}Service`);\n return provider?.instance as CRUDService<any>;\n }\n\n getProvider(providerName: string) {\n return this.discoveryService.getProviders().find((provider) => provider.name === providerName);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-activity-history.service.js","sourceRoot":"","sources":["../../src/services/user-activity-history.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAsD;AACtD,uCAAyC;AACzC,qCAAwC;AAExC,iDAAwD;AAIxD,uEAAkE;AAElE,qGAAgG;AAGzF,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,0BAAgC;IAG9E,YAEE,aAAqC,EAG5B,IAAmC,EACnC,SAAoB,EACpB,qBAA4C;QAGrD,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QARlE,kBAAa,GAAb,aAAa,CAAe;QAG5B,SAAI,GAAJ,IAAI,CAA+B;QACnC,cAAS,GAAT,SAAS,CAAW;QACpB,0BAAqB,GAArB,qBAAqB,CAAuB;QATtC,YAAO,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAC;IAavE,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,KAA4C,EAAE,IAAU;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;YAE5D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,IAAI;gBACJ,KAAK;gBACL,SAAS,EAAE,EAAE;gBACb,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"user-activity-history.service.js","sourceRoot":"","sources":["../../src/services/user-activity-history.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAsD;AACtD,uCAAyC;AACzC,qCAAwC;AAExC,iDAAwD;AAIxD,uEAAkE;AAElE,qGAAgG;AAGzF,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,0BAAgC;IAG9E,YAEE,aAAqC,EAG5B,IAAmC,EACnC,SAAoB,EACpB,qBAA4C;QAGrD,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QARlE,kBAAa,GAAb,aAAa,CAAe;QAG5B,SAAI,GAAJ,IAAI,CAA+B;QACnC,cAAS,GAAT,SAAS,CAAW;QACpB,0BAAqB,GAArB,qBAAqB,CAAuB;QATtC,YAAO,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAC;IAavE,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,KAA4C,EAAE,IAAU;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;YAE5D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,IAAI;gBACJ,KAAK;gBACL,SAAS,EAAE,EAAE;gBACb,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,cAAc,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;CAEF,CAAA;AA/BY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,6BAAmB,GAAE,CAAA;qCACE,uBAAa;QAGtB,gEAA6B;QACxB,gBAAS;QACG,+CAAqB;GAV5C,0BAA0B,CA+BtC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { InjectEntityManager } from '@nestjs/typeorm';\nimport { ModuleRef } from \"@nestjs/core\";\nimport { EntityManager } from 'typeorm';\n\nimport { CRUDService } from 'src/services/crud.service';\n\n\nimport { UserActivityHistory } from '../entities/user-activity-history.entity';\nimport { RequestContextService } from './request-context.service';\nimport { User } from 'src/entities/user.entity';\nimport { UserActivityHistoryRepository } from 'src/repository/user-activity-history.repository';\n\n@Injectable()\nexport class UserActivityHistoryService extends CRUDService<UserActivityHistory> {\n private readonly _logger = new Logger(UserActivityHistoryService.name);\n\n constructor(\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(UserActivityHistory, 'default')\n // readonly repo: Repository<UserActivityHistory>,\n readonly repo: UserActivityHistoryRepository,\n readonly moduleRef: ModuleRef,\n readonly requestContextService: RequestContextService,\n\n ) {\n super(entityManager, repo, 'userActivityHistory', 'solid-core', moduleRef);\n }\n async logEvent(event: 'login' | 'logout' | 'tokenRefreshed', user: User) {\n try {\n const ip = this.requestContextService.getIp();\n const userAgent = this.requestContextService.getUserAgent();\n\n await this.repo.save({\n user,\n event,\n ipAddress: ip,\n userAgent,\n });\n } catch (err: any) {\n this._logger.warn(`Failed to log event \"${event}\" for user ${user?.id}: ${err}`);\n }\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/view-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAE9D,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IACzD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB;IAClD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IAEzD,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAMrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAfpB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,iBAAiB,EAAE,sBAAsB,EACzC,uBAAuB,EAAE,uBAAuB,EAEhD,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,sBAAsB,EAMpB,iBAAiB,EAAE,uBAAuB,EAC1C,0BAA0B,EAAE,0BAA0B,EAC9D,SAAS,EAAE,SAAS;IAK/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;YAGjD,4BAA4B;IA8DpC,SAAS,CAAC,KAAK,KAAA,EAAE,UAAU,KAAA;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"view-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/view-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAE9D,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IACzD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB;IAClD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IAEzD,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAMrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAfpB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,iBAAiB,EAAE,sBAAsB,EACzC,uBAAuB,EAAE,uBAAuB,EAEhD,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,sBAAsB,EAMpB,iBAAiB,EAAE,uBAAuB,EAC1C,0BAA0B,EAAE,0BAA0B,EAC9D,SAAS,EAAE,SAAS;IAK/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;YAGjD,4BAA4B;IA8DpC,SAAS,CAAC,KAAK,KAAA,EAAE,UAAU,KAAA;;;;;;;;;YAsSnB,kBAAkB;IAyB1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK;IAU7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB;IAgBhD,kBAAkB,CAAC,kBAAkB,EAAE,qBAAqB;CAgBnE"}
|
|
@@ -107,6 +107,7 @@ let ViewMetadataService = ViewMetadataService_1 = class ViewMetadataService exte
|
|
|
107
107
|
let viewModes = [];
|
|
108
108
|
const menuItemModelId = menuItem?.action?.model?.id;
|
|
109
109
|
const menuItemModuleId = menuItem?.module?.id;
|
|
110
|
+
const collectionViewTypes = ['card', 'list', 'kanban', 'tree'];
|
|
110
111
|
if (menuItemModelId && menuItemModuleId) {
|
|
111
112
|
const actionQb = await this.actionMetadataService.repo.createSecurityRuleAwareQueryBuilder('action');
|
|
112
113
|
const actionsForViewModes = await actionQb
|
|
@@ -115,9 +116,23 @@ let ViewMetadataService = ViewMetadataService_1 = class ViewMetadataService exte
|
|
|
115
116
|
.leftJoinAndSelect('action.view', 'view')
|
|
116
117
|
.where('model.id = :modelId', { modelId: menuItemModelId })
|
|
117
118
|
.andWhere('module.id = :moduleId', { moduleId: menuItemModuleId })
|
|
118
|
-
.andWhere('view.type IN (:...viewTypes)', { viewTypes:
|
|
119
|
+
.andWhere('view.type IN (:...viewTypes)', { viewTypes: collectionViewTypes })
|
|
119
120
|
.getMany();
|
|
120
|
-
|
|
121
|
+
const canonicalActionsByViewType = new Map();
|
|
122
|
+
for (const actionItem of actionsForViewModes) {
|
|
123
|
+
const resolvedViewType = actionItem.view?.type;
|
|
124
|
+
if (!resolvedViewType || canonicalActionsByViewType.has(resolvedViewType)) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
canonicalActionsByViewType.set(resolvedViewType, actionItem);
|
|
128
|
+
}
|
|
129
|
+
if (action?.view?.type && collectionViewTypes.includes(action.view.type) && action?.id) {
|
|
130
|
+
canonicalActionsByViewType.set(action.view.type, action);
|
|
131
|
+
}
|
|
132
|
+
viewModes = collectionViewTypes
|
|
133
|
+
.map((resolvedViewType) => canonicalActionsByViewType.get(resolvedViewType))
|
|
134
|
+
.filter(Boolean)
|
|
135
|
+
.map(actionItem => ({
|
|
121
136
|
type: actionItem.view?.type ?? '',
|
|
122
137
|
menuItemId: menuItem.id,
|
|
123
138
|
menuItemName: menuItem.displayName,
|