@solidxai/core 0.1.13-beta.8 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8568 -0
- package/README.md +19 -0
- package/dist/commands/run-tests.command.d.ts +2 -0
- package/dist/commands/run-tests.command.d.ts.map +1 -1
- package/dist/commands/run-tests.command.js +20 -3
- package/dist/commands/run-tests.command.js.map +1 -1
- package/dist/config/cache.options.d.ts.map +1 -1
- package/dist/config/cache.options.js +2 -2
- package/dist/config/cache.options.js.map +1 -1
- package/dist/constants/error-messages.d.ts +7 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +7 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/media-file-types.d.ts +3 -0
- package/dist/constants/media-file-types.d.ts.map +1 -1
- package/dist/constants/media-file-types.js +47 -8
- package/dist/constants/media-file-types.js.map +1 -1
- package/dist/constants/success-messages.d.ts +3 -0
- package/dist/constants/success-messages.d.ts.map +1 -1
- package/dist/constants/success-messages.js +3 -0
- package/dist/constants/success-messages.js.map +1 -1
- package/dist/controllers/authentication.controller.d.ts +1 -1
- package/dist/controllers/authentication.controller.d.ts.map +1 -1
- package/dist/controllers/authentication.controller.js +4 -3
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/field-metadata.controller.d.ts +2 -2
- package/dist/controllers/mpin-authentication.controller.d.ts +44 -0
- package/dist/controllers/mpin-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/mpin-authentication.controller.js +102 -0
- package/dist/controllers/mpin-authentication.controller.js.map +1 -0
- package/dist/dtos/change-mpin.dto.d.ts +6 -0
- package/dist/dtos/change-mpin.dto.d.ts.map +1 -0
- package/dist/dtos/change-mpin.dto.js +39 -0
- package/dist/dtos/change-mpin.dto.js.map +1 -0
- package/dist/dtos/create-field-metadata.dto.d.ts +3 -6
- package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-field-metadata.dto.js +15 -10
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-model-sequence.dto.d.ts +1 -1
- package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -1
- package/dist/dtos/create-model-sequence.dto.js +1 -1
- package/dist/dtos/create-model-sequence.dto.js.map +1 -1
- package/dist/dtos/mpin-login.dto.d.ts +5 -0
- package/dist/dtos/mpin-login.dto.d.ts.map +1 -0
- package/dist/dtos/mpin-login.dto.js +33 -0
- package/dist/dtos/mpin-login.dto.js.map +1 -0
- package/dist/dtos/setup-mpin.dto.d.ts +7 -0
- package/dist/dtos/setup-mpin.dto.d.ts.map +1 -0
- package/dist/dtos/setup-mpin.dto.js +47 -0
- package/dist/dtos/setup-mpin.dto.js.map +1 -0
- package/dist/entities/common.entity.d.ts +4 -4
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +1 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/dashboard-user-layout.entity.js +2 -2
- package/dist/entities/dashboard-user-layout.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts +1 -0
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +5 -1
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/user-device-credential.entity.d.ts +18 -0
- package/dist/entities/user-device-credential.entity.d.ts.map +1 -0
- package/dist/entities/user-device-credential.entity.js +91 -0
- package/dist/entities/user-device-credential.entity.js.map +1 -0
- package/dist/entities/user.entity.js +2 -2
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -1
- package/dist/entities/workflow-execution-artifact.entity.js +4 -3
- package/dist/entities/workflow-execution-artifact.entity.js.map +1 -1
- package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -1
- package/dist/entities/workflow-execution-log.entity.js +4 -3
- package/dist/entities/workflow-execution-log.entity.js.map +1 -1
- package/dist/entities/workflow-execution.entity.d.ts.map +1 -1
- package/dist/entities/workflow-execution.entity.js +3 -2
- package/dist/entities/workflow-execution.entity.js.map +1 -1
- package/dist/entities/workflow-secret.entity.d.ts.map +1 -1
- package/dist/entities/workflow-secret.entity.js +3 -2
- package/dist/entities/workflow-secret.entity.js.map +1 -1
- package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -1
- package/dist/entities/workflow-step-execution.entity.js +3 -2
- package/dist/entities/workflow-step-execution.entity.js.map +1 -1
- package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -1
- package/dist/entities/workflow-trigger-execution.entity.js +6 -5
- package/dist/entities/workflow-trigger-execution.entity.js.map +1 -1
- package/dist/filters/http-exception.filter.d.ts.map +1 -1
- package/dist/filters/http-exception.filter.js +5 -1
- package/dist/filters/http-exception.filter.js.map +1 -1
- package/dist/helpers/bootstrap.helper.d.ts +5 -2
- package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
- package/dist/helpers/bootstrap.helper.js +7 -3
- package/dist/helpers/bootstrap.helper.js.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +6 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +54 -27
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/file-download.helper.d.ts.map +1 -1
- package/dist/helpers/file-download.helper.js +6 -1
- package/dist/helpers/file-download.helper.js.map +1 -1
- package/dist/helpers/security.helper.d.ts +5 -1
- package/dist/helpers/security.helper.d.ts.map +1 -1
- package/dist/helpers/security.helper.js +15 -4
- package/dist/helpers/security.helper.js.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.d.ts.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.js +45 -0
- package/dist/helpers/solid-core-error-codes-provider.service.js.map +1 -1
- package/dist/helpers/solid-microservice-adapter.service.d.ts.map +1 -1
- package/dist/helpers/solid-microservice-adapter.service.js +1 -1
- package/dist/helpers/solid-microservice-adapter.service.js.map +1 -1
- package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
- package/dist/helpers/typeorm-db-helper.js +9 -0
- package/dist/helpers/typeorm-db-helper.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/active-user-data.interface.d.ts +1 -0
- package/dist/interfaces/active-user-data.interface.d.ts.map +1 -1
- package/dist/interfaces/active-user-data.interface.js.map +1 -1
- package/dist/repository/user-device-credential.repository.d.ts +12 -0
- package/dist/repository/user-device-credential.repository.d.ts.map +1 -0
- package/dist/repository/user-device-credential.repository.js +34 -0
- package/dist/repository/user-device-credential.repository.js.map +1 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +7 -3
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +168 -2
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js +1 -1
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts +5 -4
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +50 -19
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +5 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +48 -13
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts +1 -2
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +2 -16
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +2 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/draft-publish-helper.service.d.ts +1 -0
- package/dist/services/draft-publish-helper.service.d.ts.map +1 -1
- package/dist/services/draft-publish-helper.service.js +38 -4
- package/dist/services/draft-publish-helper.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +2 -2
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +4 -1
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/media-storage.utils.d.ts +1 -0
- package/dist/services/media-storage.utils.d.ts.map +1 -1
- package/dist/services/media-storage.utils.js +12 -1
- package/dist/services/media-storage.utils.js.map +1 -1
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +1 -0
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +9 -1
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/mpin.service.d.ts +67 -0
- package/dist/services/mpin.service.d.ts.map +1 -0
- package/dist/services/mpin.service.js +282 -0
- package/dist/services/mpin.service.js.map +1 -0
- package/dist/services/refresh-token-ids-storage.service.d.ts +25 -6
- package/dist/services/refresh-token-ids-storage.service.d.ts.map +1 -1
- package/dist/services/refresh-token-ids-storage.service.js +80 -42
- package/dist/services/refresh-token-ids-storage.service.js.map +1 -1
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +6 -1
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +206 -10
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +120 -5
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/solid-core.module.d.ts +1 -3
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +14 -39
- package/dist/solid-core.module.js.map +1 -1
- package/dist/testing/reporter/console-reporter.d.ts +3 -0
- package/dist/testing/reporter/console-reporter.d.ts.map +1 -1
- package/dist/testing/reporter/console-reporter.js +2 -0
- package/dist/testing/reporter/console-reporter.js.map +1 -1
- package/dist/testing/reporter/progress-reporter.d.ts +64 -0
- package/dist/testing/reporter/progress-reporter.d.ts.map +1 -0
- package/dist/testing/reporter/progress-reporter.js +224 -0
- package/dist/testing/reporter/progress-reporter.js.map +1 -0
- package/dist/testing/reporter/reporter.types.d.ts +3 -0
- package/dist/testing/reporter/reporter.types.d.ts.map +1 -1
- package/dist/testing/reporter/reporter.types.js.map +1 -1
- package/dist/testing/runner/run-from-metadata.d.ts.map +1 -1
- package/dist/testing/runner/run-from-metadata.js +1 -0
- package/dist/testing/runner/run-from-metadata.js.map +1 -1
- package/dist/theme/theme-registry.d.ts +14 -0
- package/dist/theme/theme-registry.d.ts.map +1 -0
- package/dist/theme/theme-registry.js +147 -0
- package/dist/theme/theme-registry.js.map +1 -0
- package/package.json +2 -2
- package/src/commands/run-tests.command.ts +17 -3
- package/src/config/cache.options.ts +9 -1
- package/src/constants/error-messages.ts +14 -0
- package/src/constants/media-file-types.ts +87 -9
- package/src/constants/success-messages.ts +5 -0
- package/src/controllers/authentication.controller.ts +5 -2
- package/src/controllers/mpin-authentication.controller.ts +67 -0
- package/src/dtos/change-mpin.dto.ts +18 -0
- package/src/dtos/create-field-metadata.dto.ts +17 -9
- package/src/dtos/create-model-sequence.dto.ts +1 -1
- package/src/dtos/mpin-login.dto.ts +24 -0
- package/src/dtos/setup-mpin.dto.ts +51 -0
- package/src/entities/common.entity.ts +8 -4
- package/src/entities/dashboard-user-layout.entity.ts +2 -2
- package/src/entities/field-metadata.entity.ts +3 -0
- package/src/entities/user-device-credential.entity.ts +130 -0
- package/src/entities/user.entity.ts +2 -2
- package/src/entities/view-metadata.entity.ts +2 -2
- package/src/entities/workflow-execution-artifact.entity.ts +4 -3
- package/src/entities/workflow-execution-log.entity.ts +4 -3
- package/src/entities/workflow-execution.entity.ts +3 -2
- package/src/entities/workflow-secret.entity.ts +3 -2
- package/src/entities/workflow-step-execution.entity.ts +3 -2
- package/src/entities/workflow-trigger-execution.entity.ts +6 -5
- package/src/filters/http-exception.filter.ts +11 -1
- package/src/helpers/bootstrap.helper.ts +43 -6
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +73 -34
- package/src/helpers/file-download.helper.ts +15 -1
- package/src/helpers/security.helper.ts +35 -8
- package/src/helpers/solid-core-error-codes-provider.service.ts +53 -0
- package/src/helpers/solid-microservice-adapter.service.ts +6 -1
- package/src/helpers/typeorm-db-helper.ts +12 -1
- package/src/index.ts +6 -0
- package/src/interfaces/active-user-data.interface.ts +9 -0
- package/src/repository/user-device-credential.repository.ts +17 -0
- package/src/seeders/module-metadata-seeder.service.ts +11 -3
- package/src/seeders/seed-data/solid-core-metadata.json +168 -2
- package/src/services/api-key.service.ts +13 -1
- package/src/services/authentication.service.ts +127 -36
- package/src/services/chatter-message.service.ts +78 -15
- package/src/services/crud-helper.service.ts +19 -16
- package/src/services/crud.service.ts +3 -1
- package/src/services/draft-publish-helper.service.ts +56 -4
- package/src/services/field-metadata.service.ts +5 -2
- package/src/services/media-storage.utils.ts +26 -1
- package/src/services/media.service.ts +1 -0
- package/src/services/module-metadata.service.ts +10 -1
- package/src/services/mpin.service.ts +447 -0
- package/src/services/refresh-token-ids-storage.service.ts +229 -90
- package/src/services/setting.service.ts +8 -1
- package/src/services/settings/default-settings-provider.service.ts +131 -5
- package/src/solid-core.module.ts +26 -12
- package/src/testing/README.md +11 -1
- package/src/testing/reporter/console-reporter.ts +4 -0
- package/src/testing/reporter/progress-reporter.ts +251 -0
- package/src/testing/reporter/reporter.types.ts +3 -0
- package/src/testing/runner/run-from-metadata.ts +1 -0
- package/src/theme/theme-registry.ts +181 -0
- package/CLAUDE.md +0 -26
|
@@ -11,8 +11,13 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const disallow_in_production_decorator_1 = require("../../decorators/disallow-in-production.decorator");
|
|
12
12
|
const settings_provider_decorator_1 = require("../../decorators/settings-provider.decorator");
|
|
13
13
|
const interfaces_1 = require("../../interfaces");
|
|
14
|
+
const theme_registry_1 = require("../../theme/theme-registry");
|
|
14
15
|
exports.DEFAULT_MEDIA_UPLOAD_DIR = "media-uploads";
|
|
15
16
|
exports.DEFAULT_MEDIA_FILE_STORAGE_DIR = "media-files-storage";
|
|
17
|
+
const timeoutFromEnv = (value, fallback) => {
|
|
18
|
+
const parsed = Number(value);
|
|
19
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
20
|
+
};
|
|
16
21
|
const getSolidCoreSettings = (isProd) => [
|
|
17
22
|
{
|
|
18
23
|
moduleName: "solid-core",
|
|
@@ -216,14 +221,44 @@ const getSolidCoreSettings = (isProd) => [
|
|
|
216
221
|
},
|
|
217
222
|
{
|
|
218
223
|
moduleName: "solid-core",
|
|
219
|
-
key: "
|
|
224
|
+
key: "showThemeToggle",
|
|
220
225
|
value: true,
|
|
221
226
|
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
222
|
-
label: "
|
|
227
|
+
label: "Show Theme Toggle",
|
|
223
228
|
group: "app-settings",
|
|
224
229
|
sortOrder: 120,
|
|
225
230
|
controlType: "boolean",
|
|
226
|
-
helpText: "
|
|
231
|
+
helpText: "Shows the theme toggle in the frontend so users can switch between light and dark themes.",
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
moduleName: "solid-core",
|
|
235
|
+
key: "lightTheme",
|
|
236
|
+
value: (0, theme_registry_1.getDefaultThemeKey)("light"),
|
|
237
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
238
|
+
label: "Light Theme",
|
|
239
|
+
group: "app-settings",
|
|
240
|
+
sortOrder: 125,
|
|
241
|
+
controlType: "selectionStatic",
|
|
242
|
+
options: (0, theme_registry_1.getThemesByMode)("light").map((theme) => ({
|
|
243
|
+
label: theme.label,
|
|
244
|
+
value: theme.key,
|
|
245
|
+
})),
|
|
246
|
+
helpText: "Selects the theme used whenever the application is in light mode.",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
moduleName: "solid-core",
|
|
250
|
+
key: "darkTheme",
|
|
251
|
+
value: (0, theme_registry_1.getDefaultThemeKey)("dark"),
|
|
252
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
253
|
+
label: "Dark Theme",
|
|
254
|
+
group: "app-settings",
|
|
255
|
+
sortOrder: 126,
|
|
256
|
+
controlType: "selectionStatic",
|
|
257
|
+
options: (0, theme_registry_1.getThemesByMode)("dark").map((theme) => ({
|
|
258
|
+
label: theme.label,
|
|
259
|
+
value: theme.key,
|
|
260
|
+
})),
|
|
261
|
+
helpText: "Selects the theme used whenever the application is in dark mode.",
|
|
227
262
|
},
|
|
228
263
|
{
|
|
229
264
|
moduleName: "solid-core",
|
|
@@ -489,6 +524,20 @@ const getSolidCoreSettings = (isProd) => [
|
|
|
489
524
|
],
|
|
490
525
|
helpText: "Default storage implementation used for file handling, such as local disk or S3.",
|
|
491
526
|
},
|
|
527
|
+
{
|
|
528
|
+
moduleName: "solid-core",
|
|
529
|
+
key: "maxMediaFileSizeMb",
|
|
530
|
+
value: (() => {
|
|
531
|
+
const parsedMb = Number(process.env.AB_MEDIA_MAX_FILE_SIZE_MB);
|
|
532
|
+
return Number.isFinite(parsedMb) && parsedMb > 0 ? parsedMb : 100;
|
|
533
|
+
})(),
|
|
534
|
+
level: interfaces_1.SettingLevel.SystemAdminReadonly,
|
|
535
|
+
label: "Max Media File Size (MB)",
|
|
536
|
+
group: "storage-settings",
|
|
537
|
+
sortOrder: 45,
|
|
538
|
+
controlType: "numeric",
|
|
539
|
+
helpText: "Global upload size limit enforced by Multer under every per-field mediaMaxSizeKb restriction. Read-only here: it's applied once at process start, so changing AB_MEDIA_MAX_FILE_SIZE_MB requires an app restart to take effect - editing this in the admin UI would not do that.",
|
|
540
|
+
},
|
|
492
541
|
{
|
|
493
542
|
moduleName: "solid-core",
|
|
494
543
|
key: "S3_AWS_ACCESS_KEY",
|
|
@@ -1166,6 +1215,72 @@ const getSolidCoreSettings = (isProd) => [
|
|
|
1166
1215
|
sortOrder: 200,
|
|
1167
1216
|
controlType: "boolean",
|
|
1168
1217
|
},
|
|
1218
|
+
{
|
|
1219
|
+
moduleName: "solid-core",
|
|
1220
|
+
key: "mpinEnabled",
|
|
1221
|
+
value: false,
|
|
1222
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1223
|
+
label: "Enable MPIN Sign-in",
|
|
1224
|
+
group: "authentication-settings",
|
|
1225
|
+
sortOrder: 210,
|
|
1226
|
+
controlType: "boolean",
|
|
1227
|
+
helpText: "Allows users to set a short device PIN for faster sign-in. Every MPIN route returns 404 while this is off.",
|
|
1228
|
+
},
|
|
1229
|
+
{
|
|
1230
|
+
moduleName: "solid-core",
|
|
1231
|
+
key: "mpinRegex",
|
|
1232
|
+
value: process.env.IAM_MPIN_REGEX ?? "^\\d{4,6}$",
|
|
1233
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1234
|
+
label: "MPIN Format",
|
|
1235
|
+
group: "authentication-settings",
|
|
1236
|
+
sortOrder: 211,
|
|
1237
|
+
controlType: "shortText",
|
|
1238
|
+
helpText: "Regular expression the MPIN must match. Sole authority on MPIN length - the default allows 4 to 6 digits. Predictable PINs (repeated or sequential digits) are rejected separately.",
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
moduleName: "solid-core",
|
|
1242
|
+
key: "mpinMaxFailedAttempts",
|
|
1243
|
+
value: parseInt(process.env.IAM_MPIN_MAX_FAILED_ATTEMPTS ?? "5", 10),
|
|
1244
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1245
|
+
label: "MPIN Attempts Before Lockout",
|
|
1246
|
+
group: "authentication-settings",
|
|
1247
|
+
sortOrder: 212,
|
|
1248
|
+
controlType: "numeric",
|
|
1249
|
+
helpText: "Cumulative failed attempts that trigger a temporary lockout. The counter resets only on a successful MPIN sign-in, not when the lockout expires.",
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
moduleName: "solid-core",
|
|
1253
|
+
key: "mpinLockoutDuration",
|
|
1254
|
+
value: parseInt(process.env.IAM_MPIN_LOCKOUT_DURATION ?? "900", 10),
|
|
1255
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1256
|
+
label: "MPIN Lockout Duration (seconds)",
|
|
1257
|
+
group: "authentication-settings",
|
|
1258
|
+
sortOrder: 213,
|
|
1259
|
+
controlType: "numeric",
|
|
1260
|
+
helpText: "How long the temporary lockout lasts.",
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
moduleName: "solid-core",
|
|
1264
|
+
key: "mpinMaxTotalFailedAttempts",
|
|
1265
|
+
value: parseInt(process.env.IAM_MPIN_MAX_TOTAL_FAILED_ATTEMPTS ?? "10", 10),
|
|
1266
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1267
|
+
label: "MPIN Attempts Before Permanent Deactivation",
|
|
1268
|
+
group: "authentication-settings",
|
|
1269
|
+
sortOrder: 214,
|
|
1270
|
+
controlType: "numeric",
|
|
1271
|
+
helpText: "Cumulative failed attempts that permanently disable MPIN on that device. Must exceed the lockout threshold. The account itself is never locked - the user signs in normally and sets MPIN up again.",
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
moduleName: "solid-core",
|
|
1275
|
+
key: "mpinMaxDevicesPerUser",
|
|
1276
|
+
value: parseInt(process.env.IAM_MPIN_MAX_DEVICES_PER_USER ?? "5", 10),
|
|
1277
|
+
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1278
|
+
label: "Max MPIN Devices Per User",
|
|
1279
|
+
group: "authentication-settings",
|
|
1280
|
+
sortOrder: 215,
|
|
1281
|
+
controlType: "numeric",
|
|
1282
|
+
helpText: "At the cap the least recently used credential is evicted rather than the setup rejected, so repeated app reinstalls cannot lock a user out of MPIN setup.",
|
|
1283
|
+
},
|
|
1169
1284
|
{
|
|
1170
1285
|
moduleName: "solid-core",
|
|
1171
1286
|
key: "queuesDefaultBroker",
|
|
@@ -1425,7 +1540,7 @@ const getSolidCoreSettings = (isProd) => [
|
|
|
1425
1540
|
{
|
|
1426
1541
|
moduleName: "solid-core",
|
|
1427
1542
|
key: "uiTestDefaultTimeoutMs",
|
|
1428
|
-
value: 30000,
|
|
1543
|
+
value: timeoutFromEnv(process.env.COMMON_UI_TEST_DEFAULT_TIMEOUT_MS, 30000),
|
|
1429
1544
|
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1430
1545
|
label: "UI Test Default Timeout (ms)",
|
|
1431
1546
|
group: "testing-settings",
|
|
@@ -1436,7 +1551,7 @@ const getSolidCoreSettings = (isProd) => [
|
|
|
1436
1551
|
{
|
|
1437
1552
|
moduleName: "solid-core",
|
|
1438
1553
|
key: "uiTestNavigationTimeoutMs",
|
|
1439
|
-
value: 30000,
|
|
1554
|
+
value: timeoutFromEnv(process.env.COMMON_UI_TEST_NAVIGATION_TIMEOUT_MS, timeoutFromEnv(process.env.COMMON_UI_TEST_DEFAULT_TIMEOUT_MS, 30000)),
|
|
1440
1555
|
level: interfaces_1.SettingLevel.SystemAdminEditable,
|
|
1441
1556
|
label: "UI Test Navigation Timeout (ms)",
|
|
1442
1557
|
group: "testing-settings",
|