@solidxai/core 0.1.8-beta.10 → 0.1.8-beta.11

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 (55) hide show
  1. package/README.md +197 -0
  2. package/dist/entities/setting.entity.d.ts +1 -0
  3. package/dist/entities/setting.entity.d.ts.map +1 -1
  4. package/dist/entities/setting.entity.js +5 -1
  5. package/dist/entities/setting.entity.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/interfaces.d.ts +12 -0
  11. package/dist/interfaces.d.ts.map +1 -1
  12. package/dist/interfaces.js.map +1 -1
  13. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  14. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts.map +1 -1
  15. package/dist/jobs/database/chatter-queue-publisher-database.service.js.map +1 -1
  16. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +1 -1
  17. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts.map +1 -1
  18. package/dist/jobs/database/chatter-queue-subscriber-database.service.js.map +1 -1
  19. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -12
  20. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts.map +1 -1
  21. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.js.map +1 -1
  22. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +1 -1
  23. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts.map +1 -1
  24. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js.map +1 -1
  25. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +1 -1
  26. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts.map +1 -1
  27. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js.map +1 -1
  28. package/dist/services/encryption.service.d.ts +8 -0
  29. package/dist/services/encryption.service.d.ts.map +1 -0
  30. package/dist/services/encryption.service.js +75 -0
  31. package/dist/services/encryption.service.js.map +1 -0
  32. package/dist/services/setting.service.d.ts +1 -0
  33. package/dist/services/setting.service.d.ts.map +1 -1
  34. package/dist/services/setting.service.js +35 -7
  35. package/dist/services/setting.service.js.map +1 -1
  36. package/dist/services/settings/default-settings-provider.service.d.ts +12 -0
  37. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  38. package/dist/services/settings/default-settings-provider.service.js +4 -3
  39. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  40. package/dist/subscribers/audit.subscriber.d.ts +1 -1
  41. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  42. package/dist/subscribers/audit.subscriber.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/entities/setting.entity.ts +3 -0
  45. package/src/index.ts +1 -0
  46. package/src/interfaces.ts +16 -0
  47. package/src/jobs/database/chatter-queue-publisher-database.service.ts +1 -1
  48. package/src/jobs/database/chatter-queue-subscriber-database.service.ts +1 -1
  49. package/src/jobs/rabbitmq/chatter-queue-publisher.service.ts +1 -15
  50. package/src/jobs/rabbitmq/chatter-queue-subscriber.service.ts +1 -1
  51. package/src/jobs/redis/chatter-queue-subscriber-redis.service.ts +1 -1
  52. package/src/services/encryption.service.ts +43 -0
  53. package/src/services/setting.service.ts +38 -9
  54. package/src/services/settings/default-settings-provider.service.ts +4 -3
  55. package/src/subscribers/audit.subscriber.ts +1 -1
