@solidxai/core 0.1.11-beta.6 → 0.1.11-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.claude/settings.local.json +16 -0
  2. package/CLAUDE.md +26 -0
  3. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  4. package/dist/seeders/module-metadata-seeder.service.js +2 -1
  5. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  6. package/dist/services/settings/default-settings-provider.service.d.ts +32 -0
  7. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  8. package/dist/services/settings/default-settings-provider.service.js +14 -0
  9. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  10. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  11. package/dist/subscribers/computed-entity-field.subscriber.js +2 -0
  12. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  13. package/package.json +1 -1
  14. package/src/seeders/module-metadata-seeder.service.ts +2 -1
  15. package/src/services/1.js +6 -0
  16. package/src/services/settings/default-settings-provider.service.ts +14 -0
  17. package/src/subscribers/computed-entity-field.subscriber.ts +2 -1
  18. package/dist-tests/api/authenticate.spec.js +0 -119
  19. package/dist-tests/api/authenticate.spec.js.map +0 -1
  20. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
  21. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
  22. package/dist-tests/api/ping.spec.js +0 -21
  23. package/dist-tests/api/ping.spec.js.map +0 -1
  24. package/dist-tests/helpers/auth.js +0 -41
  25. package/dist-tests/helpers/auth.js.map +0 -1
  26. package/dist-tests/helpers/env.js +0 -11
  27. package/dist-tests/helpers/env.js.map +0 -1
  28. package/docs/agent-hub-grooming.md +0 -301
  29. package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +0 -438
  30. package/docs/dashboards/dashboard-curl-smoke-tests.txt +0 -146
  31. package/docs/dashboards/delete-legacy-dashboard-metadata.sql +0 -172
  32. package/docs/datasource-introspection-ddl-analysis.md +0 -326
  33. package/docs/datasource-introspection-implementation-plan.md +0 -306
  34. package/docs/grouping-enhancements.md +0 -89
  35. package/docs/java-spring/README.md +0 -3
  36. package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
  37. package/docs/module-package-import-handoff.md +0 -691
  38. package/docs/seed-changes.md +0 -65
  39. package/docs/test-data-workflow.md +0 -200
  40. package/docs/type-declaration-import-issue.md +0 -24
@@ -99,6 +99,22 @@ declare const getSolidCoreSettings: (isProd: boolean) => [{
99
99
  readonly label: "In Image View";
100
100
  readonly value: "in_image_view";
101
101
  }];
102
+ }, {
103
+ readonly moduleName: "solid-core";
104
+ readonly key: "rowClickAction";
105
+ readonly value: "edit";
106
+ readonly level: SettingLevel.SystemAdminEditable;
107
+ readonly label: "Row Click Action";
108
+ readonly group: "app-settings";
109
+ readonly sortOrder: 45;
110
+ readonly controlType: "selectionStatic";
111
+ readonly options: [{
112
+ readonly label: "Edit";
113
+ readonly value: "edit";
114
+ }, {
115
+ readonly label: "View";
116
+ readonly value: "view";
117
+ }];
102
118
  }, {
103
119
  readonly moduleName: "solid-core";
104
120
  readonly key: "showAuthContent";
@@ -1247,6 +1263,22 @@ export declare class SolidCoreDefaultSettingsProvider implements ISettingsProvid
1247
1263
  readonly label: "In Image View";
1248
1264
  readonly value: "in_image_view";
1249
1265
  }];
1266
+ }, {
1267
+ readonly moduleName: "solid-core";
1268
+ readonly key: "rowClickAction";
1269
+ readonly value: "edit";
1270
+ readonly level: SettingLevel.SystemAdminEditable;
1271
+ readonly label: "Row Click Action";
1272
+ readonly group: "app-settings";
1273
+ readonly sortOrder: 45;
1274
+ readonly controlType: "selectionStatic";
1275
+ readonly options: [{
1276
+ readonly label: "Edit";
1277
+ readonly value: "edit";
1278
+ }, {
1279
+ readonly label: "View";
1280
+ readonly value: "view";
1281
+ }];
1250
1282
  }, {
1251
1283
  readonly moduleName: "solid-core";
1252
1284
  readonly key: "showAuthContent";
@@ -1 +1 @@
1
- {"version":3,"file":"default-settings-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/settings/default-settings-provider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-settings-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/settings/default-settings-provider.service.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,20 @@ const getSolidCoreSettings = (isProd) => [
113
113
  { label: "In Image View", value: "in_image_view" },
114
114
  ],
115
115
  },
