@solidxai/core 0.1.9-beta.6 → 0.1.9-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 (254) hide show
  1. package/dist/constants/chatter-message.constants.d.ts +6 -0
  2. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  3. package/dist/constants/chatter-message.constants.js +7 -1
  4. package/dist/constants/chatter-message.constants.js.map +1 -1
  5. package/dist/controllers/authentication.controller.d.ts +12 -0
  6. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  7. package/dist/controllers/authentication.controller.js +13 -0
  8. package/dist/controllers/authentication.controller.js.map +1 -1
  9. package/dist/controllers/chatter-message.controller.d.ts +1 -0
  10. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  11. package/dist/controllers/chatter-message.controller.js +12 -0
  12. package/dist/controllers/chatter-message.controller.js.map +1 -1
  13. package/dist/controllers/facebook-authentication.controller.d.ts +27 -0
  14. package/dist/controllers/facebook-authentication.controller.d.ts.map +1 -0
  15. package/dist/controllers/facebook-authentication.controller.js +117 -0
  16. package/dist/controllers/facebook-authentication.controller.js.map +1 -0
  17. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -0
  18. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  19. package/dist/controllers/menu-item-metadata.controller.js +15 -0
  20. package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
  21. package/dist/controllers/microsoft-authentication.controller.d.ts +27 -0
  22. package/dist/controllers/microsoft-authentication.controller.d.ts.map +1 -0
  23. package/dist/controllers/microsoft-authentication.controller.js +118 -0
  24. package/dist/controllers/microsoft-authentication.controller.js.map +1 -0
  25. package/dist/controllers/setting.controller.d.ts +2 -2
  26. package/dist/controllers/setting.controller.js +2 -2
  27. package/dist/decorators/auth.decorator.d.ts.map +1 -1
  28. package/dist/decorators/computed-field-provider.decorator.d.ts.map +1 -1
  29. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -1
  30. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -1
  31. package/dist/decorators/disallow-in-production.decorator.d.ts.map +1 -1
  32. package/dist/decorators/error-codes-provider.decorator.d.ts.map +1 -1
  33. package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -1
  34. package/dist/decorators/is-not-in-enum.decorator.d.ts.map +1 -1
  35. package/dist/decorators/mail-provider.decorator.d.ts.map +1 -1
  36. package/dist/decorators/roles.decorator.d.ts.map +1 -1
  37. package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -1
  38. package/dist/decorators/security-rule-config-provider.decorator.d.ts.map +1 -1
  39. package/dist/decorators/selection-provider.decorator.d.ts.map +1 -1
  40. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -1
  41. package/dist/decorators/solid-database-module.decorator.d.ts.map +1 -1
  42. package/dist/decorators/whatsapp-provider.decorator.d.ts.map +1 -1
  43. package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
  44. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
  45. package/dist/dtos/create-chatter-message.dto.js +7 -1
  46. package/dist/dtos/create-chatter-message.dto.js.map +1 -1
  47. package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
  48. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
  49. package/dist/dtos/post-chatter-message.dto.js +6 -1
  50. package/dist/dtos/post-chatter-message.dto.js.map +1 -1
  51. package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
  52. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
  53. package/dist/dtos/update-chatter-message.dto.js +7 -1
  54. package/dist/dtos/update-chatter-message.dto.js.map +1 -1
  55. package/dist/entities/chatter-message.entity.d.ts +1 -0
  56. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  57. package/dist/entities/chatter-message.entity.js +5 -1
  58. package/dist/entities/chatter-message.entity.js.map +1 -1
  59. package/dist/entities/user.entity.d.ts +8 -0
  60. package/dist/entities/user.entity.d.ts.map +1 -1
  61. package/dist/entities/user.entity.js +33 -1
  62. package/dist/entities/user.entity.js.map +1 -1
  63. package/dist/helpers/cors.helper.js +1 -1
  64. package/dist/helpers/cors.helper.js.map +1 -1
  65. package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
  66. package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
  67. package/dist/helpers/facebook-oauth.helper.js +11 -0
  68. package/dist/helpers/facebook-oauth.helper.js.map +1 -0
  69. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
  70. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  71. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  72. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
  73. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  74. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
  75. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  76. package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
  77. package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
  78. package/dist/helpers/microsoft-oauth.helper.js +12 -0
  79. package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
  80. package/dist/helpers/module-metadata-helper.service.js +3 -3
  81. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  82. package/dist/helpers/security.helper.d.ts.map +1 -1
  83. package/dist/helpers/string.helper.d.ts +1 -0
  84. package/dist/helpers/string.helper.d.ts.map +1 -1
  85. package/dist/helpers/string.helper.js +4 -1
  86. package/dist/helpers/string.helper.js.map +1 -1
  87. package/dist/helpers/user-helper.d.ts.map +1 -1
  88. package/dist/helpers/user-helper.js +4 -0
  89. package/dist/helpers/user-helper.js.map +1 -1
  90. package/dist/index.d.ts +2 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +2 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/interfaces.d.ts +19 -0
  95. package/dist/interfaces.d.ts.map +1 -1
  96. package/dist/interfaces.js.map +1 -1
  97. package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
  98. package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
  99. package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
  100. package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
  101. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
  102. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
  103. package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
  104. package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
  105. package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
  106. package/dist/repository/chatter-message-details.repository.js +7 -6
  107. package/dist/repository/chatter-message-details.repository.js.map +1 -1
  108. package/dist/repository/chatter-message.repository.d.ts.map +1 -1
  109. package/dist/repository/chatter-message.repository.js +4 -4
  110. package/dist/repository/chatter-message.repository.js.map +1 -1
  111. package/dist/repository/solid-base.repository.js +2 -2
  112. package/dist/repository/solid-base.repository.js.map +1 -1
  113. package/dist/seeders/module-test-data.service.js +4 -4
  114. package/dist/seeders/module-test-data.service.js.map +1 -1
  115. package/dist/seeders/seed-data/solid-core-metadata.json +27 -58
  116. package/dist/services/api-key.service.d.ts +17 -1
  117. package/dist/services/api-key.service.d.ts.map +1 -1
  118. package/dist/services/api-key.service.js +38 -2
  119. package/dist/services/api-key.service.js.map +1 -1
  120. package/dist/services/authentication.service.d.ts +51 -16
  121. package/dist/services/authentication.service.d.ts.map +1 -1
  122. package/dist/services/authentication.service.js +318 -150
  123. package/dist/services/authentication.service.js.map +1 -1
  124. package/dist/services/chatter-message.service.d.ts +1 -0
  125. package/dist/services/chatter-message.service.d.ts.map +1 -1
  126. package/dist/services/chatter-message.service.js +17 -0
  127. package/dist/services/chatter-message.service.js.map +1 -1
  128. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
  129. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
  130. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
  131. package/dist/services/crud-helper.service.d.ts.map +1 -1
  132. package/dist/services/crud-helper.service.js +9 -9
  133. package/dist/services/crud-helper.service.js.map +1 -1
  134. package/dist/services/export-transaction.service.d.ts.map +1 -1
  135. package/dist/services/export-transaction.service.js +4 -3
  136. package/dist/services/export-transaction.service.js.map +1 -1
  137. package/dist/services/field-metadata.service.d.ts.map +1 -1
  138. package/dist/services/field-metadata.service.js +7 -7
  139. package/dist/services/field-metadata.service.js.map +1 -1
  140. package/dist/services/fixtures.service.js +2 -2
  141. package/dist/services/fixtures.service.js.map +1 -1
  142. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
  143. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
  144. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
  145. package/dist/services/import-transaction.service.d.ts.map +1 -1
  146. package/dist/services/import-transaction.service.js +2 -2
  147. package/dist/services/import-transaction.service.js.map +1 -1
  148. package/dist/services/menu-item-metadata.service.js +2 -2
  149. package/dist/services/menu-item-metadata.service.js.map +1 -1
  150. package/dist/services/model-metadata.service.d.ts.map +1 -1
  151. package/dist/services/model-metadata.service.js +12 -11
  152. package/dist/services/model-metadata.service.js.map +1 -1
  153. package/dist/services/module-metadata.service.d.ts.map +1 -1
  154. package/dist/services/module-metadata.service.js +2 -2
  155. package/dist/services/module-metadata.service.js.map +1 -1
  156. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  157. package/dist/services/queues/publisher-factory.service.js +2 -2
  158. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  159. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
  160. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
  161. package/dist/services/setting.service.d.ts +5 -2
  162. package/dist/services/setting.service.d.ts.map +1 -1
  163. package/dist/services/setting.service.js +51 -6
  164. package/dist/services/setting.service.js.map +1 -1
  165. package/dist/services/settings/default-settings-provider.service.d.ts +830 -0
  166. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  167. package/dist/services/settings/default-settings-provider.service.js +1033 -117
  168. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  169. package/dist/services/solid-introspect.service.js +2 -2
  170. package/dist/services/solid-introspect.service.js.map +1 -1
  171. package/dist/services/user.service.d.ts +2 -0
  172. package/dist/services/user.service.d.ts.map +1 -1
  173. package/dist/services/user.service.js +72 -0
  174. package/dist/services/user.service.js.map +1 -1
  175. package/dist/services/view-metadata.service.d.ts.map +1 -1
  176. package/dist/services/view-metadata.service.js +2 -2
  177. package/dist/services/view-metadata.service.js.map +1 -1
  178. package/dist/solid-core.module.d.ts.map +1 -1
  179. package/dist/solid-core.module.js +11 -3
  180. package/dist/solid-core.module.js.map +1 -1
  181. package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
  182. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  183. package/dist/transformers/array-transformer.d.ts.map +1 -1
  184. package/dist/transformers/boolean-transformer.d.ts.map +1 -1
  185. package/dist/transformers/datetime-transformer.d.ts.map +1 -1
  186. package/dist/transformers/integer-transformer.d.ts.map +1 -1
  187. package/dist/validators/is-parsable-int.d.ts.map +1 -1
  188. package/dist-tests/api/authenticate.spec.js +119 -0
  189. package/dist-tests/api/authenticate.spec.js.map +1 -0
  190. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
  191. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
  192. package/dist-tests/api/ping.spec.js +21 -0
  193. package/dist-tests/api/ping.spec.js.map +1 -0
  194. package/dist-tests/helpers/auth.js +41 -0
  195. package/dist-tests/helpers/auth.js.map +1 -0
  196. package/dist-tests/helpers/env.js +11 -0
  197. package/dist-tests/helpers/env.js.map +1 -0
  198. package/docs/java-spring/README.md +3 -0
  199. package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
  200. package/nest +0 -0
  201. package/package.json +7 -2
  202. package/src/constants/chatter-message.constants.ts +7 -0
  203. package/src/controllers/authentication.controller.ts +8 -1
  204. package/src/controllers/chatter-message.controller.ts +6 -0
  205. package/src/controllers/facebook-authentication.controller.ts +113 -0
  206. package/src/controllers/menu-item-metadata.controller.ts +21 -15
  207. package/src/controllers/microsoft-authentication.controller.ts +116 -0
  208. package/src/dtos/create-chatter-message.dto.ts +11 -0
  209. package/src/dtos/post-chatter-message.dto.ts +4 -0
  210. package/src/dtos/update-chatter-message.dto.ts +13 -1
  211. package/src/entities/chatter-message.entity.ts +4 -1
  212. package/src/entities/user.entity.ts +32 -0
  213. package/src/helpers/cors.helper.ts +1 -1
  214. package/src/helpers/facebook-oauth.helper.ts +17 -0
  215. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
  216. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
  217. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
  218. package/src/helpers/microsoft-oauth.helper.ts +19 -0
  219. package/src/helpers/module-metadata-helper.service.ts +3 -3
  220. package/src/helpers/string.helper.ts +3 -0
  221. package/src/helpers/user-helper.ts +4 -0
  222. package/src/index.ts +2 -0
  223. package/src/interfaces.ts +32 -1
  224. package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
  225. package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
  226. package/src/repository/chatter-message-details.repository.ts +4 -3
  227. package/src/repository/chatter-message.repository.ts +4 -4
  228. package/src/repository/solid-base.repository.ts +2 -2
  229. package/src/seeders/module-test-data.service.ts +1 -1
  230. package/src/seeders/seed-data/solid-core-metadata.json +27 -58
  231. package/src/services/api-key.service.ts +77 -35
  232. package/src/services/authentication.service.ts +1717 -1278
  233. package/src/services/chatter-message.service.ts +22 -4
  234. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
  235. package/src/services/crud-helper.service.ts +1 -4
  236. package/src/services/export-transaction.service.ts +3 -4
  237. package/src/services/field-metadata.service.ts +1 -4
  238. package/src/services/fixtures.service.ts +1 -1
  239. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
  240. package/src/services/import-transaction.service.ts +1 -1
  241. package/src/services/menu-item-metadata.service.ts +2 -2
  242. package/src/services/model-metadata.service.ts +11 -13
  243. package/src/services/module-metadata.service.ts +1 -2
  244. package/src/services/queues/publisher-factory.service.ts +1 -2
  245. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
  246. package/src/services/setting.service.ts +64 -8
  247. package/src/services/settings/default-settings-provider.service.ts +1104 -155
  248. package/src/services/solid-introspect.service.ts +1 -1
  249. package/src/services/user.service.ts +87 -0
  250. package/src/services/view-metadata.service.ts +1 -5
  251. package/src/solid-core.module.ts +25 -8
  252. package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
  253. package/.claude/settings.local.json +0 -15
  254. package/src/services/1.js +0 -6