@@ -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 { ISettingsProvider, SettingDefinition, SettingLevel } 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 { moduleName: \"solid-core\", key: \"iamGoogleOAuthEnabled\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authPagesLayout\", value: \"center\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authPagesTheme\", value: \"light\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appLogo\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"companylogo\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"favicon\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appLogoPosition\", value: \"in_form_view\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"showAuthContent\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appTitle\", value: process.env.SOLID_APP_NAME || \"Solid App\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appSubtitle\", value: process.env.SOLID_APP_SUBTITLE || \"\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appDescription\", value: process.env.SOLID_APP_DESCRIPTION || \"\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"showLegalLinks\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appTnc\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appPrivacyPolicy\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enableDarkMode\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"copyright\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enableUsername\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enabledNotification\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportEmail\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportDisplayName\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportIcon\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenRightBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenLeftBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenCenterBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n {\n moduleName: \"solid-core\", key: \"solidXGenAiCodeBuilderConfig\", value: JSON.stringify({\n models: {\n default: { providerKey: \"\", behavior: { streaming: false, custom: \"\" } },\n fast: { providerKey: \"\", behavior: { streaming: false, custom: \"\" } },\n },\n providers: {},\n }), level: SettingLevel.SystemAdminEditable\n },\n { moduleName: \"solid-core\", key: \"mcpEnabled\", value: process.env.MCP_ENABLED || false, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"mcpServerUrl\", value: process.env.MCP_SERVER_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"mcpApiKey\", value: process.env.MCP_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"dateTimeFormat\", value: process.env.DATE_TIME_FORMAT || \"YYYY-MM-DD HH:mm:ss\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"dateFormat\", value: process.env.DATE_FORMAT || \"YYYY-MM-DD\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"baseUrl\", value: process.env.BASE_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"solidAppWebsiteUrl\", value: process.env.SOLID_APP_WEBSITE_URL, level: SettingLevel.SystemAdminEditable },\n\n // app-builder-settings-provider.service.ts, app-builder.config.ts\n { moduleName: \"solid-core\", key: \"moduleMetadataSeederFiles\", value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? '', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"uploadDir\", value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"fileStorageDir\", value: process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"defaultFileService\", value: process.env.DEFAULT_FILE_SERVICE ?? 'disk', level: SettingLevel.SystemAdminReadonly },\n\n // aws-s3-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"S3_AWS_ACCESS_KEY\", value: process.env.S3_AWS_ACCESS_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"S3_AWS_SECRET_KEY\", value: process.env.S3_AWS_SECRET_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"S3_AWS_REGION_NAME\", value: process.env.S3_AWS_REGION_NAME, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"S3_DEFAULT_BUCKET\", value: process.env.S3_DEFAULT_BUCKET, level: SettingLevel.SystemAdminReadonly },\n\n // email-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"emailProvider\", value: process.env.COMMON_EMAIL_PROVIDER ?? \"SMTPEMailService\", level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"emailTemplateSeederFiles\", value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"shouldQueueEmails\", value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailHost\", value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailPort\", value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587), level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailUsername\", value: process.env.COMMON_SMTP_EMAIL_USERNAME, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailPassword\", value: process.env.COMMON_SMTP_EMAIL_PASSWORD, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"smtpMailFrom\", value: process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"apiMailKey\", value: process.env.COMMON_API_EMAIL_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"apiMailFrom\", value: process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },\n\n // genai-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"ragServerUrl\", value: process.env.GENAI_RAG_SERVER_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"ragServerLogin\", value: process.env.GENAI_RAG_SERVER_LOGIN, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"ragServerPassword\", value: process.env.GENAI_RAG_SERVER_PASSWORD, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpPythonExecutable\", value: process.env.MCP_PYTHON_EXECUTABLE, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpClient\", value: process.env.MCP_CLIENT, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpRestartTouchFile\", value: process.env.MCP_RESTART_TOUCH_FILE || \"tmp/restart.touch\", level: SettingLevel.SystemEnv },\n\n // google-oauth-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"clientID\", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"clientSecret\", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"callbackURL\", value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"redirectURL\", value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL, level: SettingLevel.SystemAdminReadonly },\n\n // iam-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"passwordLessAuth\", value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? 'false') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordBasedAuth\", value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordlessRegistrationValidateWhat\", value: (process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? 'email').trim(), level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordlessLoginValidateWhat\", value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? 'email', level: SettingLevel.SystemAdminEditable }, \n { moduleName: \"solid-core\", key: \"allowPublicRegistration\", value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"activateUserOnRegistration\", value: (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"autoLoginUserOnRegistration\", value: (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? 'false') === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"otpExpiry\", value: parseInt(process.env.IAM_OTP_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"forgotPasswordVerificationTokenExpiry\", value: parseInt(process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"defaultRole\", value: process.env.IAM_DEFAULT_ROLE ?? 'Public', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"dummyOtp\", value: process.env.IAM_OTP_DUMMY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"dummyOtpUsers\", value: process.env.IAM_OTP_DUMMY_USERS, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"forgotPasswordSendVerificationTokenOn\", value: process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? 'email', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"maxFailedLoginAttempts\", value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? '0'), level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"forceChangePasswordOnFirstLogin\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordRegex\", value: process.env.PASSWORD_REGEX || '^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[^\\\\da-zA-Z]).*$', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordRegexErrorMessage\", value: process.env.PASSWORD_REGEX_ERROR_MESSAGE || 'Password must contain at least one uppercase, one lowercase, one number, and one special character.', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordComplexityDescription\", value: process.env.PASSWORD_COMPLEXITY_DESC || 'Password must contain at least one uppercase, one lowercase, one number, and one special character.', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"iamAutoGeneratedPassword\", value: process.env.IAM_AUTOGENERATED_PASSWORD || true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordPepper\", value: process.env.IAM_PASSWORD_PEPPER || '', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"showNameFieldsForRegistration\", value: process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === 'true' ? true : false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"sendWelcomeEmailOnSignup\", value: (process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"sendWelcomeSmsOnSignup\", value: (process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"frontendLoginPageUrl\", value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"frontendForgotPasswordPageUrl\", value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL, level: SettingLevel.SystemAdminReadonly },\n\n // jwt-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"secret\", value: process.env.IAM_JWT_SECRET, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"audience\", value: process.env.IAM_JWT_TOKEN_AUDIENCE, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"issuer\", value: process.env.IAM_JWT_TOKEN_ISSUER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"accessTokenTtl\", value: parseInt(process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? \"1200\" : \"86400\"), 10,), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"refreshTokenTtl\", value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? \"604800\", 10), level: SettingLevel.SystemEnv },\n\n // queues-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"queuesDefaultBroker\", value: process.env.QUEUES_DEFAULT_BROKER || 'database', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"queuesServiceRole\", value: process.env.QUEUES_SERVICE_ROLE, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"queuesRabbitMqUrl\", value: process.env.QUEUES_RABBIT_MQ_URL, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"solidCliRunning\", value: process.env.SOLID_CLI_RUNNING || \"false\", level: SettingLevel.SystemEnv },\n\n // sms-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"smsProvider\", value: process.env.COMMON_SMS_PROVIDER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smsTemplateSeederFiles\", value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"shouldQueueSms\", value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91SmsUrl\", value: process.env.COMMON_MSG91_SMS_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91SmsApiKey\", value: process.env.COMMON_MSG91_SMS_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"twilioAccountSid\", value: process.env.COMMON_TWILIO_ACCOUNT_SID, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"twilioAuthToken\", value: process.env.COMMON_TWILIO_AUTH_TOKEN, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"twilioNumber\", value: process.env.COMMON_TWILIO_NUMBER, level: SettingLevel.SystemAdminReadonly },\n\n // tiny-url-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"tinyUrlApiUrl\", value: process.env.COMMON_SHORT_URL_API_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"tinyUrlApiKey\", value: process.env.COMMON_SHORT_URL_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"tinyUrlDomain\", value: process.env.COMMON_SHORT_URL_DOMAIN, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"tinyUrlEnabled\", value: (process.env.COMMON_SHORT_URL_ENABLED ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n\n // whatsapp-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"whatsappProvider\", value: process.env.COMMON_WHATSAPP_PROVIDER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91WhatsappUrl\", value: process.env.COMMON_WHATSAPP_API_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91WhatsappApiKey\", value: process.env.COMMON_WHATSAPP_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"msg91WhatsappIntegratedNumber\", value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER, level: SettingLevel.SystemAdminReadonly },\n] as const satisfies SettingDefinition[]);\n\n// 2. \nexport type SolidCoreSetting = ReturnType<typeof getSolidCoreSettings>[number][\"key\"];\n\n// 3. \n@SettingsProvider()\n@Injectable()\nexport class SolidCoreDefaultSettingsProvider implements ISettingsProvider {\n\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":";;;;;;;;;AAAA,2CAA4C;AAC5C,wGAA8E;AAC9E,8FAA8E;AAC9E,iDAAoF;AAEvE,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAC3C,QAAA,8BAA8B,GAAG,qBAAqB,CAAC;AAGpE,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAE;IACjD,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC9G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC5G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAClG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACtG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAClG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACpH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,WAAW,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACxI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACtI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC5I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACpG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC9G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC9G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACpH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACxH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iCAAiC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1H;QACE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YACnF,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAClF,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;aAChF;YACD,SAAS,EAAE,EAAE;SACd,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI;KAC7D;IACD,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC3H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC7G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,qBAAqB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACxI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAClH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAG1I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,gCAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,sCAA8B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC5K,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAGnJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC3H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC3H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACvI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAGrI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,kBAAkB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACrK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACpJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACtK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACvH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAG/H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC7H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACjI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC5G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,mBAAmB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAGzJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACrI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAG3I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1K,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,sCAAsC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACvM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,OAAO,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAChL,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC9K,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACrL,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC/K,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAClI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,uCAAuC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC7L,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,QAAQ,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC9G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACzH,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,uCAAuC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,OAAO,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACvL,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACvK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,0DAA0D,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1M,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,yCAAyC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,qGAAqG,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC/Q,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,6CAA6C,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,qGAAqG,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC/Q,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAChI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC/L,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACvL,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACnL,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACtJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAGzK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC7G,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC7H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAE,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC7K,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAG3J,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,UAAU,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACvI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC9H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAGpI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACjI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACzJ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAChK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAClI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC/H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC5I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAChI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAGnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACxI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IAC9H,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IACvI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAGjK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC3I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;IAC1I,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,yBAAY,CAAC,SAAS,EAAE;IACnI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,EAAE,yBAAY,CAAC,mBAAmB,EAAE;CAC1H,CAAC;AAQnC,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAE3C,WAAW;QACT,MAAM,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,GAAmB,KAAK,8CAAW,CAAC,UAAU,CAAC;QAC3E,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF,CAAA;AANY,4EAAgC;2CAAhC,gCAAgC;IAF5C,IAAA,8CAAgB,GAAE;IAClB,IAAA,mBAAU,GAAE;GACA,gCAAgC,CAM5C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { Environment } from \"src/decorators/disallow-in-production.decorator\";\nimport { SettingsProvider } from \"src/decorators/settings-provider.decorator\";\nimport { ISettingsProvider, SettingDefinition, SettingLevel } 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 { moduleName: \"solid-core\", key: \"iamGoogleOAuthEnabled\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authPagesLayout\", value: \"center\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authPagesTheme\", value: \"light\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appLogo\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"companylogo\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"favicon\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appLogoPosition\", value: \"in_form_view\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"showAuthContent\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appTitle\", value: process.env.SOLID_APP_NAME || \"Solid App\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appSubtitle\", value: process.env.SOLID_APP_SUBTITLE || \"\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appDescription\", value: process.env.SOLID_APP_DESCRIPTION || \"\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"showLegalLinks\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appTnc\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"appPrivacyPolicy\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enableDarkMode\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"copyright\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enableUsername\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"enabledNotification\", value: true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportEmail\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportDisplayName\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"contactSupportIcon\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenRightBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenLeftBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authScreenCenterBackgroundImage\", value: null, level: SettingLevel.SystemAdminEditable },\n {\n moduleName: \"solid-core\", key: \"solidXGenAiCodeBuilderConfig\", value: JSON.stringify({\n models: {\n default: { providerId: \"\", model: \"\", behavior: { streaming: false, custom: \"\" } },\n fast: { providerId: \"\", model: \"\", behavior: { streaming: false, custom: \"\" } },\n },\n providers: {},\n }), level: SettingLevel.SystemAdminEditable, encrypted: true\n },\n { moduleName: \"solid-core\", key: \"appEncryptionKey\", value: process.env.APP_ENCRYPTION_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpEnabled\", value: process.env.MCP_ENABLED || false, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"mcpServerUrl\", value: process.env.MCP_SERVER_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"mcpApiKey\", value: process.env.MCP_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"dateTimeFormat\", value: process.env.DATE_TIME_FORMAT || \"YYYY-MM-DD HH:mm:ss\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"dateFormat\", value: process.env.DATE_FORMAT || \"YYYY-MM-DD\", level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"baseUrl\", value: process.env.BASE_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"solidAppWebsiteUrl\", value: process.env.SOLID_APP_WEBSITE_URL, level: SettingLevel.SystemAdminEditable },\n\n // app-builder-settings-provider.service.ts, app-builder.config.ts\n { moduleName: \"solid-core\", key: \"moduleMetadataSeederFiles\", value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? '', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"uploadDir\", value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"fileStorageDir\", value: process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"defaultFileService\", value: process.env.DEFAULT_FILE_SERVICE ?? 'disk', level: SettingLevel.SystemAdminReadonly },\n\n // aws-s3-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"S3_AWS_ACCESS_KEY\", value: process.env.S3_AWS_ACCESS_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"S3_AWS_SECRET_KEY\", value: process.env.S3_AWS_SECRET_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"S3_AWS_REGION_NAME\", value: process.env.S3_AWS_REGION_NAME, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"S3_DEFAULT_BUCKET\", value: process.env.S3_DEFAULT_BUCKET, level: SettingLevel.SystemAdminReadonly },\n\n // email-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"emailProvider\", value: process.env.COMMON_EMAIL_PROVIDER ?? \"SMTPEMailService\", level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"emailTemplateSeederFiles\", value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"shouldQueueEmails\", value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailHost\", value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailPort\", value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587), level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailUsername\", value: process.env.COMMON_SMTP_EMAIL_USERNAME, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smtpMailPassword\", value: process.env.COMMON_SMTP_EMAIL_PASSWORD, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"smtpMailFrom\", value: process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"apiMailKey\", value: process.env.COMMON_API_EMAIL_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"apiMailFrom\", value: process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },\n\n // genai-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"ragServerUrl\", value: process.env.GENAI_RAG_SERVER_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"ragServerLogin\", value: process.env.GENAI_RAG_SERVER_LOGIN, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"ragServerPassword\", value: process.env.GENAI_RAG_SERVER_PASSWORD, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpPythonExecutable\", value: process.env.MCP_PYTHON_EXECUTABLE, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpClient\", value: process.env.MCP_CLIENT, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"mcpRestartTouchFile\", value: process.env.MCP_RESTART_TOUCH_FILE || \"tmp/restart.touch\", level: SettingLevel.SystemEnv },\n\n // google-oauth-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"clientID\", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"clientSecret\", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"callbackURL\", value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"redirectURL\", value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL, level: SettingLevel.SystemAdminReadonly },\n\n // iam-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"passwordLessAuth\", value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? 'false') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordBasedAuth\", value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordlessRegistrationValidateWhat\", value: (process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? 'email').trim(), level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordlessLoginValidateWhat\", value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? 'email', level: SettingLevel.SystemAdminEditable }, \n { moduleName: \"solid-core\", key: \"allowPublicRegistration\", value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"activateUserOnRegistration\", value: (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"autoLoginUserOnRegistration\", value: (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? 'false') === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"otpExpiry\", value: parseInt(process.env.IAM_OTP_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"forgotPasswordVerificationTokenExpiry\", value: parseInt(process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"defaultRole\", value: process.env.IAM_DEFAULT_ROLE ?? 'Public', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"dummyOtp\", value: process.env.IAM_OTP_DUMMY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"dummyOtpUsers\", value: process.env.IAM_OTP_DUMMY_USERS, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"forgotPasswordSendVerificationTokenOn\", value: process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? 'email', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"maxFailedLoginAttempts\", value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? '0'), level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"forceChangePasswordOnFirstLogin\", value: false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordRegex\", value: process.env.PASSWORD_REGEX || '^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[^\\\\da-zA-Z]).*$', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordRegexErrorMessage\", value: process.env.PASSWORD_REGEX_ERROR_MESSAGE || 'Password must contain at least one uppercase, one lowercase, one number, and one special character.', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"authenticationPasswordComplexityDescription\", value: process.env.PASSWORD_COMPLEXITY_DESC || 'Password must contain at least one uppercase, one lowercase, one number, and one special character.', level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"iamAutoGeneratedPassword\", value: process.env.IAM_AUTOGENERATED_PASSWORD || true, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"passwordPepper\", value: process.env.IAM_PASSWORD_PEPPER || '', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"showNameFieldsForRegistration\", value: process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === 'true' ? true : false, level: SettingLevel.SystemAdminEditable },\n { moduleName: \"solid-core\", key: \"sendWelcomeEmailOnSignup\", value: (process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"sendWelcomeSmsOnSignup\", value: (process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"frontendLoginPageUrl\", value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"frontendForgotPasswordPageUrl\", value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL, level: SettingLevel.SystemAdminReadonly },\n\n // jwt-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"secret\", value: process.env.IAM_JWT_SECRET, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"audience\", value: process.env.IAM_JWT_TOKEN_AUDIENCE, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"issuer\", value: process.env.IAM_JWT_TOKEN_ISSUER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"accessTokenTtl\", value: parseInt(process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? \"1200\" : \"86400\"), 10,), level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"refreshTokenTtl\", value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? \"604800\", 10), level: SettingLevel.SystemEnv },\n\n // queues-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"queuesDefaultBroker\", value: process.env.QUEUES_DEFAULT_BROKER || 'database', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"queuesServiceRole\", value: process.env.QUEUES_SERVICE_ROLE, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"queuesRabbitMqUrl\", value: process.env.QUEUES_RABBIT_MQ_URL, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"solidCliRunning\", value: process.env.SOLID_CLI_RUNNING || \"false\", level: SettingLevel.SystemEnv },\n\n // sms-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"smsProvider\", value: process.env.COMMON_SMS_PROVIDER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"smsTemplateSeederFiles\", value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"shouldQueueSms\", value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91SmsUrl\", value: process.env.COMMON_MSG91_SMS_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91SmsApiKey\", value: process.env.COMMON_MSG91_SMS_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"twilioAccountSid\", value: process.env.COMMON_TWILIO_ACCOUNT_SID, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"twilioAuthToken\", value: process.env.COMMON_TWILIO_AUTH_TOKEN, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"twilioNumber\", value: process.env.COMMON_TWILIO_NUMBER, level: SettingLevel.SystemAdminReadonly },\n\n // tiny-url-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"tinyUrlApiUrl\", value: process.env.COMMON_SHORT_URL_API_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"tinyUrlApiKey\", value: process.env.COMMON_SHORT_URL_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"tinyUrlDomain\", value: process.env.COMMON_SHORT_URL_DOMAIN, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"tinyUrlEnabled\", value: (process.env.COMMON_SHORT_URL_ENABLED ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },\n\n // whatsapp-settings-provider.service.ts\n { moduleName: \"solid-core\", key: \"whatsappProvider\", value: process.env.COMMON_WHATSAPP_PROVIDER, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91WhatsappUrl\", value: process.env.COMMON_WHATSAPP_API_URL, level: SettingLevel.SystemAdminReadonly },\n { moduleName: \"solid-core\", key: \"msg91WhatsappApiKey\", value: process.env.COMMON_WHATSAPP_API_KEY, level: SettingLevel.SystemEnv },\n { moduleName: \"solid-core\", key: \"msg91WhatsappIntegratedNumber\", value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER, level: SettingLevel.SystemAdminReadonly },\n] as const satisfies SettingDefinition[]);\n\n// 2. \nexport type SolidCoreSetting = ReturnType<typeof getSolidCoreSettings>[number][\"key\"];\n\n// 3. \n@SettingsProvider()\n@Injectable()\nexport class SolidCoreDefaultSettingsProvider implements ISettingsProvider {\n\n getSettings() {\n const isProd = (process.env.ENV as Environment) === Environment.Production;\n return getSolidCoreSettings(isProd);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { SolidRegistry } from 'src/helpers/solid-registry';
2
2
  import { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
3
- import { AuditQueuePayload } from 'src/jobs/rabbitmq/chatter-queue-publisher.service';
3
+ import { AuditQueuePayload } from 'src/interfaces';
4
4
  import { RequestContextService } from 'src/services/request-context.service';
5
5
  import { PublisherFactory } from 'src/services/queues/publisher-factory.service';
6
6
  export declare class AuditSubscriber implements EntitySubscriberInterface {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAkB,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEjF,qBACa,eAAgB,YAAW,yBAAyB;IAIzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,UAAU,CAAa;gBAEV,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACrD,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAGjE,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAMvC,OAAO,CAAC,MAAM,CAA2C;IAEzD,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAId,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAYnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAgBnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAanC,sBAAsB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;IAoBxD,wBAAwB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;CAIvD"}
1
+ {"version":3,"file":"audit.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAkB,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEjF,qBACa,eAAgB,YAAW,yBAAyB;IAIzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,UAAU,CAAa;gBAEV,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACrD,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAGjE,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAMvC,OAAO,CAAC,MAAM,CAA2C;IAEzD,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAId,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAYnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAgBnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAanC,sBAAsB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;IAoBxD,wBAAwB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;CAIvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger, Scope } from '@nestjs/common';\nimport { lowerFirst } from 'src/helpers/string.helper';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DataSource, EntityMetadata, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';\nimport { AuditQueuePayload } from 'src/jobs/rabbitmq/chatter-queue-publisher.service';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\n\n@Injectable({scope: Scope.TRANSIENT})\nexport class AuditSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(AuditSubscriber.name);\n private dataSource: DataSource;\n constructor(\n private readonly publisherFactory: PublisherFactory<AuditQueuePayload>,\n private readonly solidRegistry: SolidRegistry,\n private readonly requestContextService: RequestContextService,\n ) { }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n // Per-transaction buffer (auto-GC when queryRunner is gone)\n private perTxn = new WeakMap<any, AuditQueuePayload[]>();\n\n private enqueue(event: { queryRunner: any }, payload: AuditQueuePayload) {\n const qr = event.queryRunner;\n const arr = this.perTxn.get(qr) ?? [];\n arr.push(payload);\n this.perTxn.set(qr, arr);\n }\n\n private shouldTrackAudit(metadata: EntityMetadata): boolean {\n return this.solidRegistry.isAuditableModel(lowerFirst(metadata.name));\n }\n\n private activeUserId(): number | null {\n return this.requestContextService.getActiveUser()?.sub ?? null;\n }\n\n async afterInsert(event: InsertEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'insert',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n userId: this.activeUserId(),\n });\n }\n\n async afterUpdate(event: UpdateEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'update',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n // databaseEntity is only populated when the entity was fetched first (save() path).\n // QueryBuilder update() leaves this undefined; postAuditMessageOnUpdate guards for it.\n before: event.databaseEntity ?? null,\n updatedColumnNames: (event.updatedColumns ?? []).map(c => c.propertyName),\n userId: this.activeUserId(),\n });\n }\n\n async afterRemove(event: RemoveEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'delete',\n modelName: event.metadata.name,\n entityId: event.databaseEntity?.id ?? null,\n occurredAt: new Date().toISOString(),\n before: event.databaseEntity,\n userId: this.activeUserId(),\n });\n }\n\n // --------- transaction lifecycle ----------\n async afterTransactionCommit(event: { queryRunner: any }) {\n const batch = this.perTxn.get(event.queryRunner) ?? [];\n this.perTxn.delete(event.queryRunner);\n\n // Now outside the DB transaction — safe to publish to the queue.\n // allSettled: publish in parallel; a single failure does not block the rest.\n const results = await Promise.allSettled(\n batch.map(payload => this.publisherFactory.publish({ payload }, 'ChatterQueuePublisher'))\n );\n\n results.forEach((result, i) => {\n if (result.status === 'rejected') {\n this.logger.error(\n `Failed to publish audit event for ${batch[i].modelName}#${batch[i].entityId}`,\n result.reason,\n );\n }\n });\n }\n\n afterTransactionRollback(event: { queryRunner: any }) {\n // Drop buffered payloads; the write never happened.\n this.perTxn.delete(event.queryRunner);\n }\n}\n"]}
1
+ {"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,4DAAuD;AACvD,8DAA2D;AAG3D,iFAA6E;AAC7E,4FAAiF;AAG1E,IAAM,eAAe,uBAArB,MAAM,eAAe;IAGxB,YACqB,gBAAqD,EACrD,aAA4B,EAC5B,qBAA4C;QAF5C,qBAAgB,GAAhB,gBAAgB,CAAqC;QACrD,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QALhD,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;QAcnD,WAAM,GAAG,IAAI,OAAO,EAA4B,CAAC;IARrD,CAAC;IAEL,gBAAgB,CAAC,UAAsB;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAKO,OAAO,CAAC,KAA2B,EAAE,OAA0B;QACnE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CAAC,QAAwB;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAA,0BAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,YAAY;QAChB,OAAO,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAChB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC9B,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI;YAClC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC3B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAChB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC9B,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI;YAClC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAG3B,MAAM,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;YACpC,kBAAkB,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;YACzE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAChB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC9B,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI;YAC1C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,MAAM,EAAE,KAAK,CAAC,cAAc;YAC5B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAGD,KAAK,CAAC,sBAAsB,CAAC,KAA2B;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAItC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACpC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAC5F,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,qCAAqC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC9E,MAAM,CAAC,MAAM,CAChB,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wBAAwB,CAAC,KAA2B;QAEhD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;CACJ,CAAA;AAjGY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,EAAC,EAAC,KAAK,EAAE,cAAK,CAAC,SAAS,EAAC,CAAC;qCAKM,4CAAgB;QACnB,8BAAa;QACL,+CAAqB;GANxD,eAAe,CAiG3B","sourcesContent":["import { Injectable, Logger, Scope } from '@nestjs/common';\nimport { lowerFirst } from 'src/helpers/string.helper';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DataSource, EntityMetadata, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';\nimport { AuditQueuePayload } from 'src/interfaces';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\n\n@Injectable({scope: Scope.TRANSIENT})\nexport class AuditSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(AuditSubscriber.name);\n private dataSource: DataSource;\n constructor(\n private readonly publisherFactory: PublisherFactory<AuditQueuePayload>,\n private readonly solidRegistry: SolidRegistry,\n private readonly requestContextService: RequestContextService,\n ) { }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n // Per-transaction buffer (auto-GC when queryRunner is gone)\n private perTxn = new WeakMap<any, AuditQueuePayload[]>();\n\n private enqueue(event: { queryRunner: any }, payload: AuditQueuePayload) {\n const qr = event.queryRunner;\n const arr = this.perTxn.get(qr) ?? [];\n arr.push(payload);\n this.perTxn.set(qr, arr);\n }\n\n private shouldTrackAudit(metadata: EntityMetadata): boolean {\n return this.solidRegistry.isAuditableModel(lowerFirst(metadata.name));\n }\n\n private activeUserId(): number | null {\n return this.requestContextService.getActiveUser()?.sub ?? null;\n }\n\n async afterInsert(event: InsertEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'insert',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n userId: this.activeUserId(),\n });\n }\n\n async afterUpdate(event: UpdateEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'update',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n // databaseEntity is only populated when the entity was fetched first (save() path).\n // QueryBuilder update() leaves this undefined; postAuditMessageOnUpdate guards for it.\n before: event.databaseEntity ?? null,\n updatedColumnNames: (event.updatedColumns ?? []).map(c => c.propertyName),\n userId: this.activeUserId(),\n });\n }\n\n async afterRemove(event: RemoveEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'delete',\n modelName: event.metadata.name,\n entityId: event.databaseEntity?.id ?? null,\n occurredAt: new Date().toISOString(),\n before: event.databaseEntity,\n userId: this.activeUserId(),\n });\n }\n\n // --------- transaction lifecycle ----------\n async afterTransactionCommit(event: { queryRunner: any }) {\n const batch = this.perTxn.get(event.queryRunner) ?? [];\n this.perTxn.delete(event.queryRunner);\n\n // Now outside the DB transaction — safe to publish to the queue.\n // allSettled: publish in parallel; a single failure does not block the rest.\n const results = await Promise.allSettled(\n batch.map(payload => this.publisherFactory.publish({ payload }, 'ChatterQueuePublisher'))\n );\n\n results.forEach((result, i) => {\n if (result.status === 'rejected') {\n this.logger.error(\n `Failed to publish audit event for ${batch[i].modelName}#${batch[i].entityId}`,\n result.reason,\n );\n }\n });\n }\n\n afterTransactionRollback(event: { queryRunner: any }) {\n // Drop buffered payloads; the write never happened.\n this.perTxn.delete(event.queryRunner);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core",
3
- "version": "0.1.8-beta.10",
3
+ "version": "0.1.8-beta.11",
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",
@@ -19,6 +19,9 @@ export class Setting extends CommonEntity {
19
19
  @Column({ name: "level", type: "varchar", nullable: true })
20
20
  level: string;
21
21
 
22
+ @Column({ name: "encrypted", type: "boolean", default: false })
23
+ encrypted: boolean;
24
+
22
25
  @Index()
23
26
  @ManyToOne(() => User, { nullable: true })
24
27
  @JoinColumn()
package/src/index.ts CHANGED
@@ -315,6 +315,7 @@ export * from './services/user.service'
315
315
  export * from './services/view-metadata.service'
316
316
  export * from './services/whatsapp/Msg91WhatsappService' //rename
317
317
  export * from './services/setting.service'
318
+ export * from './services/encryption.service'
318
319
  export * from './services/info.service'
319
320
  export * from './controllers/info.controller'
320
321
  export * from './services/settings/default-settings-provider.service'
package/src/interfaces.ts CHANGED
@@ -70,6 +70,7 @@ export interface SettingDefinition<T = any> {
70
70
  key: string;
71
71
  value: T;
72
72
  level: SettingLevel;
73
+ encrypted?: boolean;
73
74
  }
74
75
 
75
76
  // solid-core/settings/settings-provider.interface.ts
@@ -395,3 +396,18 @@ export interface AwsS3Config {
395
396
 
396
397
  // Prevents inference so callers must provide explicit type arguments; reusable for other APIs.
397
398
  export type NoInfer<T> = [T][T extends any ? 0 : never];
399
+
400
+ export type AuditEventType = 'insert' | 'update' | 'delete';
401
+
402
+ export interface AuditQueuePayload {
403
+ eventType: AuditEventType;
404
+ modelName: string;
405
+ entityId: string | number | null;
406
+ occurredAt: string;
407
+ after?: any;
408
+ before?: any;
409
+ updatedColumnNames?: string[];
410
+ userId?: number | null;
411
+ }
412
+
413
+
@@ -4,7 +4,7 @@ import { DatabasePublisher } from 'src/services/queues/database-publisher.servic
4
4
  import { MqMessageQueueService } from '../../services/mq-message-queue.service';
5
5
  import { MqMessageService } from '../../services/mq-message.service';
6
6
  import { QueuesModuleOptions } from "../../interfaces";
7
- import { AuditQueuePayload } from '../rabbitmq/chatter-queue-publisher.service';
7
+ import { AuditQueuePayload } from '../../interfaces';
8
8
  import chatterQueueOptionsDatabase from './chatter-queue-options-database';
9
9
 
10
10
  @Injectable()
@@ -6,7 +6,7 @@ import { MqMessageService } from '../../services/mq-message.service';
6
6
  import { MqMessageQueueService } from '../../services/mq-message-queue.service';
7
7
  import { QueuesModuleOptions } from "../../interfaces";
8
8
  import { PollerService } from 'src/services/poller.service';
9
- import { AuditQueuePayload } from '../rabbitmq/chatter-queue-publisher.service';
9
+ import { AuditQueuePayload } from '../../interfaces';
10
10
  import { ChatterMessageService } from 'src/services/chatter-message.service';
11
11
  import chatterQueueOptionsDatabase from './chatter-queue-options-database';
12
12
 
@@ -4,21 +4,7 @@ import { RabbitMqPublisher } from 'src/services/queues/rabbitmq-publisher.servic
4
4
  import chatterQueueOptions from './chatter-queue-options';
5
5
  import { MqMessageQueueService } from '../../services/mq-message-queue.service';
6
6
  import { MqMessageService } from '../../services/mq-message.service';
7
- import { QueuesModuleOptions } from "../../interfaces";
8
-
9
-
10
- export type AuditEventType = 'insert' | 'update' | 'delete';
11
-
12
- export interface AuditQueuePayload {
13
- eventType: AuditEventType;
14
- modelName: string; // TypeORM entity class name (e.g. 'Order')
15
- entityId: string | number | null;
16
- occurredAt: string; // ISO timestamp, captured at event time
17
- after?: any; // entity state after operation (insert/update)
18
- before?: any; // entity state before operation (update/delete)
19
- updatedColumnNames?: string[]; // propertyNames of changed columns (update only)
20
- userId?: number | null; // active user captured at event time
21
- }
7
+ import { AuditQueuePayload, QueuesModuleOptions } from "../../interfaces";
22
8
 
23
9
  @Injectable()
24
10
  export class ChatterQueuePublisherRabbitmq extends RabbitMqPublisher<AuditQueuePayload> {
@@ -6,7 +6,7 @@ import { MqMessageService } from '../../services/mq-message.service';
6
6
  import { MqMessageQueueService } from '../../services/mq-message-queue.service';
7
7
  import { QueuesModuleOptions } from "../../interfaces";
8
8
  import chatterQueueOptions from './chatter-queue-options';
9
- import { AuditQueuePayload } from './chatter-queue-publisher.service';
9
+ import { AuditQueuePayload } from '../../interfaces';
10
10
  import { ChatterMessageService } from 'src/services/chatter-message.service';
11
11
 
12
12
  @Injectable()
@@ -6,7 +6,7 @@ import chatterQueueConfig from './chatter-queue-options-redis';
6
6
  import { MqMessageService } from '../../services/mq-message.service';
7
7
  import { MqMessageQueueService } from '../../services/mq-message-queue.service';
8
8
  import { QueuesModuleOptions } from "../../interfaces";
9
- import { AuditQueuePayload } from '../rabbitmq/chatter-queue-publisher.service';
9
+ import { AuditQueuePayload } from '../../interfaces';
10
10
  import { ChatterMessageService } from '../../services/chatter-message.service';
11
11
 
12
12
  @Injectable()
@@ -0,0 +1,43 @@
1
+ import * as crypto from 'crypto';
2
+
3
+ const ALGORITHM = 'aes-256-gcm';
4
+ const IV_LENGTH = 12;
5
+ const AUTH_TAG_LENGTH = 16;
6
+ const KEY_LENGTH = 32;
7
+ const SCRYPT_SALT = 'solid-encryption-salt';
8
+ const ENC_PREFIX = 'enc:';
9
+
10
+ export class EncryptionService {
11
+ private readonly key: Buffer;
12
+
13
+ constructor(secret: string) {
14
+ if (!secret) throw new Error('EncryptionService: secret must not be empty');
15
+ this.key = crypto.scryptSync(secret, SCRYPT_SALT, KEY_LENGTH) as Buffer;
16
+ }
17
+
18
+ encrypt(plaintext: string): string {
19
+ const iv = crypto.randomBytes(IV_LENGTH);
20
+ const cipher = crypto.createCipheriv(ALGORITHM, this.key, iv, { authTagLength: AUTH_TAG_LENGTH });
21
+ const encrypted = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()]);
22
+ const authTag = cipher.getAuthTag();
23
+ return `${ENC_PREFIX}${iv.toString('hex')}:${authTag.toString('hex')}:${encrypted.toString('hex')}`;
24
+ }
25
+
26
+ decrypt(ciphertext: string): string {
27
+ if (!ciphertext.startsWith(ENC_PREFIX)) {
28
+ throw new Error('EncryptionService: value does not appear to be encrypted');
29
+ }
30
+ const payload = ciphertext.slice(ENC_PREFIX.length);
31
+ const [ivHex, authTagHex, encryptedHex] = payload.split(':');
32
+ const iv = Buffer.from(ivHex, 'hex');
33
+ const authTag = Buffer.from(authTagHex, 'hex');
34
+ const encryptedBuf = Buffer.from(encryptedHex, 'hex');
35
+ const decipher = crypto.createDecipheriv(ALGORITHM, this.key, iv, { authTagLength: AUTH_TAG_LENGTH });
36
+ decipher.setAuthTag(authTag);
37
+ return decipher.update(encryptedBuf).toString('utf8') + decipher.final('utf8');
38
+ }
39
+
40
+ isEncrypted(value: string): boolean {
41
+ return typeof value === 'string' && value.startsWith(ENC_PREFIX);
42
+ }
43
+ }
@@ -15,6 +15,7 @@ import { ISettingsProvider, NoInfer, SettingDefinition, SettingLevel } from '../
15
15
  import { ModuleMetadataRepository } from 'src/repository/module-metadata.repository';
16
16
  import type { SolidCoreSetting } from './settings/default-settings-provider.service';
17
17
  import { Logger } from '@nestjs/common';
18
+ import { EncryptionService } from './encryption.service';
18
19
 
19
20
 
20
21
  @Injectable()
@@ -23,6 +24,7 @@ export class SettingService {
23
24
 
24
25
  private settings: SettingDefinition[] = [];
25
26
  private settingsByKey = new Map<string, SettingDefinition>();
27
+ private readonly encryptionService: EncryptionService | null;
26
28
 
27
29
  private readonly arrayKeysToSkip = new Set([
28
30
  'authenticationPasswordRegex',
@@ -38,7 +40,11 @@ export class SettingService {
38
40
  readonly moduleMetadataRepo: ModuleMetadataRepository,
39
41
  private readonly requestContextService: RequestContextService,
40
42
  @InjectRepository(User) private readonly userRepository: Repository<User>,
41
- ) { }
43
+ ) {
44
+ const encKey = process.env.APP_ENCRYPTION_KEY;
45
+ this.encryptionService = encKey ? new EncryptionService(encKey) : null;
46
+ if (!encKey) this._logger.warn('APP_ENCRYPTION_KEY is not set — encrypted settings will not be decrypted');
47
+ }
42
48
 
43
49
  private async getSettingsFromDb(): Promise<Setting[]> {
44
50
  const settings = await this.repo.find({ relations: ['user'] });
@@ -112,7 +118,15 @@ export class SettingService {
112
118
  const settingFromDb = settingsFromDbByKey.get(setting.key);
113
119
  const valueFromDb = settingFromDb?.value;
114
120
  if (settingFromDb?.key && valueFromDb !== undefined && valueFromDb !== null) {
115
- const parsedValue = typeof valueFromDb === 'string' ? this.parseSettingValue(valueFromDb, settingFromDb.key) : valueFromDb;
121
+ let rawValue = valueFromDb;
122
+ if (settingFromDb.encrypted && this.encryptionService) {
123
+ try {
124
+ rawValue = this.encryptionService.decrypt(rawValue);
125
+ } catch {
126
+ this._logger.warn(`Failed to decrypt setting "${setting.key}" — using raw value`);
127
+ }
128
+ }
129
+ const parsedValue = typeof rawValue === 'string' ? this.parseSettingValue(rawValue, settingFromDb.key) : rawValue;
116
130
  return { ...setting, value: parsedValue };
117
131
  }
118
132
  return setting;
@@ -149,30 +163,38 @@ export class SettingService {
149
163
  const settingsToMutate: Setting[] = [];
150
164
  // const settingsToUpdate: Setting[] = [];
151
165
 
152
- for (const { key, value, level, moduleName } of saEditableAndAbove) {
166
+ for (const { key, value, level, moduleName, encrypted } of saEditableAndAbove) {
153
167
  const moduleMetadata = await this.moduleMetadataRepo.findOneBy({ name: moduleName });
154
168
  if (!existingSettingsFromDbByKey.has(key)) {
155
169
  const setting = new Setting();
156
170
  setting.key = key;
157
171
  setting.level = level;
172
+ setting.encrypted = !!encrypted;
158
173
  if (moduleMetadata)
159
174
  setting.moduleMetadata = moduleMetadata;
160
175
 
176
+ let rawValue: string | null;
161
177
  if (typeof value === 'boolean') {
162
- setting.value = value.toString();
178
+ rawValue = value.toString();
163
179
  } else if (Array.isArray(value)) {
164
- setting.value = value.join(',');
180
+ rawValue = value.join(',');
165
181
  } else if (value === null || value === undefined) {
166
- setting.value = null;
182
+ rawValue = null;
167
183
  } else {
168
- setting.value = String(value);
184
+ rawValue = String(value);
169
185
  }
170
186
 
187
+ if (encrypted && this.encryptionService && rawValue !== null) {
188
+ rawValue = this.encryptionService.encrypt(rawValue);
189
+ }
190
+ setting.value = rawValue;
191
+
171
192
  settingsToMutate.push(setting);
172
193
  }
173
194
  else {
174
195
  const setting = existingSettingsFromDbByKey.get(key);
175
196
  setting.level = level;
197
+ setting.encrypted = !!encrypted;
176
198
  if (moduleMetadata)
177
199
  setting.moduleMetadata = moduleMetadata;
178
200
  settingsToMutate.push(setting);
@@ -289,22 +311,29 @@ export class SettingService {
289
311
  }
290
312
 
291
313
  const key = settingDto.key;
292
- // const value = settingDto.value ?? '';
293
314
  const rawValue = settingDto.value;
294
- const value = rawValue === null || rawValue === undefined ? null : String(rawValue);
315
+ let value = rawValue === null || rawValue === undefined ? null : String(rawValue);
295
316
 
296
317
  const settingType = settingDto.type ?? 'system';
318
+ const definition = this.settingsByKey.get(key);
319
+ const shouldEncrypt = !!definition?.encrypted && this.encryptionService !== null && value !== null;
320
+
321
+ if (shouldEncrypt) {
322
+ value = this.encryptionService.encrypt(value);
323
+ }
297
324
 
298
325
  const existingSetting = existingSettings.find(s => s.key === key);
299
326
  if (existingSetting) {
300
327
  existingSetting.value = value;
301
328
  existingSetting.type = settingType;
329
+ existingSetting.encrypted = shouldEncrypt;
302
330
  settingsToUpdate.push(existingSetting);
303
331
  } else {
304
332
  const newSetting = new Setting();
305
333
  newSetting.key = key;
306
334
  newSetting.value = value;
307
335
  newSetting.type = settingType;
336
+ newSetting.encrypted = shouldEncrypt;
308
337
 
309
338
  if (settingType === 'user' && user) {
310
339
  newSetting.user = user;
@@ -35,12 +35,13 @@ const getSolidCoreSettings = (isProd: boolean) => ([
35
35
  {
36
36
  moduleName: "solid-core", key: "solidXGenAiCodeBuilderConfig", value: JSON.stringify({
37
37
  models: {
38
- default: { providerKey: "", behavior: { streaming: false, custom: "" } },
39
- fast: { providerKey: "", behavior: { streaming: false, custom: "" } },
38
+ default: { providerId: "", model: "", behavior: { streaming: false, custom: "" } },
39
+ fast: { providerId: "", model: "", behavior: { streaming: false, custom: "" } },
40
40
  },
41
41
  providers: {},
42
- }), level: SettingLevel.SystemAdminEditable
42
+ }), level: SettingLevel.SystemAdminEditable, encrypted: true
43
43
  },
44
+ { moduleName: "solid-core", key: "appEncryptionKey", value: process.env.APP_ENCRYPTION_KEY, level: SettingLevel.SystemEnv },
44
45
  { moduleName: "solid-core", key: "mcpEnabled", value: process.env.MCP_ENABLED || false, level: SettingLevel.SystemAdminReadonly },
45
46
  { moduleName: "solid-core", key: "mcpServerUrl", value: process.env.MCP_SERVER_URL, level: SettingLevel.SystemAdminReadonly },
46
47
  { moduleName: "solid-core", key: "mcpApiKey", value: process.env.MCP_API_KEY, level: SettingLevel.SystemEnv },
@@ -2,7 +2,7 @@ import { Injectable, Logger, Scope } from '@nestjs/common';
2
2
  import { lowerFirst } from 'src/helpers/string.helper';
3
3
  import { SolidRegistry } from 'src/helpers/solid-registry';
4
4
  import { DataSource, EntityMetadata, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
5
- import { AuditQueuePayload } from 'src/jobs/rabbitmq/chatter-queue-publisher.service';
5
+ import { AuditQueuePayload } from 'src/interfaces';
6
6
  import { RequestContextService } from 'src/services/request-context.service';
7
7
  import { PublisherFactory } from 'src/services/queues/publisher-factory.service';
8
8