116
+ {
117
+ moduleName: "solid-core",
118
+ key: "rowClickAction",
119
+ value: "edit",
120
+ level: interfaces_1.SettingLevel.SystemAdminEditable,
121
+ label: "Row Click Action",
122
+ group: "app-settings",
123
+ sortOrder: 45,
124
+ controlType: "selectionStatic",
125
+ options: [
126
+ { label: "Edit", value: "edit" },
127
+ { label: "View", value: "view" },
128
+ ],
129
+ },
116
130
  {
117
131
  moduleName: "solid-core",
118
132
  key: "showAuthContent",
@@ -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: \"iamMicrosoftActiveDirectoryOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Microsoft Active Directory\",\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: \"frontendAdminBaseUrl\",\n value: process.env.FRONTEND_BASE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Admin Base URL\",\n group: \"system-settings\",\n sortOrder: 35,\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 // microsoft-active-directory-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CLIENT_ID\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Client ID\",\n group: \"oauth-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CLIENT_SECRET\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID\",\n value:\n process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT_ID || \"common\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Tenant ID\",\n group: \"oauth-settings\",\n sortOrder: 80,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CALLBACK_URL\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Callback URL\",\n group: \"oauth-settings\",\n sortOrder: 90,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_REDIRECT_URL\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Redirect URL\",\n group: \"oauth-settings\",\n sortOrder: 100,\n controlType: \"shortText\",\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: \"otpWhatsappFallbackEnabled\",\n value: (process.env.IAM_OTP_WHATSAPP_FALLBACK_ENABLED ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Fallback Enabled\",\n group: \"authentication-settings\",\n sortOrder: 85,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpWhatsappTemplateId\",\n value: process.env.IAM_OTP_WHATSAPP_TEMPLATE_ID ?? \"common_otp\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Template ID\",\n group: \"authentication-settings\",\n sortOrder: 86,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpWhatsappIndependentEnabled\",\n value: (process.env.IAM_OTP_WHATSAPP_INDEPENDENT_ENABLED ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Independent Enabled\",\n group: \"authentication-settings\",\n sortOrder: 87,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpDefaultCountryDialCode\",\n value: process.env.IAM_OTP_DEFAULT_COUNTRY_DIAL_CODE ?? \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP Default Country Dial Code\",\n group: \"authentication-settings\",\n sortOrder: 88,\n controlType: \"shortText\",\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 {\n moduleName: \"solid-core\",\n key: \"metaWhatsappApiUrl\",\n value: process.env.COMMON_META_WHATSAPP_API_URL || \"https://graph.facebook.com\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp API URL\",\n group: \"whatsapp-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappApiVersion\",\n value: process.env.COMMON_META_WHATSAPP_API_VERSION || \"v23.0\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp API Version\",\n group: \"whatsapp-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappPhoneNumberId\",\n value: process.env.COMMON_META_WHATSAPP_PHONE_NUMBER_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp Phone Number ID\",\n group: \"whatsapp-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappBusinessAccountId\",\n value: process.env.COMMON_META_WHATSAPP_BUSINESS_ACCOUNT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp Business Account ID\",\n group: \"whatsapp-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappAccessToken\",\n value: process.env.COMMON_META_WHATSAPP_ACCESS_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappWebhookVerifyToken\",\n value: process.env.COMMON_META_WHATSAPP_WEBHOOK_VERIFY_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappAppSecret\",\n value: process.env.COMMON_META_WHATSAPP_APP_SECRET,\n level: SettingLevel.SystemEnv,\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: \"iamMicrosoftActiveDirectoryOAuthEnabled\",\n value: false,\n level: SettingLevel.SystemAdminEditable,\n label: \"Allow Login / Signup With Microsoft Active Directory\",\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: \"rowClickAction\",\n value: \"edit\",\n level: SettingLevel.SystemAdminEditable,\n label: \"Row Click Action\",\n group: \"app-settings\",\n sortOrder: 45,\n controlType: \"selectionStatic\",\n options: [\n { label: \"Edit\", value: \"edit\" },\n { label: \"View\", value: \"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: \"frontendAdminBaseUrl\",\n value: process.env.FRONTEND_BASE_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Frontend Admin Base URL\",\n group: \"system-settings\",\n sortOrder: 35,\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 // microsoft-active-directory-oauth-settings-provider.service.ts\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CLIENT_ID\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Client ID\",\n group: \"oauth-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CLIENT_SECRET\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_SECRET,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID\",\n value:\n process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT_ID || \"common\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Tenant ID\",\n group: \"oauth-settings\",\n sortOrder: 80,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_CALLBACK_URL\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CALLBACK_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Callback URL\",\n group: \"oauth-settings\",\n sortOrder: 90,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"MICROSOFT_ACTIVE_DIRECTORY_REDIRECT_URL\",\n value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_REDIRECT_URL,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Microsoft Active Directory OAuth Redirect URL\",\n group: \"oauth-settings\",\n sortOrder: 100,\n controlType: \"shortText\",\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: \"otpWhatsappFallbackEnabled\",\n value: (process.env.IAM_OTP_WHATSAPP_FALLBACK_ENABLED ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Fallback Enabled\",\n group: \"authentication-settings\",\n sortOrder: 85,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpWhatsappTemplateId\",\n value: process.env.IAM_OTP_WHATSAPP_TEMPLATE_ID ?? \"common_otp\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Template ID\",\n group: \"authentication-settings\",\n sortOrder: 86,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpWhatsappIndependentEnabled\",\n value: (process.env.IAM_OTP_WHATSAPP_INDEPENDENT_ENABLED ?? \"true\") === \"true\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP WhatsApp Independent Enabled\",\n group: \"authentication-settings\",\n sortOrder: 87,\n controlType: \"boolean\",\n },\n {\n moduleName: \"solid-core\",\n key: \"otpDefaultCountryDialCode\",\n value: process.env.IAM_OTP_DEFAULT_COUNTRY_DIAL_CODE ?? \"\",\n level: SettingLevel.SystemAdminEditable,\n label: \"OTP Default Country Dial Code\",\n group: \"authentication-settings\",\n sortOrder: 88,\n controlType: \"shortText\",\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 {\n moduleName: \"solid-core\",\n key: \"metaWhatsappApiUrl\",\n value: process.env.COMMON_META_WHATSAPP_API_URL || \"https://graph.facebook.com\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp API URL\",\n group: \"whatsapp-settings\",\n sortOrder: 40,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappApiVersion\",\n value: process.env.COMMON_META_WHATSAPP_API_VERSION || \"v23.0\",\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp API Version\",\n group: \"whatsapp-settings\",\n sortOrder: 50,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappPhoneNumberId\",\n value: process.env.COMMON_META_WHATSAPP_PHONE_NUMBER_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp Phone Number ID\",\n group: \"whatsapp-settings\",\n sortOrder: 60,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappBusinessAccountId\",\n value: process.env.COMMON_META_WHATSAPP_BUSINESS_ACCOUNT_ID,\n level: SettingLevel.SystemAdminReadonly,\n label: \"Meta WhatsApp Business Account ID\",\n group: \"whatsapp-settings\",\n sortOrder: 70,\n controlType: \"shortText\",\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappAccessToken\",\n value: process.env.COMMON_META_WHATSAPP_ACCESS_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappWebhookVerifyToken\",\n value: process.env.COMMON_META_WHATSAPP_WEBHOOK_VERIFY_TOKEN,\n level: SettingLevel.SystemEnv,\n },\n {\n moduleName: \"solid-core\",\n key: \"metaWhatsappAppSecret\",\n value: process.env.COMMON_META_WHATSAPP_APP_SECRET,\n level: SettingLevel.SystemEnv,\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":"computed-entity-field.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAuB,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvG,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IACzE,cAAc,EAAE,GAAG,CAAC;CACvB;AAED,qBAEa,6BAA8B,YAAW,yBAAyB;IAMvE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAPrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,UAAU,CAAa;gBAIV,aAAa,EAAE,aAAa,EAE5B,gBAAgB,EAAE,gBAAgB,CAAC,8BAA8B,CAAC;IAMvF,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAKjC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAMnD,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAOzD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAMnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAOnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;YAQrB,6BAA6B;IAe3C,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,8BAA8B;YASxB,qBAAqB;IAWnC,OAAO,CAAC,4BAA4B;YAetB,eAAe;IAY7B,OAAO,CAAC,iCAAiC;IAYzC,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,oBAAoB;CA2B/B"}
1
+ {"version":3,"file":"computed-entity-field.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAuB,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvG,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IACzE,cAAc,EAAE,GAAG,CAAC;CACvB;AAED,qBAEa,6BAA8B,YAAW,yBAAyB;IAMvE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAPrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,UAAU,CAAa;gBAIV,aAAa,EAAE,aAAa,EAE5B,gBAAgB,EAAE,gBAAgB,CAAC,8BAA8B,CAAC;IAMvF,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAKjC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAMnD,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAOzD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAMnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAOnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;YAQrB,6BAA6B;IAe3C,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,8BAA8B;YASxB,qBAAqB;IAWnC,OAAO,CAAC,4BAA4B;YAetB,eAAe;IAY7B,OAAO,CAAC,iCAAiC;IAazC,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,oBAAoB;CA2B/B"}
@@ -110,8 +110,10 @@ let ComputedEntityFieldSubscriber = class ComputedEntityFieldSubscriber {
110
110
  }