@@ -1,165 +1,1114 @@
1
1
  import { Injectable } from "@nestjs/common";
2
2
  import { Environment } from "src/decorators/disallow-in-production.decorator";
3
3
  import { SettingsProvider } from "src/decorators/settings-provider.decorator";
4
- import { ISettingsProvider, SettingDefinition, SettingLevel } from "src/interfaces";
5
-
6
- export const DEFAULT_MEDIA_UPLOAD_DIR = 'media-uploads';
7
- export const DEFAULT_MEDIA_FILE_STORAGE_DIR = 'media-files-storage';
8
-
9
- // 1.
10
- const getSolidCoreSettings = (isProd: boolean) => ([
11
- { moduleName: "solid-core", key: "iamGoogleOAuthEnabled", value: false, level: SettingLevel.SystemAdminEditable },
12
- { moduleName: "solid-core", key: "authPagesLayout", value: "center", level: SettingLevel.SystemAdminEditable },
13
- // Removed authPagesTheme as we are going to use the local storage based theme switching in the frontend instead of server side theme switching.
14
- // { moduleName: "solid-core", key: "authPagesTheme", value: "light", level: SettingLevel.SystemAdminEditable },
15
- { moduleName: "solid-core", key: "appLogo", value: null, level: SettingLevel.SystemAdminEditable },
16
- { moduleName: "solid-core", key: "companylogo", value: null, level: SettingLevel.SystemAdminEditable },
17
- { moduleName: "solid-core", key: "favicon", value: null, level: SettingLevel.SystemAdminEditable },
18
- { moduleName: "solid-core", key: "appLogoPosition", value: "in_form_view", level: SettingLevel.SystemAdminEditable },
19
- { moduleName: "solid-core", key: "showAuthContent", value: false, level: SettingLevel.SystemAdminEditable },
20
- { moduleName: "solid-core", key: "appTitle", value: process.env.SOLID_APP_NAME || "Solid App", level: SettingLevel.SystemAdminEditable },
21
- { moduleName: "solid-core", key: "appSubtitle", value: process.env.SOLID_APP_SUBTITLE || "", level: SettingLevel.SystemAdminEditable },
22
- { moduleName: "solid-core", key: "appDescription", value: process.env.SOLID_APP_DESCRIPTION || "", level: SettingLevel.SystemAdminEditable },
23
- { moduleName: "solid-core", key: "showLegalLinks", value: false, level: SettingLevel.SystemAdminEditable },
24
- { moduleName: "solid-core", key: "appTnc", value: null, level: SettingLevel.SystemAdminEditable },
25
- { moduleName: "solid-core", key: "appPrivacyPolicy", value: null, level: SettingLevel.SystemAdminEditable },
26
- { moduleName: "solid-core", key: "enableDarkMode", value: true, level: SettingLevel.SystemAdminEditable },
27
- { moduleName: "solid-core", key: "copyright", value: null, level: SettingLevel.SystemAdminEditable },
28
- { moduleName: "solid-core", key: "enableUsername", value: true, level: SettingLevel.SystemAdminEditable },
29
- { moduleName: "solid-core", key: "enabledNotification", value: true, level: SettingLevel.SystemAdminEditable },
30
- { moduleName: "solid-core", key: "contactSupportEmail", value: null, level: SettingLevel.SystemAdminEditable },
31
- { moduleName: "solid-core", key: "contactSupportDisplayName", value: null, level: SettingLevel.SystemAdminEditable },
32
- { moduleName: "solid-core", key: "contactSupportIcon", value: null, level: SettingLevel.SystemAdminEditable },
33
- { moduleName: "solid-core", key: "authScreenRightBackgroundImage", value: null, level: SettingLevel.SystemAdminEditable },
34
- { moduleName: "solid-core", key: "authScreenLeftBackgroundImage", value: null, level: SettingLevel.SystemAdminEditable },
35
- { moduleName: "solid-core", key: "authScreenCenterBackgroundImage", value: null, level: SettingLevel.SystemAdminEditable },
4
+ import {
5
+ ISettingsProvider,
6
+ SettingDefinition,
7
+ SettingLevel,
8
+ } from "src/interfaces";
9
+
10
+ export const DEFAULT_MEDIA_UPLOAD_DIR = "media-uploads";
11
+ export const DEFAULT_MEDIA_FILE_STORAGE_DIR = "media-files-storage";
12
+
13
+ // 1.
14
+ const getSolidCoreSettings = (isProd: boolean) =>
15
+ [
16
+ {
17
+ moduleName: "solid-core",
18
+ key: "iamGoogleOAuthEnabled",
19
+ value: false,
20
+ level: SettingLevel.SystemAdminEditable,
21
+ label: "Allow Login / Signup With Google",
22
+ group: "authentication-settings",
23
+ sortOrder: 50,
24
+ controlType: "boolean",
25
+ },
26
+ { moduleName: "solid-core", key: "iamFacebookOAuthEnabled", value: false, level: SettingLevel.SystemAdminEditable },
27
+ { moduleName: "solid-core", key: "iamMicrosoftOAuthEnabled", value: false, level: SettingLevel.SystemAdminEditable },
36
28
  {
37
- moduleName: "solid-core", key: "solidXGenAiCodeBuilderConfig", value: JSON.stringify({
38
- models: {
39
- default: { providerId: "", model: "", behavior: { streaming: false, custom: "" } },
40
- fast: { providerId: "", model: "", behavior: { streaming: false, custom: "" } },
41
- },
42
- providers: {},
43
- }), level: SettingLevel.SystemAdminEditable, encrypted: true
44
- },
45
- { moduleName: "solid-core", key: "appEncryptionKey", value: process.env.APP_ENCRYPTION_KEY, level: SettingLevel.SystemEnv },
46
- { moduleName: "solid-core", key: "mcpEnabled", value: process.env.MCP_ENABLED || false, level: SettingLevel.SystemAdminReadonly },
47
- { moduleName: "solid-core", key: "mcpServerUrl", value: process.env.MCP_SERVER_URL, level: SettingLevel.SystemAdminReadonly },
48
- { moduleName: "solid-core", key: "mcpApiKey", value: process.env.MCP_API_KEY, level: SettingLevel.SystemEnv },
49
- { moduleName: "solid-core", key: "dateTimeFormat", value: process.env.DATE_TIME_FORMAT || "YYYY-MM-DD HH:mm:ss", level: SettingLevel.SystemAdminEditable },
50
- { moduleName: "solid-core", key: "dateFormat", value: process.env.DATE_FORMAT || "YYYY-MM-DD", level: SettingLevel.SystemAdminEditable },
51
- { moduleName: "solid-core", key: "baseUrl", value: process.env.BASE_URL, level: SettingLevel.SystemAdminReadonly },
52
- { moduleName: "solid-core", key: "solidAppWebsiteUrl", value: process.env.SOLID_APP_WEBSITE_URL, level: SettingLevel.SystemAdminEditable },
53
-
54
- // app-builder-settings-provider.service.ts, app-builder.config.ts
55
- { moduleName: "solid-core", key: "moduleMetadataSeederFiles", value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? '', level: SettingLevel.SystemAdminReadonly },
56
- { moduleName: "solid-core", key: "uploadDir", value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR, level: SettingLevel.SystemAdminReadonly },
57
- { moduleName: "solid-core", key: "fileStorageDir", value: process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR, level: SettingLevel.SystemAdminReadonly },
58
- { moduleName: "solid-core", key: "defaultFileService", value: process.env.DEFAULT_FILE_SERVICE ?? 'disk', level: SettingLevel.SystemAdminReadonly },
59
-
60
- // aws-s3-settings-provider.service.ts
61
- { moduleName: "solid-core", key: "S3_AWS_ACCESS_KEY", value: process.env.S3_AWS_ACCESS_KEY, level: SettingLevel.SystemEnv },
62
- { moduleName: "solid-core", key: "S3_AWS_SECRET_KEY", value: process.env.S3_AWS_SECRET_KEY, level: SettingLevel.SystemEnv },
63
- { moduleName: "solid-core", key: "S3_AWS_REGION_NAME", value: process.env.S3_AWS_REGION_NAME, level: SettingLevel.SystemAdminReadonly },
64
- { moduleName: "solid-core", key: "S3_DEFAULT_BUCKET", value: process.env.S3_DEFAULT_BUCKET, level: SettingLevel.SystemAdminReadonly },
65
-
66
- // email-settings-provider.service.ts
67
- { moduleName: "solid-core", key: "emailProvider", value: process.env.COMMON_EMAIL_PROVIDER ?? "SMTPEMailService", level: SettingLevel.SystemAdminReadonly },
68
- { moduleName: "solid-core", key: "emailTemplateSeederFiles", value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },
69
- { moduleName: "solid-core", key: "shouldQueueEmails", value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },
70
- { moduleName: "solid-core", key: "smtpMailHost", value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST, level: SettingLevel.SystemAdminReadonly },
71
- { moduleName: "solid-core", key: "smtpMailPort", value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587), level: SettingLevel.SystemAdminReadonly },
72
- { moduleName: "solid-core", key: "smtpMailUsername", value: process.env.COMMON_SMTP_EMAIL_USERNAME, level: SettingLevel.SystemAdminReadonly },
73
- { moduleName: "solid-core", key: "smtpMailPassword", value: process.env.COMMON_SMTP_EMAIL_PASSWORD, level: SettingLevel.SystemEnv },
74
- { moduleName: "solid-core", key: "smtpMailFrom", value: process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },
75
- { moduleName: "solid-core", key: "apiMailKey", value: process.env.COMMON_API_EMAIL_KEY, level: SettingLevel.SystemEnv },
76
- { moduleName: "solid-core", key: "apiMailFrom", value: process.env.COMMON_EMAIL_FROM, level: SettingLevel.SystemAdminReadonly },
77
-
78
- // genai-settings-provider.service.ts
79
- { moduleName: "solid-core", key: "ragServerUrl", value: process.env.GENAI_RAG_SERVER_URL, level: SettingLevel.SystemAdminReadonly },
80
- { moduleName: "solid-core", key: "ragServerLogin", value: process.env.GENAI_RAG_SERVER_LOGIN, level: SettingLevel.SystemEnv },
81
- { moduleName: "solid-core", key: "ragServerPassword", value: process.env.GENAI_RAG_SERVER_PASSWORD, level: SettingLevel.SystemEnv },
82
- { moduleName: "solid-core", key: "mcpPythonExecutable", value: process.env.MCP_PYTHON_EXECUTABLE, level: SettingLevel.SystemEnv },
83
- { moduleName: "solid-core", key: "mcpClient", value: process.env.MCP_CLIENT, level: SettingLevel.SystemEnv },
84
- { moduleName: "solid-core", key: "mcpRestartTouchFile", value: process.env.MCP_RESTART_TOUCH_FILE || "tmp/restart.touch", level: SettingLevel.SystemEnv },
85
-
86
- // google-oauth-settings-provider.service.ts
87
- { moduleName: "solid-core", key: "clientID", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID, level: SettingLevel.SystemAdminReadonly },
88
- { moduleName: "solid-core", key: "clientSecret", value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET, level: SettingLevel.SystemEnv },
89
- { moduleName: "solid-core", key: "callbackURL", value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL, level: SettingLevel.SystemAdminReadonly },
90
- { moduleName: "solid-core", key: "redirectURL", value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL, level: SettingLevel.SystemAdminReadonly },
91
-
92
- // iam-settings-provider.service.ts
93
- { moduleName: "solid-core", key: "passwordLessAuth", value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? 'false') === 'true', level: SettingLevel.SystemAdminEditable },
94
- { moduleName: "solid-core", key: "passwordBasedAuth", value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },
95
- { moduleName: "solid-core", key: "passwordlessRegistrationValidateWhat", value: (process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? 'email').trim(), level: SettingLevel.SystemAdminEditable },
96
- { moduleName: "solid-core", key: "passwordlessLoginValidateWhat", value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? 'email', level: SettingLevel.SystemAdminEditable },
97
- { moduleName: "solid-core", key: "allowPublicRegistration", value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },
98
- { moduleName: "solid-core", key: "activateUserOnRegistration", value: (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? 'true') === 'true', level: SettingLevel.SystemAdminEditable },
99
- { moduleName: "solid-core", key: "autoLoginUserOnRegistration", value: (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? 'false') === 'true', level: SettingLevel.SystemEnv },
100
- { moduleName: "solid-core", key: "otpExpiry", value: parseInt(process.env.IAM_OTP_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },
101
- { moduleName: "solid-core", key: "forgotPasswordVerificationTokenExpiry", value: parseInt(process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? '10'), level: SettingLevel.SystemEnv },
102
- { moduleName: "solid-core", key: "defaultRole", value: process.env.IAM_DEFAULT_ROLE ?? 'Public', level: SettingLevel.SystemAdminEditable },
103
- { moduleName: "solid-core", key: "dummyOtp", value: process.env.IAM_OTP_DUMMY, level: SettingLevel.SystemEnv },
104
- { moduleName: "solid-core", key: "dummyOtpUsers", value: process.env.IAM_OTP_DUMMY_USERS, level: SettingLevel.SystemEnv },
105
- { moduleName: "solid-core", key: "forgotPasswordSendVerificationTokenOn", value: process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? 'email', level: SettingLevel.SystemEnv },
106
- { moduleName: "solid-core", key: "maxFailedLoginAttempts", value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? '0'), level: SettingLevel.SystemAdminReadonly },
107
- { moduleName: "solid-core", key: "forceChangePasswordOnFirstLogin", value: false, level: SettingLevel.SystemAdminEditable },
108
- { moduleName: "solid-core", key: "authenticationPasswordRegex", value: process.env.PASSWORD_REGEX || '^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$', level: SettingLevel.SystemAdminEditable },
109
- { 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 },
110
- { 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 },
111
- { moduleName: "solid-core", key: "iamAutoGeneratedPassword", value: process.env.IAM_AUTOGENERATED_PASSWORD || true, level: SettingLevel.SystemAdminEditable },
112
- { moduleName: "solid-core", key: "passwordPepper", value: process.env.IAM_PASSWORD_PEPPER || '', level: SettingLevel.SystemEnv },
113
- { moduleName: "solid-core", key: "showNameFieldsForRegistration", value: process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === 'true' ? true : false, level: SettingLevel.SystemAdminEditable },
114
- { moduleName: "solid-core", key: "sendWelcomeEmailOnSignup", value: (process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },
115
- { moduleName: "solid-core", key: "sendWelcomeSmsOnSignup", value: (process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? 'false').toLowerCase() === 'true', level: SettingLevel.SystemEnv },
116
- { moduleName: "solid-core", key: "frontendLoginPageUrl", value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL, level: SettingLevel.SystemAdminReadonly },
117
- { moduleName: "solid-core", key: "frontendForgotPasswordPageUrl", value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL, level: SettingLevel.SystemAdminReadonly },
118
-
119
- // jwt-settings-provider.service.ts
120
- { moduleName: "solid-core", key: "secret", value: process.env.IAM_JWT_SECRET, level: SettingLevel.SystemEnv },
121
- { moduleName: "solid-core", key: "audience", value: process.env.IAM_JWT_TOKEN_AUDIENCE, level: SettingLevel.SystemAdminReadonly },
122
- { moduleName: "solid-core", key: "issuer", value: process.env.IAM_JWT_TOKEN_ISSUER, level: SettingLevel.SystemAdminReadonly },
123
- { moduleName: "solid-core", key: "accessTokenTtl", value: parseInt(process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? "1200" : "86400"), 10,), level: SettingLevel.SystemEnv },
124
- { moduleName: "solid-core", key: "refreshTokenTtl", value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? "604800", 10), level: SettingLevel.SystemEnv },
125
-
126
- // queues-settings-provider.service.ts
127
- { moduleName: "solid-core", key: "queuesDefaultBroker", value: process.env.QUEUES_DEFAULT_BROKER || 'database', level: SettingLevel.SystemAdminReadonly },
128
- { moduleName: "solid-core", key: "queuesServiceRole", value: process.env.QUEUES_SERVICE_ROLE, level: SettingLevel.SystemAdminReadonly },
129
- { moduleName: "solid-core", key: "queuesRabbitMqUrl", value: process.env.QUEUES_RABBIT_MQ_URL, level: SettingLevel.SystemEnv },
130
- { moduleName: "solid-core", key: "solidCliRunning", value: process.env.SOLID_CLI_RUNNING || "false", level: SettingLevel.SystemEnv },
131
-
132
- // sms-settings-provider.service.ts
133
- { moduleName: "solid-core", key: "smsProvider", value: process.env.COMMON_SMS_PROVIDER, level: SettingLevel.SystemAdminReadonly },
134
- { moduleName: "solid-core", key: "smsTemplateSeederFiles", value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES, level: SettingLevel.SystemAdminReadonly },
135
- { moduleName: "solid-core", key: "shouldQueueSms", value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },
136
- { moduleName: "solid-core", key: "msg91SmsUrl", value: process.env.COMMON_MSG91_SMS_URL, level: SettingLevel.SystemAdminReadonly },
137
- { moduleName: "solid-core", key: "msg91SmsApiKey", value: process.env.COMMON_MSG91_SMS_API_KEY, level: SettingLevel.SystemEnv },
138
- { moduleName: "solid-core", key: "twilioAccountSid", value: process.env.COMMON_TWILIO_ACCOUNT_SID, level: SettingLevel.SystemAdminReadonly },
139
- { moduleName: "solid-core", key: "twilioAuthToken", value: process.env.COMMON_TWILIO_AUTH_TOKEN, level: SettingLevel.SystemEnv },
140
- { moduleName: "solid-core", key: "twilioNumber", value: process.env.COMMON_TWILIO_NUMBER, level: SettingLevel.SystemAdminReadonly },
141
-
142
- // tiny-url-settings-provider.service.ts
143
- { moduleName: "solid-core", key: "tinyUrlApiUrl", value: process.env.COMMON_SHORT_URL_API_URL, level: SettingLevel.SystemAdminReadonly },
144
- { moduleName: "solid-core", key: "tinyUrlApiKey", value: process.env.COMMON_SHORT_URL_API_KEY, level: SettingLevel.SystemEnv },
145
- { moduleName: "solid-core", key: "tinyUrlDomain", value: process.env.COMMON_SHORT_URL_DOMAIN, level: SettingLevel.SystemAdminReadonly },
146
- { moduleName: "solid-core", key: "tinyUrlEnabled", value: (process.env.COMMON_SHORT_URL_ENABLED ?? 'false') === 'true', level: SettingLevel.SystemAdminReadonly },
147
-
148
- // whatsapp-settings-provider.service.ts
149
- { moduleName: "solid-core", key: "whatsappProvider", value: process.env.COMMON_WHATSAPP_PROVIDER, level: SettingLevel.SystemAdminReadonly },
150
- { moduleName: "solid-core", key: "msg91WhatsappUrl", value: process.env.COMMON_WHATSAPP_API_URL, level: SettingLevel.SystemAdminReadonly },
151
- { moduleName: "solid-core", key: "msg91WhatsappApiKey", value: process.env.COMMON_WHATSAPP_API_KEY, level: SettingLevel.SystemEnv },
152
- { moduleName: "solid-core", key: "msg91WhatsappIntegratedNumber", value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER, level: SettingLevel.SystemAdminReadonly },
153
- ] as const satisfies SettingDefinition[]);
154
-
155
- // 2.
156
- export type SolidCoreSetting = ReturnType<typeof getSolidCoreSettings>[number]["key"];
157
-
158
- // 3.
29
+ moduleName: "solid-core",
30
+ key: "authPagesLayout",
31
+ value: "center",
32
+ level: SettingLevel.SystemAdminEditable,
33
+ label: "Authentication Screen Layout",
34
+ group: "authentication-settings",
35
+ sortOrder: 80,
36
+ controlType: "selectionStatic",
37
+ options: [
38
+ { label: "Left", value: "left" },
39
+ { label: "Center", value: "center" },
40
+ { label: "Right", value: "right" },
41
+ ],
42
+ },
43
+ // Removed authPagesTheme as we are going to use the local storage based theme switching in the frontend instead of server side theme switching.
44
+ // { moduleName: "solid-core", key: "authPagesTheme", value: "light", level: SettingLevel.SystemAdminEditable },
45
+ {
46
+ moduleName: "solid-core",
47
+ key: "appLogo",
48
+ value: null,
49
+ level: SettingLevel.SystemAdminEditable,
50
+ label: "App Logo",
51
+ group: "app-settings",
52
+ sortOrder: 10,
53
+ controlType: "mediaSingle",
54
+ },
55
+ {
56
+ moduleName: "solid-core",
57
+ key: "companylogo",
58
+ value: null,
59
+ level: SettingLevel.SystemAdminEditable,
60
+ label: "Company Logo",
61
+ group: "app-settings",
62
+ sortOrder: 20,
63
+ controlType: "mediaSingle",
64
+ },
65
+ {
66
+ moduleName: "solid-core",
67
+ key: "favicon",
68
+ value: null,
69
+ level: SettingLevel.SystemAdminEditable,
70
+ label: "Favicon",
71
+ group: "app-settings",
72
+ sortOrder: 30,
73
+ controlType: "mediaSingle",
74
+ },
75
+ {
76
+ moduleName: "solid-core",
77
+ key: "appLogoPosition",
78
+ value: "in_form_view",
79
+ level: SettingLevel.SystemAdminEditable,
80
+ label: "App Logo Position",
81
+ group: "app-settings",
82
+ sortOrder: 40,
83
+ controlType: "selectionStatic",
84
+ options: [
85
+ { label: "In Form View", value: "in_form_view" },
86
+ { label: "In Image View", value: "in_image_view" },
87
+ ],
88
+ },
89
+ {
90
+ moduleName: "solid-core",
91
+ key: "showAuthContent",
92
+ value: false,
93
+ level: SettingLevel.SystemAdminEditable,
94
+ label: "Show Details On Authentication Screen",
95
+ group: "app-settings",
96
+ sortOrder: 50,
97
+ controlType: "boolean",
98
+ },
99
+ {
100
+ moduleName: "solid-core",
101
+ key: "appTitle",
102
+ value: process.env.SOLID_APP_NAME || "Solid App",
103
+ level: SettingLevel.SystemAdminEditable,
104
+ label: "App Title",
105
+ group: "app-settings",
106
+ sortOrder: 60,
107
+ controlType: "shortText",
108
+ },
109
+ {
110
+ moduleName: "solid-core",
111
+ key: "appSubtitle",
112
+ value: process.env.SOLID_APP_SUBTITLE || "",
113
+ level: SettingLevel.SystemAdminEditable,
114
+ label: "App Subtitle",
115
+ group: "app-settings",
116
+ sortOrder: 70,
117
+ controlType: "shortText",
118
+ },
119
+ {
120
+ moduleName: "solid-core",
121
+ key: "appDescription",
122
+ value: process.env.SOLID_APP_DESCRIPTION || "",
123
+ level: SettingLevel.SystemAdminEditable,
124
+ label: "Description",
125
+ group: "app-settings",
126
+ sortOrder: 80,
127
+ controlType: "longText",
128
+ },
129
+ {
130
+ moduleName: "solid-core",
131
+ key: "showLegalLinks",
132
+ value: false,
133
+ level: SettingLevel.SystemAdminEditable,
134
+ label: "Show Legal Links",
135
+ group: "app-settings",
136
+ sortOrder: 90,
137
+ controlType: "boolean",
138
+ },
139
+ {
140
+ moduleName: "solid-core",
141
+ key: "appTnc",
142
+ value: null,
143
+ level: SettingLevel.SystemAdminEditable,
144
+ label: "Terms And Conditions Link",
145
+ group: "app-settings",
146
+ sortOrder: 100,
147
+ controlType: "shortText",
148
+ },
149
+ {
150
+ moduleName: "solid-core",
151
+ key: "appPrivacyPolicy",
152
+ value: null,
153
+ level: SettingLevel.SystemAdminEditable,
154
+ label: "Privacy Policy Link",
155
+ group: "app-settings",
156
+ sortOrder: 110,
157
+ controlType: "shortText",
158
+ },
159
+ {
160
+ moduleName: "solid-core",
161
+ key: "enableDarkMode",
162
+ value: true,
163
+ level: SettingLevel.SystemAdminEditable,
164
+ label: "Enable Dark Mode",
165
+ group: "app-settings",
166
+ sortOrder: 120,
167
+ controlType: "boolean",
168
+ },
169
+ {
170
+ moduleName: "solid-core",
171
+ key: "copyright",
172
+ value: null,
173
+ level: SettingLevel.SystemAdminEditable,
174
+ label: "Copyright",
175
+ group: "app-settings",
176
+ sortOrder: 130,
177
+ controlType: "longText",
178
+ },
179
+ {
180
+ moduleName: "solid-core",
181
+ key: "enableUsername",
182
+ value: true,
183
+ level: SettingLevel.SystemAdminEditable,
184
+ label: "Enable Username",
185
+ group: "misc-settings",
186
+ sortOrder: 10,
187
+ controlType: "boolean",
188
+ },
189
+ {
190
+ moduleName: "solid-core",
191
+ key: "enabledNotification",
192
+ value: true,
193
+ level: SettingLevel.SystemAdminEditable,
194
+ label: "Enable Notification",
195
+ group: "misc-settings",
196
+ sortOrder: 20,
197
+ controlType: "boolean",
198
+ },
199
+ {
200
+ moduleName: "solid-core",
201
+ key: "contactSupportEmail",
202
+ value: null,
203
+ level: SettingLevel.SystemAdminEditable,
204
+ label: "Contact Support Email",
205
+ group: "misc-settings",
206
+ sortOrder: 30,
207
+ controlType: "shortText",
208
+ },
209
+ {
210
+ moduleName: "solid-core",
211
+ key: "contactSupportDisplayName",
212
+ value: null,
213
+ level: SettingLevel.SystemAdminEditable,
214
+ label: "Contact Support Display Name",
215
+ group: "misc-settings",
216
+ sortOrder: 40,
217
+ controlType: "shortText",
218
+ },
219
+ {
220
+ moduleName: "solid-core",
221
+ key: "contactSupportIcon",
222
+ value: null,
223
+ level: SettingLevel.SystemAdminEditable,
224
+ label: "Contact Support Icon",
225
+ group: "misc-settings",
226
+ sortOrder: 50,
227
+ controlType: "shortText",
228
+ },
229
+ {
230
+ moduleName: "solid-core",
231
+ key: "authScreenRightBackgroundImage",
232
+ value: null,
233
+ level: SettingLevel.SystemAdminEditable,
234
+ label: "Authentication Right Banner Image",
235
+ group: "authentication-settings",
236
+ sortOrder: 90,
237
+ controlType: "mediaSingle",
238
+ },
239
+ {
240
+ moduleName: "solid-core",
241
+ key: "authScreenLeftBackgroundImage",
242
+ value: null,
243
+ level: SettingLevel.SystemAdminEditable,
244
+ label: "Authentication Left Banner Image",
245
+ group: "authentication-settings",
246
+ sortOrder: 100,
247
+ controlType: "mediaSingle",
248
+ },
249
+ {
250
+ moduleName: "solid-core",
251
+ key: "authScreenCenterBackgroundImage",
252
+ value: null,
253
+ level: SettingLevel.SystemAdminEditable,
254
+ label: "Authentication Center Background Image",
255
+ group: "authentication-settings",
256
+ sortOrder: 110,
257
+ controlType: "mediaSingle",
258
+ },
259
+ {
260
+ moduleName: "solid-core",
261
+ key: "solidXGenAiCodeBuilderConfig",
262
+ value: JSON.stringify({
263
+ models: {
264
+ default: {
265
+ providerId: "",
266
+ model: "",
267
+ behavior: { streaming: false, custom: "" },
268
+ },
269
+ fast: {
270
+ providerId: "",
271
+ model: "",
272
+ behavior: { streaming: false, custom: "" },
273
+ },
274
+ },
275
+ providers: {},
276
+ }),
277
+ level: SettingLevel.SystemAdminEditable,
278
+ encrypted: true,
279
+ label: "AI Code Builder Configuration",
280
+ description: "Structured configuration for AI providers and model assignments.",
281
+ group: "ai-settings",
282
+ sortOrder: 10,
283
+ controlType: "custom",
284
+ settingsWidget: "solidXGenAiCodeBuilderConfigWidget"
285
+ },
286
+ {
287
+ moduleName: "solid-core",
288
+ key: "appEncryptionKey",
289
+ value: process.env.APP_ENCRYPTION_KEY,
290
+ level: SettingLevel.SystemEnv,
291
+ },
292
+ {
293
+ moduleName: "solid-core",
294
+ key: "mcpEnabled",
295
+ value: process.env.MCP_ENABLED || false,
296
+ level: SettingLevel.SystemAdminReadonly,
297
+ label: "MCP Enabled",
298
+ group: "ai-settings",
299
+ sortOrder: 20,
300
+ controlType: "boolean",
301
+ },
302
+ {
303
+ moduleName: "solid-core",
304
+ key: "mcpServerUrl",
305
+ value: process.env.MCP_SERVER_URL,
306
+ level: SettingLevel.SystemAdminReadonly,
307
+ label: "MCP Server URL",
308
+ group: "ai-settings",
309
+ sortOrder: 30,
310
+ controlType: "shortText",
311
+ },
312
+ {
313
+ moduleName: "solid-core",
314
+ key: "mcpApiKey",
315
+ value: process.env.MCP_API_KEY,
316
+ level: SettingLevel.SystemEnv,
317
+ },
318
+ {
319
+ moduleName: "solid-core",
320
+ key: "dateTimeFormat",
321
+ value: process.env.DATE_TIME_FORMAT || "YYYY-MM-DD HH:mm:ss",
322
+ level: SettingLevel.SystemAdminEditable,
323
+ label: "Date Time Format",
324
+ group: "system-settings",
325
+ sortOrder: 10,
326
+ controlType: "shortText",
327
+ },
328
+ {
329
+ moduleName: "solid-core",
330
+ key: "dateFormat",
331
+ value: process.env.DATE_FORMAT || "YYYY-MM-DD",
332
+ level: SettingLevel.SystemAdminEditable,
333
+ label: "Date Format",
334
+ group: "system-settings",
335
+ sortOrder: 20,
336
+ controlType: "shortText",
337
+ },
338
+ {
339
+ moduleName: "solid-core",
340
+ key: "baseUrl",
341
+ value: process.env.BASE_URL,
342
+ level: SettingLevel.SystemAdminReadonly,
343
+ label: "Base URL",
344
+ group: "system-settings",
345
+ sortOrder: 30,
346
+ controlType: "shortText",
347
+ },
348
+ {
349
+ moduleName: "solid-core",
350
+ key: "solidAppWebsiteUrl",
351
+ value: process.env.SOLID_APP_WEBSITE_URL,
352
+ level: SettingLevel.SystemAdminEditable,
353
+ label: "Solid App Website URL",
354
+ group: "system-settings",
355
+ sortOrder: 40,
356
+ controlType: "shortText",
357
+ },
358
+
359
+ // app-builder-settings-provider.service.ts, app-builder.config.ts
360
+ {
361
+ moduleName: "solid-core",
362
+ key: "moduleMetadataSeederFiles",
363
+ value: process.env.AB_MODULE_METADATA_SEEDER_FILES ?? "",
364
+ level: SettingLevel.SystemAdminReadonly,
365
+ label: "Module Metadata Seeder Files",
366
+ group: "storage-settings",
367
+ sortOrder: 10,
368
+ controlType: "longText",
369
+ },
370
+ {
371
+ moduleName: "solid-core",
372
+ key: "uploadDir",
373
+ value: process.env.AB_MEDIA_UPLOAD_DIR ?? DEFAULT_MEDIA_UPLOAD_DIR,
374
+ level: SettingLevel.SystemAdminReadonly,
375
+ label: "Upload Directory",
376
+ group: "storage-settings",
377
+ sortOrder: 20,
378
+ controlType: "shortText",
379
+ },
380
+ {
381
+ moduleName: "solid-core",
382
+ key: "fileStorageDir",
383
+ value:
384
+ process.env.AB_MEDIA_FILE_STORAGE_DIR ?? DEFAULT_MEDIA_FILE_STORAGE_DIR,
385
+ level: SettingLevel.SystemAdminReadonly,
386
+ label: "File Storage Directory",
387
+ group: "storage-settings",
388
+ sortOrder: 30,
389
+ controlType: "shortText",
390
+ },
391
+ {
392
+ moduleName: "solid-core",
393
+ key: "defaultFileService",
394
+ value: process.env.DEFAULT_FILE_SERVICE ?? "disk",
395
+ level: SettingLevel.SystemAdminReadonly,
396
+ label: "Default File Service",
397
+ group: "storage-settings",
398
+ sortOrder: 40,
399
+ controlType: "selectionStatic",
400
+ options: [
401
+ { label: "Disk", value: "disk" },
402
+ { label: "S3", value: "s3" },
403
+ ],
404
+ },
405
+
406
+ // aws-s3-settings-provider.service.ts
407
+ {
408
+ moduleName: "solid-core",
409
+ key: "S3_AWS_ACCESS_KEY",
410
+ value: process.env.S3_AWS_ACCESS_KEY,
411
+ level: SettingLevel.SystemEnv,
412
+ },
413
+ {
414
+ moduleName: "solid-core",
415
+ key: "S3_AWS_SECRET_KEY",
416
+ value: process.env.S3_AWS_SECRET_KEY,
417
+ level: SettingLevel.SystemEnv,
418
+ },
419
+ {
420
+ moduleName: "solid-core",
421
+ key: "S3_AWS_REGION_NAME",
422
+ value: process.env.S3_AWS_REGION_NAME,
423
+ level: SettingLevel.SystemAdminReadonly,
424
+ label: "AWS Region Name",
425
+ group: "storage-settings",
426
+ sortOrder: 50,
427
+ controlType: "shortText",
428
+ },
429
+ {
430
+ moduleName: "solid-core",
431
+ key: "S3_DEFAULT_BUCKET",
432
+ value: process.env.S3_DEFAULT_BUCKET,
433
+ level: SettingLevel.SystemAdminReadonly,
434
+ label: "S3 Default Bucket",
435
+ group: "storage-settings",
436
+ sortOrder: 60,
437
+ controlType: "shortText",
438
+ },
439
+
440
+ // email-settings-provider.service.ts
441
+ {
442
+ moduleName: "solid-core",
443
+ key: "emailProvider",
444
+ value: process.env.COMMON_EMAIL_PROVIDER ?? "SMTPEMailService",
445
+ level: SettingLevel.SystemAdminReadonly,
446
+ label: "Email Provider",
447
+ group: "email-settings",
448
+ sortOrder: 10,
449
+ controlType: "selectionStatic",
450
+ options: [
451
+ { label: "SMTP Email Service", value: "SMTPEMailService" },
452
+ { label: "Elastic Email Service", value: "ElasticEmailService" },
453
+ ],
454
+ },
455
+ {
456
+ moduleName: "solid-core",
457
+ key: "emailTemplateSeederFiles",
458
+ value: process.env.COMMON_EMAIL_TEMPLATE_SEEDER_FILES,
459
+ level: SettingLevel.SystemAdminReadonly,
460
+ label: "Email Template Seeder Files",
461
+ group: "email-settings",
462
+ sortOrder: 20,
463
+ controlType: "longText",
464
+ },
465
+ {
466
+ moduleName: "solid-core",
467
+ key: "shouldQueueEmails",
468
+ value: (process.env.COMMON_EMAIL_SHOULD_QUEUE ?? "false") === "true",
469
+ level: SettingLevel.SystemAdminReadonly,
470
+ label: "Queue Emails",
471
+ group: "email-settings",
472
+ sortOrder: 30,
473
+ controlType: "boolean",
474
+ },
475
+ {
476
+ moduleName: "solid-core",
477
+ key: "smtpMailHost",
478
+ value: process.env.COMMON_SMTP_EMAIL_SMTP_HOST,
479
+ level: SettingLevel.SystemAdminReadonly,
480
+ label: "SMTP Mail Host",
481
+ group: "email-settings",
482
+ sortOrder: 40,
483
+ controlType: "shortText",
484
+ },
485
+ {
486
+ moduleName: "solid-core",
487
+ key: "smtpMailPort",
488
+ value: +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587),
489
+ level: SettingLevel.SystemAdminReadonly,
490
+ label: "SMTP Mail Port",
491
+ group: "email-settings",
492
+ sortOrder: 50,
493
+ controlType: "numeric",
494
+ },
495
+ {
496
+ moduleName: "solid-core",
497
+ key: "smtpMailUsername",
498
+ value: process.env.COMMON_SMTP_EMAIL_USERNAME,
499
+ level: SettingLevel.SystemAdminReadonly,
500
+ label: "SMTP Mail Username",
501
+ group: "email-settings",
502
+ sortOrder: 60,
503
+ controlType: "shortText",
504
+ },
505
+ {
506
+ moduleName: "solid-core",
507
+ key: "smtpMailPassword",
508
+ value: process.env.COMMON_SMTP_EMAIL_PASSWORD,
509
+ level: SettingLevel.SystemEnv,
510
+ },
511
+ {
512
+ moduleName: "solid-core",
513
+ key: "smtpMailFrom",
514
+ value:
515
+ process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM,
516
+ level: SettingLevel.SystemAdminReadonly,
517
+ label: "SMTP Mail From",
518
+ group: "email-settings",
519
+ sortOrder: 70,
520
+ controlType: "shortText",
521
+ },
522
+ {
523
+ moduleName: "solid-core",
524
+ key: "apiMailKey",
525
+ value: process.env.COMMON_API_EMAIL_KEY,
526
+ level: SettingLevel.SystemEnv,
527
+ },
528
+ {
529
+ moduleName: "solid-core",
530
+ key: "apiMailFrom",
531
+ value: process.env.COMMON_EMAIL_FROM,
532
+ level: SettingLevel.SystemAdminReadonly,
533
+ label: "API Mail From",
534
+ group: "email-settings",
535
+ sortOrder: 80,
536
+ controlType: "shortText",
537
+ },
538
+
539
+ // genai-settings-provider.service.ts
540
+ {
541
+ moduleName: "solid-core",
542
+ key: "ragServerUrl",
543
+ value: process.env.GENAI_RAG_SERVER_URL,
544
+ level: SettingLevel.SystemAdminReadonly,
545
+ label: "RAG Server URL",
546
+ group: "ai-settings",
547
+ sortOrder: 40,
548
+ controlType: "shortText",
549
+ },
550
+ {
551
+ moduleName: "solid-core",
552
+ key: "ragServerLogin",
553
+ value: process.env.GENAI_RAG_SERVER_LOGIN,
554
+ level: SettingLevel.SystemEnv,
555
+ },
556
+ {
557
+ moduleName: "solid-core",
558
+ key: "ragServerPassword",
559
+ value: process.env.GENAI_RAG_SERVER_PASSWORD,
560
+ level: SettingLevel.SystemEnv,
561
+ },
562
+ {
563
+ moduleName: "solid-core",
564
+ key: "mcpPythonExecutable",
565
+ value: process.env.MCP_PYTHON_EXECUTABLE,
566
+ level: SettingLevel.SystemEnv,
567
+ },
568
+ {
569
+ moduleName: "solid-core",
570
+ key: "mcpClient",
571
+ value: process.env.MCP_CLIENT,
572
+ level: SettingLevel.SystemEnv,
573
+ },
574
+ {
575
+ moduleName: "solid-core",
576
+ key: "mcpRestartTouchFile",
577
+ value: process.env.MCP_RESTART_TOUCH_FILE || "tmp/restart.touch",
578
+ level: SettingLevel.SystemEnv,
579
+ },
580
+
581
+ // google-oauth-settings-provider.service.ts
582
+ {
583
+ moduleName: "solid-core",
584
+ key: "clientID",
585
+ value: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID,
586
+ level: SettingLevel.SystemAdminReadonly,
587
+ label: "Google OAuth Client ID",
588
+ group: "oauth-settings",
589
+ sortOrder: 10,
590
+ controlType: "shortText",
591
+ },
592
+ {
593
+ moduleName: "solid-core",
594
+ key: "clientSecret",
595
+ value: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET,
596
+ level: SettingLevel.SystemEnv,
597
+ },
598
+ {
599
+ moduleName: "solid-core",
600
+ key: "callbackURL",
601
+ value: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL,
602
+ level: SettingLevel.SystemAdminReadonly,
603
+ label: "Google OAuth Callback URL",
604
+ group: "oauth-settings",
605
+ sortOrder: 20,
606
+ controlType: "shortText",
607
+ },
608
+ {
609
+ moduleName: "solid-core",
610
+ key: "redirectURL",
611
+ value: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,
612
+ level: SettingLevel.SystemAdminReadonly,
613
+ label: "Google OAuth Redirect URL",
614
+ group: "oauth-settings",
615
+ sortOrder: 30,
616
+ controlType: "shortText",
617
+ },
618
+
619
+ // facebook-oauth-settings-provider.service.ts
620
+ { moduleName: "solid-core", key: "FACEBOOK_CLIENT_ID", value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_ID, level: SettingLevel.SystemAdminReadonly },
621
+ { moduleName: "solid-core", key: "FACEBOOK_CLIENT_SECRET", value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_SECRET, level: SettingLevel.SystemEnv },
622
+ { moduleName: "solid-core", key: "FACEBOOK_CALLBACK_URL", value: process.env.IAM_FACEBOOK_OAUTH_CALLBACK_URL, level: SettingLevel.SystemAdminReadonly },
623
+ { moduleName: "solid-core", key: "FACEBOOK_REDIRECT_URL", value: process.env.IAM_FACEBOOK_OAUTH_REDIRECT_URL, level: SettingLevel.SystemAdminReadonly },
624
+
625
+
626
+ // microsoft-oauth-settings-provider.service.ts
627
+ { moduleName: "solid-core", key: "MICROSOFT_CLIENT_ID", value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_ID, level: SettingLevel.SystemAdminReadonly },
628
+ { moduleName: "solid-core", key: "MICROSOFT_CLIENT_SECRET", value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_SECRET, level: SettingLevel.SystemEnv },
629
+ { moduleName: "solid-core", key: "MICROSOFT_TENANT_ID", value: process.env.IAM_MICROSOFT_OAUTH_TENANT_ID || 'common', level: SettingLevel.SystemAdminReadonly },
630
+ { moduleName: "solid-core", key: "MICROSOFT_CALLBACK_URL", value: process.env.IAM_MICROSOFT_OAUTH_CALLBACK_URL, level: SettingLevel.SystemAdminReadonly },
631
+ { moduleName: "solid-core", key: "MICROSOFT_REDIRECT_URL", value: process.env.IAM_MICROSOFT_OAUTH_REDIRECT_URL, level: SettingLevel.SystemAdminReadonly },
632
+
633
+ // iam-settings-provider.service.ts
634
+ {
635
+ moduleName: "solid-core",
636
+ key: "passwordLessAuth",
637
+ value: (process.env.IAM_PASSWORD_LESS_AUTH?.trim() ?? "false") === "true",
638
+ level: SettingLevel.SystemAdminEditable,
639
+ label: "Password Less Authentication",
640
+ group: "authentication-settings",
641
+ sortOrder: 20,
642
+ controlType: "boolean",
643
+ },
644
+ {
645
+ moduleName: "solid-core",
646
+ key: "passwordBasedAuth",
647
+ value: (process.env.IAM_PASSWORD_BASED_AUTH?.trim() ?? "true") === "true",
648
+ level: SettingLevel.SystemAdminEditable,
649
+ label: "Password Based Authentication",
650
+ group: "authentication-settings",
651
+ sortOrder: 10,
652
+ controlType: "boolean",
653
+ },
654
+ {
655
+ moduleName: "solid-core",
656
+ key: "passwordlessRegistrationValidateWhat",
657
+ value: (
658
+ process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? "email"
659
+ ).trim(),
660
+ level: SettingLevel.SystemAdminEditable,
661
+ label: "Registration Validation Type",
662
+ group: "authentication-settings",
663
+ sortOrder: 30,
664
+ controlType: "shortText",
665
+ },
666
+ {
667
+ moduleName: "solid-core",
668
+ key: "passwordlessLoginValidateWhat",
669
+ value: process.env.IAM_PASSWORD_LESS_LOGIN_VALIDATE_WHAT ?? "email",
670
+ level: SettingLevel.SystemAdminEditable,
671
+ label: "Login Validation Type",
672
+ group: "authentication-settings",
673
+ sortOrder: 40,
674
+ controlType: "shortText",
675
+ },
676
+ {
677
+ moduleName: "solid-core",
678
+ key: "allowPublicRegistration",
679
+ value: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? "true") === "true",
680
+ level: SettingLevel.SystemAdminEditable,
681
+ label: "Public Registration",
682
+ group: "authentication-settings",
683
+ sortOrder: 60,
684
+ controlType: "boolean",
685
+ },
686
+ {
687
+ moduleName: "solid-core",
688
+ key: "activateUserOnRegistration",
689
+ value:
690
+ (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? "true") === "true",
691
+ level: SettingLevel.SystemAdminEditable,
692
+ label: "Auto Activate User On Registration",
693
+ group: "authentication-settings",
694
+ sortOrder: 70,
695
+ controlType: "boolean",
696
+ },
697
+ {
698
+ moduleName: "solid-core",
699
+ key: "autoLoginUserOnRegistration",
700
+ value:
701
+ (process.env.IAM_AUTO_LOGIN_USER_ON_REGISTRATION ?? "false") === "true",
702
+ level: SettingLevel.SystemEnv,
703
+ },
704
+ {
705
+ moduleName: "solid-core",
706
+ key: "otpExpiry",
707
+ value: parseInt(process.env.IAM_OTP_EXPIRY ?? "10"),
708
+ level: SettingLevel.SystemEnv,
709
+ },
710
+ {
711
+ moduleName: "solid-core",
712
+ key: "forgotPasswordVerificationTokenExpiry",
713
+ value: parseInt(
714
+ process.env.IAM_FORGOT_PASSWORD_VERIFICATION_TOKEN_EXPIRY ?? "10",
715
+ ),
716
+ level: SettingLevel.SystemEnv,
717
+ },
718
+ {
719
+ moduleName: "solid-core",
720
+ key: "defaultRole",
721
+ value: process.env.IAM_DEFAULT_ROLE ?? "Public",
722
+ level: SettingLevel.SystemAdminEditable,
723
+ label: "Default Role",
724
+ group: "authentication-settings",
725
+ sortOrder: 75,
726
+ controlType: "shortText",
727
+ },
728
+ {
729
+ moduleName: "solid-core",
730
+ key: "dummyOtp",
731
+ value: process.env.IAM_OTP_DUMMY,
732
+ level: SettingLevel.SystemEnv,
733
+ },
734
+ {
735
+ moduleName: "solid-core",
736
+ key: "dummyOtpUsers",
737
+ value: process.env.IAM_OTP_DUMMY_USERS,
738
+ level: SettingLevel.SystemEnv,
739
+ },
740
+ {
741
+ moduleName: "solid-core",
742
+ key: "forgotPasswordSendVerificationTokenOn",
743
+ value:
744
+ process.env.IAM_FORGOT_PASSWORD_SEND_VERIFICATION_TOKEN_ON ?? "email",
745
+ level: SettingLevel.SystemEnv,
746
+ },
747
+ {
748
+ moduleName: "solid-core",
749
+ key: "maxFailedLoginAttempts",
750
+ value: parseInt(process.env.IAM_MAX_FAILED_LOGIN_ATTEMPTS ?? "0"),
751
+ level: SettingLevel.SystemAdminReadonly,
752
+ label: "Max Failed Login Attempts",
753
+ group: "authentication-settings",
754
+ sortOrder: 110,
755
+ controlType: "numeric",
756
+ },
757
+ {
758
+ moduleName: "solid-core",
759
+ key: "forceChangePasswordOnFirstLogin",
760
+ value: false,
761
+ level: SettingLevel.SystemAdminEditable,
762
+ label: "Force Change Password On First Login",
763
+ group: "authentication-settings",
764
+ sortOrder: 120,
765
+ controlType: "boolean",
766
+ },
767
+ {
768
+ moduleName: "solid-core",
769
+ key: "authenticationPasswordRegex",
770
+ value:
771
+ process.env.PASSWORD_REGEX ||
772
+ "^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$",
773
+ level: SettingLevel.SystemAdminEditable,
774
+ label: "Authentication Password Regex",
775
+ group: "authentication-settings",
776
+ sortOrder: 130,
777
+ controlType: "shortText",
778
+ },
779
+ {
780
+ moduleName: "solid-core",
781
+ key: "authenticationPasswordRegexErrorMessage",
782
+ value:
783
+ process.env.PASSWORD_REGEX_ERROR_MESSAGE ||
784
+ "Password must contain at least one uppercase, one lowercase, one number, and one special character.",
785
+ level: SettingLevel.SystemAdminEditable,
786
+ label: "Password Regex Error Message",
787
+ group: "authentication-settings",
788
+ sortOrder: 140,
789
+ controlType: "longText",
790
+ },
791
+ {
792
+ moduleName: "solid-core",
793
+ key: "authenticationPasswordComplexityDescription",
794
+ value:
795
+ process.env.PASSWORD_COMPLEXITY_DESC ||
796
+ "Password must contain at least one uppercase, one lowercase, one number, and one special character.",
797
+ level: SettingLevel.SystemAdminEditable,
798
+ label: "Password Complexity Description",
799
+ group: "authentication-settings",
800
+ sortOrder: 150,
801
+ controlType: "longText",
802
+ },
803
+ {
804
+ moduleName: "solid-core",
805
+ key: "iamAutoGeneratedPassword",
806
+ value: process.env.IAM_AUTOGENERATED_PASSWORD || true,
807
+ level: SettingLevel.SystemAdminEditable,
808
+ label: "Auto Generate Password",
809
+ group: "authentication-settings",
810
+ sortOrder: 160,
811
+ controlType: "boolean",
812
+ },
813
+ {
814
+ moduleName: "solid-core",
815
+ key: "passwordPepper",
816
+ value: process.env.IAM_PASSWORD_PEPPER || "",
817
+ level: SettingLevel.SystemEnv,
818
+ },
819
+ {
820
+ moduleName: "solid-core",
821
+ key: "showNameFieldsForRegistration",
822
+ value:
823
+ process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === "true"
824
+ ? true
825
+ : false,
826
+ level: SettingLevel.SystemAdminEditable,
827
+ label: "Show Name Fields For Registration",
828
+ group: "authentication-settings",
829
+ sortOrder: 170,
830
+ controlType: "boolean",
831
+ },
832
+ {
833
+ moduleName: "solid-core",
834
+ key: "sendWelcomeEmailOnSignup",
835
+ value:
836
+ (
837
+ process.env.IAM_SEND_WELCOME_EMAIL_ON_SIGNUP ?? "false"
838
+ ).toLowerCase() === "true",
839
+ level: SettingLevel.SystemEnv,
840
+ },
841
+ {
842
+ moduleName: "solid-core",
843
+ key: "sendWelcomeSmsOnSignup",
844
+ value:
845
+ (
846
+ process.env.IAM_SEND_WELCOME_SMS_ON_SIGNUP ?? "false"
847
+ ).toLowerCase() === "true",
848
+ level: SettingLevel.SystemEnv,
849
+ },
850
+ {
851
+ moduleName: "solid-core",
852
+ key: "frontendLoginPageUrl",
853
+ value: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL,
854
+ level: SettingLevel.SystemAdminReadonly,
855
+ label: "Frontend Login Page URL",
856
+ group: "authentication-settings",
857
+ sortOrder: 180,
858
+ controlType: "shortText",
859
+ },
860
+ {
861
+ moduleName: "solid-core",
862
+ key: "frontendForgotPasswordPageUrl",
863
+ value: process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL,
864
+ level: SettingLevel.SystemAdminReadonly,
865
+ label: "Frontend Forgot Password Page URL",
866
+ group: "authentication-settings",
867
+ sortOrder: 190,
868
+ controlType: "shortText",
869
+ },
870
+
871
+ // jwt-settings-provider.service.ts
872
+ {
873
+ moduleName: "solid-core",
874
+ key: "secret",
875
+ value: process.env.IAM_JWT_SECRET,
876
+ level: SettingLevel.SystemEnv,
877
+ },
878
+ {
879
+ moduleName: "solid-core",
880
+ key: "audience",
881
+ value: process.env.IAM_JWT_TOKEN_AUDIENCE,
882
+ level: SettingLevel.SystemAdminReadonly,
883
+ label: "JWT Audience",
884
+ group: "jwt-settings",
885
+ sortOrder: 10,
886
+ controlType: "shortText",
887
+ },
888
+ {
889
+ moduleName: "solid-core",
890
+ key: "issuer",
891
+ value: process.env.IAM_JWT_TOKEN_ISSUER,
892
+ level: SettingLevel.SystemAdminReadonly,
893
+ label: "JWT Issuer",
894
+ group: "jwt-settings",
895
+ sortOrder: 20,
896
+ controlType: "shortText",
897
+ },
898
+ {
899
+ moduleName: "solid-core",
900
+ key: "accessTokenTtl",
901
+ value: parseInt(
902
+ process.env.IAM_JWT_ACCESS_TOKEN_TTL ?? (isProd ? "1200" : "86400"),
903
+ 10,
904
+ ),
905
+ level: SettingLevel.SystemEnv,
906
+ },
907
+ {
908
+ moduleName: "solid-core",
909
+ key: "refreshTokenTtl",
910
+ value: parseInt(process.env.IAM_JWT_REFRESH_TOKEN_TTL ?? "604800", 10),
911
+ level: SettingLevel.SystemEnv,
912
+ },
913
+
914
+ // queues-settings-provider.service.ts
915
+ {
916
+ moduleName: "solid-core",
917
+ key: "queuesDefaultBroker",
918
+ value: process.env.QUEUES_DEFAULT_BROKER || "database",
919
+ level: SettingLevel.SystemAdminReadonly,
920
+ label: "Queues Default Broker",
921
+ group: "queue-settings",
922
+ sortOrder: 10,
923
+ controlType: "selectionStatic",
924
+ options: [
925
+ { label: "Database", value: "database" },
926
+ { label: "RabbitMQ", value: "rabbitmq" },
927
+ ],
928
+ },
929
+ {
930
+ moduleName: "solid-core",
931
+ key: "queuesServiceRole",
932
+ value: process.env.QUEUES_SERVICE_ROLE,
933
+ level: SettingLevel.SystemAdminReadonly,
934
+ label: "Queues Service Role",
935
+ group: "queue-settings",
936
+ sortOrder: 20,
937
+ controlType: "shortText",
938
+ },
939
+ {
940
+ moduleName: "solid-core",
941
+ key: "queuesRabbitMqUrl",
942
+ value: process.env.QUEUES_RABBIT_MQ_URL,
943
+ level: SettingLevel.SystemEnv,
944
+ },
945
+ {
946
+ moduleName: "solid-core",
947
+ key: "solidCliRunning",
948
+ value: process.env.SOLID_CLI_RUNNING || "false",
949
+ level: SettingLevel.SystemEnv,
950
+ },
951
+
952
+ // sms-settings-provider.service.ts
953
+ {
954
+ moduleName: "solid-core",
955
+ key: "smsProvider",
956
+ value: process.env.COMMON_SMS_PROVIDER,
957
+ level: SettingLevel.SystemAdminReadonly,
958
+ label: "SMS Provider",
959
+ group: "sms-settings",
960
+ sortOrder: 10,
961
+ controlType: "shortText",
962
+ },
963
+ {
964
+ moduleName: "solid-core",
965
+ key: "smsTemplateSeederFiles",
966
+ value: process.env.COMMON_SMS_TEMPLATE_SEEDER_FILES,
967
+ level: SettingLevel.SystemAdminReadonly,
968
+ label: "SMS Template Seeder Files",
969
+ group: "sms-settings",
970
+ sortOrder: 20,
971
+ controlType: "longText",
972
+ },
973
+ {
974
+ moduleName: "solid-core",
975
+ key: "shouldQueueSms",
976
+ value: (process.env.COMMON_SMS_SHOULD_QUEUE ?? "false") === "true",
977
+ level: SettingLevel.SystemAdminReadonly,
978
+ label: "Queue SMS",
979
+ group: "sms-settings",
980
+ sortOrder: 30,
981
+ controlType: "boolean",
982
+ },
983
+ {
984
+ moduleName: "solid-core",
985
+ key: "msg91SmsUrl",
986
+ value: process.env.COMMON_MSG91_SMS_URL,
987
+ level: SettingLevel.SystemAdminReadonly,
988
+ label: "MSG91 SMS URL",
989
+ group: "sms-settings",
990
+ sortOrder: 40,
991
+ controlType: "shortText",
992
+ },
993
+ {
994
+ moduleName: "solid-core",
995
+ key: "msg91SmsApiKey",
996
+ value: process.env.COMMON_MSG91_SMS_API_KEY,
997
+ level: SettingLevel.SystemEnv,
998
+ },
999
+ {
1000
+ moduleName: "solid-core",
1001
+ key: "twilioAccountSid",
1002
+ value: process.env.COMMON_TWILIO_ACCOUNT_SID,
1003
+ level: SettingLevel.SystemAdminReadonly,
1004
+ label: "Twilio Account SID",
1005
+ group: "sms-settings",
1006
+ sortOrder: 50,
1007
+ controlType: "shortText",
1008
+ },
1009
+ {
1010
+ moduleName: "solid-core",
1011
+ key: "twilioAuthToken",
1012
+ value: process.env.COMMON_TWILIO_AUTH_TOKEN,
1013
+ level: SettingLevel.SystemEnv,
1014
+ },
1015
+ {
1016
+ moduleName: "solid-core",
1017
+ key: "twilioNumber",
1018
+ value: process.env.COMMON_TWILIO_NUMBER,
1019
+ level: SettingLevel.SystemAdminReadonly,
1020
+ label: "Twilio Number",
1021
+ group: "sms-settings",
1022
+ sortOrder: 60,
1023
+ controlType: "shortText",
1024
+ },
1025
+
1026
+ // tiny-url-settings-provider.service.ts
1027
+ {
1028
+ moduleName: "solid-core",
1029
+ key: "tinyUrlApiUrl",
1030
+ value: process.env.COMMON_SHORT_URL_API_URL,
1031
+ level: SettingLevel.SystemAdminReadonly,
1032
+ label: "Tiny URL API URL",
1033
+ group: "short-url-settings",
1034
+ sortOrder: 10,
1035
+ controlType: "shortText",
1036
+ },
1037
+ {
1038
+ moduleName: "solid-core",
1039
+ key: "tinyUrlApiKey",
1040
+ value: process.env.COMMON_SHORT_URL_API_KEY,
1041
+ level: SettingLevel.SystemEnv,
1042
+ },
1043
+ {
1044
+ moduleName: "solid-core",
1045
+ key: "tinyUrlDomain",
1046
+ value: process.env.COMMON_SHORT_URL_DOMAIN,
1047
+ level: SettingLevel.SystemAdminReadonly,
1048
+ label: "Tiny URL Domain",
1049
+ group: "short-url-settings",
1050
+ sortOrder: 20,
1051
+ controlType: "shortText",
1052
+ },
1053
+ {
1054
+ moduleName: "solid-core",
1055
+ key: "tinyUrlEnabled",
1056
+ value: (process.env.COMMON_SHORT_URL_ENABLED ?? "false") === "true",
1057
+ level: SettingLevel.SystemAdminReadonly,
1058
+ label: "Tiny URL Enabled",
1059
+ group: "short-url-settings",
1060
+ sortOrder: 30,
1061
+ controlType: "boolean",
1062
+ },
1063
+
1064
+ // whatsapp-settings-provider.service.ts
1065
+ {
1066
+ moduleName: "solid-core",
1067
+ key: "whatsappProvider",
1068
+ value: process.env.COMMON_WHATSAPP_PROVIDER,
1069
+ level: SettingLevel.SystemAdminReadonly,
1070
+ label: "WhatsApp Provider",
1071
+ group: "whatsapp-settings",
1072
+ sortOrder: 10,
1073
+ controlType: "shortText",
1074
+ },
1075
+ {
1076
+ moduleName: "solid-core",
1077
+ key: "msg91WhatsappUrl",
1078
+ value: process.env.COMMON_WHATSAPP_API_URL,
1079
+ level: SettingLevel.SystemAdminReadonly,
1080
+ label: "MSG91 WhatsApp URL",
1081
+ group: "whatsapp-settings",
1082
+ sortOrder: 20,
1083
+ controlType: "shortText",
1084
+ },
1085
+ {
1086
+ moduleName: "solid-core",
1087
+ key: "msg91WhatsappApiKey",
1088
+ value: process.env.COMMON_WHATSAPP_API_KEY,
1089
+ level: SettingLevel.SystemEnv,
1090
+ },
1091
+ {
1092
+ moduleName: "solid-core",
1093
+ key: "msg91WhatsappIntegratedNumber",
1094
+ value: process.env.COMMON_WHATSAPP_INTEGRATED_NUMBER,
1095
+ level: SettingLevel.SystemAdminReadonly,
1096
+ label: "MSG91 WhatsApp Integrated Number",
1097
+ group: "whatsapp-settings",
1098
+ sortOrder: 30,
1099
+ controlType: "shortText",
1100
+ },
1101
+ ] as const satisfies SettingDefinition[];
1102
+
1103
+ // 2.
1104
+ export type SolidCoreSetting = ReturnType<
1105
+ typeof getSolidCoreSettings
1106
+ >[number]["key"];
1107
+
1108
+ // 3.
159
1109
  @SettingsProvider()
160
1110
  @Injectable()
161
1111
  export class SolidCoreDefaultSettingsProvider implements ISettingsProvider {
162
-
163
1112
  getSettings() {
164
1113
  const isProd = (process.env.ENV as Environment) === Environment.Production;
165
1114
  return getSolidCoreSettings(isProd);