111
111
  }
112
112
  enqueueComputedFieldEvaluationJob(computedField, databaseEntity, eventContext) {
113
+ const { manager: _manager, ...serializableEventContext } = computedField.eventContext ?? {};
113
114
  const payload = {
114
115
  ...computedField,
116
+ eventContext: serializableEventContext,
115
117
  databaseEntity,
116
118
  };
117
119
  this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher');
@@ -1 +1 @@
1
- {"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from 'lodash';\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);\n }\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error: any) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n // eventContext,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n manager: event.manager,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
1
+ {"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from 'lodash';\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);\n }\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error: any) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const { manager: _manager, ...serializableEventContext } = computedField.eventContext ?? {};\n const payload = {\n ...computedField,\n eventContext: serializableEventContext,\n databaseEntity,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n manager: event.manager,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core",
3
- "version": "0.1.11-beta.6",
3
+ "version": "0.1.11-beta.8",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1473,7 +1473,8 @@ export class ModuleMetadataSeederService {
1473
1473
  updatedAt?: Date;
1474
1474
  };
1475
1475
  }) {
1476
- const consumingProjectName = path.basename(process.cwd());
1476
+ const consumingProjectRoot = path.resolve(process.cwd(), '..');
1477
+ const consumingProjectName = path.basename(consumingProjectRoot);
1477
1478
  const solidxDir = path.join(os.homedir(), '.solidx', consumingProjectName);
1478
1479
  const configPath = path.join(solidxDir, 'mcp.json');
1479
1480
  await fs.promises.mkdir(solidxDir, { recursive: true });
@@ -0,0 +1,6 @@
1
+ 1. Do i need to create a storeStreams method for aws service too?
2
+ - Handle later
3
+ 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
+ - startExport should either return the data or return the transaction id
5
+ 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
+ - show the userKey