@aristid/leav-types 1.12.0-bfe263d1 → 1.12.0-c1e83ccc
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/CLAUDE.md +42 -0
- package/apps/core/config/default.d.ts +10 -2
- package/apps/core/config/development.d.ts +4 -0
- package/apps/core/config/test.d.ts +4 -0
- package/apps/core/src/_types/automation.d.ts +45 -7
- package/apps/core/src/_types/config.d.ts +10 -0
- package/apps/core/src/_types/errors.d.ts +2 -0
- package/apps/core/src/_types/events.d.ts +6 -0
- package/apps/core/src/_types/eventsManager.d.ts +8 -0
- package/apps/core/src/_types/record.d.ts +1 -0
- package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -0
- package/apps/core/src/app/core/automationApp.d.ts +11 -3
- package/apps/core/src/app/core/eventsManagerApp.d.ts +2 -1
- package/apps/core/src/app/core/filesManagerApp.d.ts +3 -1
- package/apps/core/src/app/core/logApp.d.ts +3 -1
- package/apps/core/src/domain/actions/index.d.ts +1 -0
- package/apps/core/src/domain/actions/jexlCalculationAction.d.ts +14 -0
- package/apps/core/src/domain/automation/actions/conditionAction.d.ts +8 -0
- package/apps/core/src/domain/automation/actions/errorAction.d.ts +8 -0
- package/apps/core/src/domain/automation/actions/index.d.ts +3 -0
- package/apps/core/src/domain/automation/actions/logAction.d.ts +16 -0
- package/apps/core/src/domain/automation/automationDomain.d.ts +27 -8
- package/apps/core/src/domain/automation/automationTriggers.d.ts +25 -0
- package/apps/core/src/domain/automation/fakeRulesToTrigger.d.ts +7 -0
- package/apps/core/src/domain/automation/index.d.ts +2 -0
- package/apps/core/src/domain/automation/pipelineExecutor.d.ts +18 -0
- package/apps/core/src/domain/automation/types.d.ts +37 -0
- package/apps/core/src/domain/discussion/discussionDomain.d.ts +3 -1
- package/apps/core/src/domain/jexl/index.d.ts +1 -0
- package/apps/core/src/domain/jexl/jexlDomain.d.ts +18 -0
- package/apps/core/src/domain/jexl/jexlExtended.d.ts +2 -0
- package/apps/core/src/domain/jexl/types.d.ts +37 -0
- package/apps/core/src/domain/record/helpers/createRecord.d.ts +3 -1
- package/apps/core/src/domain/record/helpers/getRecordIdentity.d.ts +27 -0
- package/apps/core/src/domain/record/helpers/index.d.ts +1 -0
- package/apps/core/src/domain/record/recordDomain.d.ts +3 -11
- package/apps/core/src/domain/value/helpers/formatValue.d.ts +17 -0
- package/apps/core/src/domain/value/helpers/getRecordFieldValue.d.ts +27 -0
- package/apps/core/src/domain/value/helpers/getValues.d.ts +26 -0
- package/apps/core/src/domain/value/helpers/index.d.ts +7 -0
- package/apps/core/src/domain/value/helpers/manageEventMetadata.d.ts +4 -0
- package/apps/core/src/domain/value/helpers/runActionsList.d.ts +10 -0
- package/apps/core/src/domain/value/valueDomain.d.ts +11 -1
- package/apps/core/src/infra/automation/automationRuleRepo.d.ts +29 -0
- package/apps/core/src/infra/automation/index.d.ts +1 -0
- package/apps/core/src/infra/db/dbUtils.d.ts +5 -1
- package/apps/core/src/infra/db/migrations/019-automationRuleCollection.d.ts +7 -0
- package/apps/core/src/pluginsLoader.d.ts +1 -0
- package/apps/core/tsconfig.types.tsbuildinfo +1 -1
- package/apps/core/vitest.e2e-api.config.d.ts +2 -0
- package/apps/core/vitest.e2e-fileManager.config.d.ts +2 -0
- package/apps/core/vitest.e2e-indexationManager.config.d.ts +2 -0
- package/apps/core/vitest.integration.config.d.ts +2 -0
- package/apps/core/vitest.unit.config.d.ts +2 -0
- package/libs/utils/src/types/events.d.ts +5 -0
- package/libs/utils/src/types/helpers.d.ts +0 -3
- package/package.json +2 -4
- package/apps/core/scripts/build.d.ts +0 -2
- package/apps/core/scripts/utils.d.ts +0 -3
- package/apps/core/src/__tests__/e2e/_gqlTypes/index.d.ts +0 -1268
- package/apps/core/src/__tests__/e2e/api/_fixtures/applications/login/index-hashed.d.ts +0 -0
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/_types/_types.d.ts +0 -3
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/domain/fakeDomain.d.ts +0 -17
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/domain/index.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/index.d.ts +0 -21
- package/apps/core/src/__tests__/e2e/api/actionLists/actionLists.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/actionLists/actions/inheritanceCalculationAction.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/actionLists/actions/replaceAnotherAttributeAction.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/apiKey/apiKey.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/applications/applications.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/attributes/attributes.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/auth/auth.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/automation/automation.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/constants.d.ts +0 -2
- package/apps/core/src/__tests__/e2e/api/discussions/discussions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +0 -153
- package/apps/core/src/__tests__/e2e/api/export/export.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/export/exportNestedAttributes.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/files/files.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/forms/forms.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/globalSettings/globalSettings.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +0 -8
- package/apps/core/src/__tests__/e2e/api/globalSetupHook.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/graphql/graphql.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/import/import.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/joinLibraries/nestedJoinLibraries.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/libraries/libraries.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/mailpitUtils.d.ts +0 -37
- package/apps/core/src/__tests__/e2e/api/notificationUtils.d.ts +0 -7
- package/apps/core/src/__tests__/e2e/api/notifications/notifications.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/apiKeyAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/applicationsAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/attributesAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/formsAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/globalSettingsAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/librariesAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/permissionsAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/treesAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/admin/versionProfilesAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/applicationsPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/attributePermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/dependentValuesTreeAttributePermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/extendedLibraryPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/permissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/recordAttributePermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/recordPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/treeLibraryPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/treeNodePermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/permissions/treePermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/plugins/plugins.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/records/recordIdentity.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/records/records.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/records/recordsDeletion.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/records/searchFilters.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/task/taskSubscription.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/task/tasksAdminPermissions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/taskUtils.d.ts +0 -4
- package/apps/core/src/__tests__/e2e/api/teardown.d.ts +0 -2
- package/apps/core/src/__tests__/e2e/api/trees/treeNodeChildrenAndContentQuery.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/trees/trees.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/userData/maskUserPassword.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/userData/userData.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/listDistinctValues.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/metadata.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/purgeMultipleValues.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/saveValueBulk.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/values.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/values/versions.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/versionProfile/versionProfile.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/api/views/views.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/filesManager/filesManager/filesManager.test.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/filesManager/globalSetup.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/filesManager/globalSetupHook.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/indexationManager/globalSetup.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/indexationManager/globalSetupHook.d.ts +0 -1
- package/apps/core/src/__tests__/e2e/indexationManager/indexation.test.d.ts +0 -1
- package/apps/core/src/__tests__/global-setup.d.ts +0 -0
- package/apps/core/src/__tests__/integration/domain/tasksManagerDomain.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/globalSetup.d.ts +0 -1
- package/apps/core/src/__tests__/integration/globalSetupHook.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedLinkRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/attributeSimpleLinkRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/attributeSimpleRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/attributeTreeRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +0 -11
- package/apps/core/src/__tests__/integration/infra/notificationRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/permissionRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/ramService.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/recordRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/infra/treeRepo.test.d.ts +0 -1
- package/apps/core/src/__tests__/integration/integrationTestUtils.d.ts +0 -7
- package/apps/core/src/__tests__/integration/teardown.d.ts +0 -1
- package/apps/core/src/__tests__/jestUtils.d.ts +0 -12
- package/apps/core/src/__tests__/mockers/amqp.d.ts +0 -8
- package/apps/core/src/__tests__/mockers/logger.d.ts +0 -7
- package/apps/core/src/__tests__/mocks/actionsList.d.ts +0 -73
- package/apps/core/src/__tests__/mocks/apiKey.d.ts +0 -11
- package/apps/core/src/__tests__/mocks/application.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/attribute.d.ts +0 -45
- package/apps/core/src/__tests__/mocks/cache.d.ts +0 -4
- package/apps/core/src/__tests__/mocks/file.d.ts +0 -29
- package/apps/core/src/__tests__/mocks/forms.d.ts +0 -4
- package/apps/core/src/__tests__/mocks/globalSettings.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/graphql-upload.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/library.d.ts +0 -4
- package/apps/core/src/__tests__/mocks/log.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/plugins.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/record.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/shared.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/task.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/translator.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/tree.d.ts +0 -3
- package/apps/core/src/__tests__/mocks/value.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/versionProfile.d.ts +0 -2
- package/apps/core/src/__tests__/mocks/view.d.ts +0 -3
- package/apps/core/src/__tests__/setup.d.ts +0 -1
- package/apps/core/src/app/application/__tests__/applicationApp.spec.d.ts +0 -1
- package/apps/core/src/app/auth/__tests__/authApp.spec.d.ts +0 -1
- package/apps/core/src/app/core/coreApp.spec.d.ts +0 -1
- package/apps/core/src/app/endpoint/endpointApp.spec.d.ts +0 -1
- package/apps/core/src/app/graphql/customScalars/any/any.spec.d.ts +0 -1
- package/apps/core/src/app/graphql/customScalars/dateTime/dateTime.spec.d.ts +0 -1
- package/apps/core/src/app/graphql/customScalars/systemTranslation/systemTranslation.spec.d.ts +0 -1
- package/apps/core/src/app/graphql/graphqlApp.spec.d.ts +0 -1
- package/apps/core/src/app/helpers/convertOIDCIdentifier.spec.d.ts +0 -1
- package/apps/core/src/app/helpers/convertVersionFromGqlFormat.spec.d.ts +0 -1
- package/apps/core/src/app/helpers/validateRequestToken.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/dateRangeToNumberAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/encryptAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/excelCalculationAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/formatDateAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/formatDateRangeAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/formatNumberAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/inheritanceCalculationAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/maskValueAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/parseJSONAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toBooleanAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toJSONAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toLowercaseAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toNumberAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toStringAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/toUppercaseAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/validateEmailAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/validateFormatAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/validateRegexAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actions/validateURLAction.spec.d.ts +0 -1
- package/apps/core/src/domain/actionsList/actionsListDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/apiKey/apiKeyDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/application/applicationDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/attribute/attributeDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +0 -1
- package/apps/core/src/domain/core/coreDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/eventsManager/eventsManagerDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/export/exportDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/export/exportProfileDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/filesManager/filesManagerDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleFileSystemEvent.spec.d.ts +0 -1
- package/apps/core/src/domain/filesManager/helpers/messagesHandler/messagesHandler.spec.d.ts +0 -1
- package/apps/core/src/domain/form/formDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/globalSettings/globalSettingsDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/helpers/calculations/calculationVariable.spec.d.ts +0 -1
- package/apps/core/src/domain/helpers/calculations/calculationsVariableFunctions.spec.d.ts +0 -1
- package/apps/core/src/domain/import/importDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/indexationManager/indexationManagerDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/library/helpers/runPreDelete.spec.d.ts +0 -1
- package/apps/core/src/domain/library/libraryDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/log/logDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/adminPermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/applicationPermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/attributePermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/defaultPermission.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/getPermissionCacheKey.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/getPermissionCachePatternKey.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/globalPermission.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/permissionsByActions.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/reducePermissionsArray.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/simplePermission.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/helpers/treeBasedPermissions.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/libraryPermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/permissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/recordAttributePermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/recordPermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/treeLibraryPermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/treeNodePermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/permission/treePermissionDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/plugins/pluginsDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/record/helpers/findRecords.spec.d.ts +0 -1
- package/apps/core/src/domain/record/helpers/getRecordFieldValue.spec.d.ts +0 -0
- package/apps/core/src/domain/record/recordDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/tasksManager/cronTasksManagerDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/tasksManager/tasksManagerDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/tree/helpers/getDefaultElement.spec.d.ts +0 -1
- package/apps/core/src/domain/tree/helpers/handleRemovedLibraries.spec.d.ts +0 -1
- package/apps/core/src/domain/tree/helpers/treeDataValidation.spec.d.ts +0 -1
- package/apps/core/src/domain/tree/treeDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/user/userDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/value/helpers/areValuesIdentical.spec.d.ts +0 -1
- package/apps/core/src/domain/value/helpers/formatLogValue.spec.d.ts +0 -1
- package/apps/core/src/domain/value/valueDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/versionProfile/versionProfileDomain.spec.d.ts +0 -1
- package/apps/core/src/domain/view/viewDomain.spec.d.ts +0 -1
- package/apps/core/src/infra/apiKey/apiKeyRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/application/applicationRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attribute/attributeRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeTreeRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/attributeTypes/attributeTypesRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/db/dbService.spec.d.ts +0 -1
- package/apps/core/src/infra/db/dbUtils.spec.d.ts +0 -1
- package/apps/core/src/infra/filesManager/filesManagerRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/form/formRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/globalSettings/globalSettingsRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/indexation/helpers/getSearchQuery.spec.d.ts +0 -1
- package/apps/core/src/infra/library/libraryRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/log/logRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/oidc/__tests__/oidcClient.spec.d.ts +0 -1
- package/apps/core/src/infra/oidc/__tests__/oidcClientService.spec.d.ts +0 -1
- package/apps/core/src/infra/permission/permissionRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/plugins/pluginsRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/record/helpers/filterTypes.spec.d.ts +0 -1
- package/apps/core/src/infra/record/helpers/getClassifyingFiltersVariableQueryPart.spec.d.ts +0 -1
- package/apps/core/src/infra/record/helpers/getSearchVariableName.spec.d.ts +0 -1
- package/apps/core/src/infra/record/helpers/getSearchVariablesQueryPart.spec.d.ts +0 -1
- package/apps/core/src/infra/record/recordRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/task/taskRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/tree/treeRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/userData/userDataRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/value/valueRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/versionProfile/versionProfileRepo.spec.d.ts +0 -1
- package/apps/core/src/infra/view/viewRepo.spec.d.ts +0 -1
- package/apps/core/src/interface/helpers/handleGraphqlError.spec.d.ts +0 -1
- package/apps/core/src/utils/dataloader.spec.d.ts +0 -1
- package/apps/core/src/utils/helpers/getValuesToDisplay.spec.d.ts +0 -1
- package/apps/core/src/utils/typeGuards/typeGuards.spec.d.ts +0 -1
- package/apps/core/src/utils/utils.spec.d.ts +0 -1
- /package/apps/core/{scripts/preload.d.ts → src/pluginsModuleResolver.d.ts} +0 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# libs/types — CLAUDE.md
|
|
2
|
+
|
|
3
|
+
`@aristid/leav-types` — Types TypeScript de `apps/core` publiés sur npm pour les plugins externes.
|
|
4
|
+
|
|
5
|
+
## Ce que c'est
|
|
6
|
+
|
|
7
|
+
Ce package ne contient **pas de code source** — c'est une projection des types générés
|
|
8
|
+
depuis `apps/core`, destinée aux **développeurs de plugins** qui étendent le core.
|
|
9
|
+
|
|
10
|
+
> ⚠️ Ce package **n'est pas utilisé dans le monorepo lui-même**. Il est uniquement
|
|
11
|
+
> consommé par des repos externes (plugins tiers du core).
|
|
12
|
+
|
|
13
|
+
## Publication CI (GitLab)
|
|
14
|
+
|
|
15
|
+
Publié automatiquement sur **npm public** (`@aristid/leav-types`) via GitLab CI,
|
|
16
|
+
déclenché par tout changement dans `apps/core/**/*` :
|
|
17
|
+
|
|
18
|
+
- **`next`** — à chaque push sur `develop`
|
|
19
|
+
- **`latest`** — sur les releases taguées
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Commande de génération (lancée par le CI)
|
|
23
|
+
yarn workspace @aristid/leav-types generate
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Problème connu : les enums ne sont pas exportés ⚠️
|
|
27
|
+
|
|
28
|
+
La commande `generate` (basée sur `build-types` du core) n'exporte pas les enums TypeScript.
|
|
29
|
+
Les consommateurs du package doivent **réécrire les enums manuellement** de leur côté —
|
|
30
|
+
ce qui est une source de désynchronisation et de maintenance coûteuse.
|
|
31
|
+
|
|
32
|
+
**Piste de résolution envisagée :** publier davantage de code du core directement
|
|
33
|
+
(pas uniquement les types), de façon à exposer les enums comme du code exécutable.
|
|
34
|
+
C'est un chantier à prioriser.
|
|
35
|
+
|
|
36
|
+
## Ne jamais modifier manuellement
|
|
37
|
+
|
|
38
|
+
Toujours régénérer via le CI ou :
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
yarn workspace @aristid/leav-types generate
|
|
42
|
+
```
|
|
@@ -105,6 +105,10 @@ export declare namespace actions {
|
|
|
105
105
|
namespace excel {
|
|
106
106
|
let debug: boolean;
|
|
107
107
|
}
|
|
108
|
+
namespace jexl {
|
|
109
|
+
let debug_1: boolean;
|
|
110
|
+
export { debug_1 as debug };
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
113
|
export declare namespace bugsnag {
|
|
110
114
|
let enable_1: boolean;
|
|
@@ -230,7 +234,7 @@ export declare namespace indexationManager {
|
|
|
230
234
|
}
|
|
231
235
|
export { queues_3 as queues };
|
|
232
236
|
}
|
|
233
|
-
declare let
|
|
237
|
+
declare let debug_2: boolean;
|
|
234
238
|
export declare let defaultUserId: string;
|
|
235
239
|
export declare namespace _export {
|
|
236
240
|
let directory_1: string;
|
|
@@ -287,4 +291,8 @@ export declare namespace logsCollector {
|
|
|
287
291
|
let queue: string;
|
|
288
292
|
}
|
|
289
293
|
export declare let pluginsPath: string[];
|
|
290
|
-
export
|
|
294
|
+
export declare namespace automation {
|
|
295
|
+
let enable_7: boolean;
|
|
296
|
+
export { enable_7 as enable };
|
|
297
|
+
}
|
|
298
|
+
export { debug_2 as debug, _export as export, _import as import };
|
|
@@ -1,10 +1,48 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type EventAction, type IDbPayload } from '@leav/utils';
|
|
2
2
|
export type IAutomationRule = ICoreEntity & {
|
|
3
|
+
createdAt: number;
|
|
4
|
+
createdBy: string;
|
|
5
|
+
modifiedAt: number;
|
|
6
|
+
modifiedBy: string;
|
|
3
7
|
id: string;
|
|
4
|
-
label:
|
|
5
|
-
description?:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
label: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
active: boolean;
|
|
11
|
+
trigger: AutomationRuleTrigger;
|
|
12
|
+
pipeline: AutomationRulePipeline;
|
|
13
|
+
};
|
|
14
|
+
export type ICreateAutomationRule = {
|
|
15
|
+
label: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
trigger: AutomationRuleTrigger;
|
|
18
|
+
};
|
|
19
|
+
export type IUpdateAutomationRule = {
|
|
20
|
+
id: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
active?: boolean;
|
|
24
|
+
trigger?: Partial<AutomationRuleTrigger>;
|
|
25
|
+
};
|
|
26
|
+
export declare enum SyncAutomationRuleEventAction {
|
|
27
|
+
RECORD_INIT = "RECORD_INIT"
|
|
28
|
+
}
|
|
29
|
+
export type AutomationRuleEventAction = EventAction | SyncAutomationRuleEventAction;
|
|
30
|
+
export type AutomationRulesEventTopic = IDbPayload['topic'];
|
|
31
|
+
export type AutomationRuleTrigger = {
|
|
32
|
+
synchronous: boolean;
|
|
33
|
+
eventAction: AutomationRuleEventAction;
|
|
34
|
+
eventTopic?: AutomationRulesEventTopic;
|
|
35
|
+
};
|
|
36
|
+
export type AutomationRulePipeline = {
|
|
37
|
+
steps: AutomationRulePipelineStep[];
|
|
38
|
+
};
|
|
39
|
+
export declare enum AutomationRuleActions {
|
|
40
|
+
LOG = "log",
|
|
41
|
+
CONDITION = "condition",
|
|
42
|
+
ERROR = "error"
|
|
43
|
+
}
|
|
44
|
+
export type AutomationRulePipelineStep = {
|
|
45
|
+
type: AutomationRuleActions | string;
|
|
46
|
+
name?: string;
|
|
47
|
+
params: Record<string, unknown>;
|
|
10
48
|
};
|
|
@@ -35,6 +35,10 @@ export interface IConfig {
|
|
|
35
35
|
pluginsPath: string[];
|
|
36
36
|
bugsnag: IBugsnag;
|
|
37
37
|
matomo: IMatomo;
|
|
38
|
+
automation: IAutomation;
|
|
39
|
+
}
|
|
40
|
+
export interface IAutomation {
|
|
41
|
+
enable: boolean;
|
|
38
42
|
}
|
|
39
43
|
export declare enum CoreMode {
|
|
40
44
|
SERVER = "server",
|
|
@@ -73,6 +77,12 @@ export interface IActions {
|
|
|
73
77
|
*/
|
|
74
78
|
debug: boolean;
|
|
75
79
|
};
|
|
80
|
+
jexl: {
|
|
81
|
+
/**
|
|
82
|
+
* Add debug log for each calculation with formula and result or error
|
|
83
|
+
*/
|
|
84
|
+
debug: boolean;
|
|
85
|
+
};
|
|
76
86
|
}
|
|
77
87
|
export interface IDb {
|
|
78
88
|
url: string;
|
|
@@ -28,6 +28,7 @@ export declare enum Errors {
|
|
|
28
28
|
FORMAT_ERROR = "FORMAT_ERROR",
|
|
29
29
|
IMMUTABLE_CORE_SYSTEM_ATTRIBUTE = "IMMUTABLE_CORE_SYSTEM_ATTRIBUTE",
|
|
30
30
|
INVALID_ACTION_TYPE = "INVALID_ACTION_TYPE",
|
|
31
|
+
INVALID_ACTION_PARAMS = "INVALID_ACTION_PARAMS",
|
|
31
32
|
INVALID_ATTRIBUTE_TYPE = "INVALID_ATTRIBUTE_TYPE",
|
|
32
33
|
INVALID_ATTRIBUTE_FILTER_FORMAT = "INVALID_ATTRIBUTE_FILTER_FORMAT",
|
|
33
34
|
INVALID_ATTRIBUTE_FOR_LIBRARY = "INVALID_ATTRIBUTE_FOR_LIBRARY",
|
|
@@ -91,6 +92,7 @@ export declare enum Errors {
|
|
|
91
92
|
UNKNOWN_APPLICATION = "UNKNOWN_APPLICATION",
|
|
92
93
|
UNKNOWN_ATTRIBUTE = "UNKNOWN_ATTRIBUTE",
|
|
93
94
|
UNKNOWN_ATTRIBUTES = "UNKNOWN_ATTRIBUTES",
|
|
95
|
+
UNKNOWN_AUTOMATION_RULE = "UNKNOWN_AUTOMATION_RULE",
|
|
94
96
|
UNKNOWN_ELEMENT = "UNKNOWN_ELEMENT",
|
|
95
97
|
UNKNOWN_FORM = "UNKNOWN_FORM",
|
|
96
98
|
UNKNOWN_FORM_ATTRIBUTES = "UNKNOWN_FORM_ATTRIBUTES",
|
|
@@ -9,6 +9,8 @@ import { type IValue } from './value';
|
|
|
9
9
|
import { type IVersionProfile } from './versionProfile';
|
|
10
10
|
import { type IPermission } from './permissions';
|
|
11
11
|
import { type ITreeDbEvent, type ITree } from './tree';
|
|
12
|
+
import { type IAutomationRule } from './automation';
|
|
13
|
+
import { type IAutomationPipelineFailure, type IAutomationPipelineSuccess } from '../domain/automation/types';
|
|
12
14
|
type OnlyObject<T> = T extends object ? T : never;
|
|
13
15
|
/**
|
|
14
16
|
* Maybe move all DBPayloadData types in @leav/utils type to allow event consumers outside core to use them
|
|
@@ -30,6 +32,10 @@ interface IDBPayloadDataMap {
|
|
|
30
32
|
[EventAction.API_KEY_DELETE]: IApiKey;
|
|
31
33
|
[EventAction.APP_SAVE]: IApplication;
|
|
32
34
|
[EventAction.APP_DELETE]: IApplication;
|
|
35
|
+
[EventAction.AUTOMATION_RULE_CREATE]: IAutomationRule;
|
|
36
|
+
[EventAction.AUTOMATION_RULE_UPDATE]: IAutomationRule;
|
|
37
|
+
[EventAction.AUTOMATION_PIPELINE_SUCCESS]: IAutomationPipelineSuccess;
|
|
38
|
+
[EventAction.AUTOMATION_PIPELINE_FAILURE]: IAutomationPipelineFailure;
|
|
33
39
|
[EventAction.GLOBAL_SETTINGS_SAVE]: IGlobalSettings;
|
|
34
40
|
[EventAction.LIBRARY_SAVE]: ILibraryDbEvent;
|
|
35
41
|
[EventAction.LIBRARY_DELETE]: ILibraryDbEvent;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type INotification } from './notification';
|
|
2
|
+
import { type IRecord } from './record';
|
|
2
3
|
import { type ITask } from './tasksManager';
|
|
3
4
|
export declare enum TriggerNames {
|
|
4
5
|
APPLICATION_EVENT = "APPLICATION_EVENT",
|
|
@@ -7,6 +8,7 @@ export declare enum TriggerNames {
|
|
|
7
8
|
TASK = "TASK",
|
|
8
9
|
TREE_EVENT = "TREE_EVENT",
|
|
9
10
|
RECORD_UPDATE = "RECORD_UPDATE",
|
|
11
|
+
RECORD_NEW_COMMENT = "RECORD_NEW_COMMENT",
|
|
10
12
|
NOTIFICATION = "NOTIFICATION"
|
|
11
13
|
}
|
|
12
14
|
export interface IPubSubNotificationData {
|
|
@@ -16,3 +18,9 @@ export interface IPubSubNotificationData {
|
|
|
16
18
|
export interface IPubSubTaskData {
|
|
17
19
|
task: ITask;
|
|
18
20
|
}
|
|
21
|
+
export interface IPubSubRecordNewCommentData {
|
|
22
|
+
recordNewComment: {
|
|
23
|
+
record: IRecord;
|
|
24
|
+
comment: IRecord;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -102,6 +102,7 @@ export interface IRecordUpdateEventFilters {
|
|
|
102
102
|
libraries?: string[];
|
|
103
103
|
records?: string[];
|
|
104
104
|
}
|
|
105
|
+
export type IRecordCommentEventFilters = IRecordUpdateEventFilters;
|
|
105
106
|
export interface IRecordFilterLight {
|
|
106
107
|
field?: string;
|
|
107
108
|
value?: string;
|
|
@@ -3,6 +3,7 @@ import { type IAttributeDomain } from '../../../domain/attribute/attributeDomain
|
|
|
3
3
|
import { type ILibraryDomain } from '../../../domain/library/libraryDomain';
|
|
4
4
|
import { type IPermissionDomain } from '../../../domain/permission/permissionDomain';
|
|
5
5
|
import { type IAttributeDependentValuesPermissionDomain } from '../../../domain/permission/attributeDependentValuesPermissionDomain';
|
|
6
|
+
import { type IfLibraryJoinLinkAttribute } from '../../../domain/attribute/helpers/ifLibraryJoinLinkAttribute';
|
|
6
7
|
import { type IRecordDomain } from '../../../domain/record/recordDomain';
|
|
7
8
|
import { type ITreeDomain } from '../../../domain/tree/treeDomain';
|
|
8
9
|
import { type IVersionProfileDomain } from '../../../domain/versionProfile/versionProfileDomain';
|
|
@@ -12,6 +13,7 @@ import { type ICoreApp } from '../coreApp';
|
|
|
12
13
|
export type ICoreAttributeApp = IGraphqlAppModule;
|
|
13
14
|
interface IDeps {
|
|
14
15
|
'core.domain.attribute': IAttributeDomain;
|
|
16
|
+
'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
|
|
15
17
|
'core.domain.library': ILibraryDomain;
|
|
16
18
|
'core.domain.record': IRecordDomain;
|
|
17
19
|
'core.domain.tree': ITreeDomain;
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { type IGraphqlAppModule } from '../graphql/graphqlApp';
|
|
2
2
|
import { type IAutomationDomain } from '../../domain/automation/automationDomain';
|
|
3
|
+
import { type IAutomationRule } from '../../_types/automation';
|
|
3
4
|
import { type IPaginationParams, type ISortParams } from '../../_types/list';
|
|
5
|
+
import { type IEventsManagerDomain } from '../../domain/eventsManager/eventsManagerDomain';
|
|
6
|
+
import { type IAutomationTriggers } from '../../domain/automation/automationTriggers';
|
|
4
7
|
export type ICoreImportApp = IGraphqlAppModule;
|
|
5
|
-
interface
|
|
8
|
+
interface IAutomationAppDeps {
|
|
6
9
|
'core.domain.automation': IAutomationDomain;
|
|
10
|
+
'core.domain.automation.triggers': IAutomationTriggers;
|
|
11
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
7
12
|
}
|
|
8
13
|
export interface IGetAutomationRulesArgs {
|
|
9
14
|
filters?: ICoreEntityFilterOptions & {
|
|
10
|
-
|
|
15
|
+
active?: boolean;
|
|
16
|
+
synchronous?: boolean;
|
|
17
|
+
eventAction?: IAutomationRule['trigger']['eventAction'];
|
|
18
|
+
eventTopic?: IAutomationRule['trigger']['eventTopic'];
|
|
11
19
|
};
|
|
12
20
|
pagination?: IPaginationParams;
|
|
13
21
|
sort?: ISortParams;
|
|
14
22
|
}
|
|
15
|
-
export default function ({ 'core.domain.automation': automationDomain }:
|
|
23
|
+
export default function ({ 'core.domain.automation': automationDomain, 'core.domain.automation.triggers': automationTriggers, 'core.domain.eventsManager': eventsManagerDomain, }: IAutomationAppDeps): ICoreImportApp;
|
|
16
24
|
export {};
|
|
@@ -2,7 +2,8 @@ import { type InitQueryContextFunc } from '../helpers/initQueryContext';
|
|
|
2
2
|
import { type IEventsManagerDomain } from '../../domain/eventsManager/eventsManagerDomain';
|
|
3
3
|
import { type IConfig } from '../../_types/config';
|
|
4
4
|
import { type IAppModule } from '../../_types/shared';
|
|
5
|
-
|
|
5
|
+
import { type IGraphqlAppModule } from '../graphql/graphqlApp';
|
|
6
|
+
export type IEventsManagerApp = IAppModule & IGraphqlAppModule;
|
|
6
7
|
interface IDeps {
|
|
7
8
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
8
9
|
'core.app.helpers.initQueryContext': InitQueryContextFunc;
|
|
@@ -5,6 +5,7 @@ import { type IFilesManagerDomain } from '../../domain/filesManager/filesManager
|
|
|
5
5
|
import { type ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
|
|
6
6
|
import { type IGraphqlAppModule } from '../graphql/graphqlApp';
|
|
7
7
|
import { type IServerRouteAppModule } from '../../interface/server';
|
|
8
|
+
import { type IRecordPermissionDomain } from '../../domain/permission/recordPermissionDomain';
|
|
8
9
|
export interface IFilesManagerApp extends IGraphqlAppModule, IServerRouteAppModule {
|
|
9
10
|
init(): Promise<void>;
|
|
10
11
|
}
|
|
@@ -13,7 +14,8 @@ interface IDeps {
|
|
|
13
14
|
'core.app.helpers.validateRequestToken': ValidateRequestTokenFunc;
|
|
14
15
|
'core.domain.filesManager': IFilesManagerDomain;
|
|
15
16
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
17
|
+
'core.domain.permission.record': IRecordPermissionDomain;
|
|
16
18
|
config: IConfig;
|
|
17
19
|
}
|
|
18
|
-
export default function ({ 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.domain.filesManager': filesManagerDomain, 'core.domain.eventsManager': eventsManager, config, }: IDeps): IFilesManagerApp;
|
|
20
|
+
export default function ({ 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.domain.filesManager': filesManagerDomain, 'core.domain.eventsManager': eventsManager, 'core.domain.permission.record': recordPermissionDomain, config, }: IDeps): IFilesManagerApp;
|
|
19
21
|
export {};
|
|
@@ -3,6 +3,7 @@ import { type IAttributeDomain } from '../../domain/attribute/attributeDomain';
|
|
|
3
3
|
import { type IEventsManagerDomain } from '../../domain/eventsManager/eventsManagerDomain';
|
|
4
4
|
import { type ILibraryDomain } from '../../domain/library/libraryDomain';
|
|
5
5
|
import { type ILogDomain } from '../../domain/log/logDomain';
|
|
6
|
+
import { type IAutomationDomain } from '../../domain/automation/automationDomain';
|
|
6
7
|
import { type ITreeDomain } from '../../domain/tree/treeDomain';
|
|
7
8
|
import { type IVersionProfileDomain } from '../../domain/versionProfile/versionProfileDomain';
|
|
8
9
|
import { type IAppModule } from '../../_types/shared';
|
|
@@ -21,9 +22,10 @@ interface IDeps {
|
|
|
21
22
|
'core.domain.value.helpers.formatLogValue': IFormatLogValueHelper;
|
|
22
23
|
'core.domain.versionProfile': IVersionProfileDomain;
|
|
23
24
|
'core.domain.application': IApplicationDomain;
|
|
25
|
+
'core.domain.automation': IAutomationDomain;
|
|
24
26
|
'core.domain.record': IRecordDomain;
|
|
25
27
|
translator: i18n;
|
|
26
28
|
config: IConfig;
|
|
27
29
|
}
|
|
28
|
-
export default function ({ 'core.domain.log': logDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tree': treeDomain, 'core.domain.value.helpers.formatLogValue': formatLogValue, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.application': applicationDomain, 'core.domain.record': recordDomain, translator, config, }: IDeps): ICoreLogApp;
|
|
30
|
+
export default function ({ 'core.domain.log': logDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tree': treeDomain, 'core.domain.value.helpers.formatLogValue': formatLogValue, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.application': applicationDomain, 'core.domain.automation': automationDomain, 'core.domain.record': recordDomain, translator, config, }: IDeps): ICoreLogApp;
|
|
29
31
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as dateRangeToNumberAction } from './dateRangeToNumberAction';
|
|
2
2
|
export { default as encryptAction } from './encryptAction';
|
|
3
3
|
export { default as excelAction } from './excelCalculationAction';
|
|
4
|
+
export { default as jexlCalculationAction } from './jexlCalculationAction';
|
|
4
5
|
export { default as formatDateAction } from './formatDateAction';
|
|
5
6
|
export { default as formatDateRangeAction } from './formatDateRangeAction';
|
|
6
7
|
export { default as formatNumberAction } from './formatNumberAction';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type IJexlDomain } from '../jexl/jexlDomain';
|
|
2
|
+
import { type IActionsListFunction } from '../../_types/actionsList';
|
|
3
|
+
import { type IConfig } from '../../_types/config';
|
|
4
|
+
interface IDeps {
|
|
5
|
+
'core.domain.jexl': IJexlDomain;
|
|
6
|
+
config: IConfig;
|
|
7
|
+
}
|
|
8
|
+
type ActionParams = {
|
|
9
|
+
Formula: true;
|
|
10
|
+
Description: true;
|
|
11
|
+
['Return only calculated value']: false;
|
|
12
|
+
};
|
|
13
|
+
export default function ({ 'core.domain.jexl': jexlDomain, config }: IDeps): IActionsListFunction<ActionParams>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type IAutomationAction } from '../types';
|
|
3
|
+
declare const conditionActionParamsSchema: z.ZodObject<{
|
|
4
|
+
result: z.ZodBoolean;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type ConditionActionParams = z.infer<typeof conditionActionParamsSchema>;
|
|
7
|
+
export default function (): IAutomationAction<ConditionActionParams>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type IAutomationAction } from '../types';
|
|
3
|
+
declare const errorActionParamsSchema: z.ZodObject<{
|
|
4
|
+
message: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type ErrorActionParams = z.infer<typeof errorActionParamsSchema>;
|
|
7
|
+
export default function (): IAutomationAction<ErrorActionParams>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type IAutomationAction } from '../types';
|
|
3
|
+
declare const logActionParamsSchema: z.ZodObject<{
|
|
4
|
+
message: z.ZodString;
|
|
5
|
+
level: z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
info: "info";
|
|
7
|
+
error: "error";
|
|
8
|
+
debug: "debug";
|
|
9
|
+
silly: "silly";
|
|
10
|
+
verbose: "verbose";
|
|
11
|
+
warn: "warn";
|
|
12
|
+
}>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type LogActionParams = z.infer<typeof logActionParamsSchema>;
|
|
15
|
+
export default function (): IAutomationAction<LogActionParams>;
|
|
16
|
+
export {};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { type IAutomationRule } from '../../_types/automation';
|
|
1
|
+
import { type ICreateAutomationRule, type IAutomationRule, type IUpdateAutomationRule, type AutomationRulesEventTopic, type AutomationRuleEventAction } from '../../_types/automation';
|
|
2
2
|
import { type IList } from '../../_types/list';
|
|
3
3
|
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
4
4
|
import { type IGetCoreEntitiesParams } from '../../_types/shared';
|
|
5
|
+
import { type IAutomationRuleRepo } from '../../infra/automation/automationRuleRepo';
|
|
5
6
|
import { type IAdminPermissionDomain } from '../permission/adminPermissionDomain';
|
|
6
|
-
|
|
7
|
+
import { type IEventsManagerDomain } from '../eventsManager/eventsManagerDomain';
|
|
8
|
+
import { type IConfig } from '../../_types/config';
|
|
9
|
+
import { type IPipelineExecutor } from './pipelineExecutor';
|
|
10
|
+
export interface IGetAutomationRulesParams extends IGetCoreEntitiesParams {
|
|
7
11
|
filters?: ICoreEntityFilterOptions & {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
active?: boolean;
|
|
13
|
+
synchronous?: boolean;
|
|
14
|
+
eventAction?: AutomationRuleEventAction;
|
|
15
|
+
eventTopic?: AutomationRulesEventTopic;
|
|
12
16
|
};
|
|
13
17
|
}
|
|
14
18
|
export interface IAutomationDomain {
|
|
@@ -16,9 +20,24 @@ export interface IAutomationDomain {
|
|
|
16
20
|
params: IGetAutomationRulesParams;
|
|
17
21
|
ctx: IQueryInfos;
|
|
18
22
|
}): Promise<IList<IAutomationRule>>;
|
|
23
|
+
createAutomationRule({ rule, ctx }: {
|
|
24
|
+
rule: ICreateAutomationRule;
|
|
25
|
+
ctx: IQueryInfos;
|
|
26
|
+
}): Promise<IAutomationRule>;
|
|
27
|
+
updateAutomationRule({ rule, ctx }: {
|
|
28
|
+
rule: IUpdateAutomationRule;
|
|
29
|
+
ctx: IQueryInfos;
|
|
30
|
+
}): Promise<IAutomationRule>;
|
|
31
|
+
triggerRules(event: {
|
|
32
|
+
action: AutomationRuleEventAction;
|
|
33
|
+
topic?: AutomationRulesEventTopic;
|
|
34
|
+
}, synchronous: boolean, ctx: IQueryInfos): Promise<void>;
|
|
19
35
|
}
|
|
20
36
|
export interface IAutomationDomainDeps {
|
|
21
37
|
'core.domain.permission.admin': IAdminPermissionDomain;
|
|
38
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
39
|
+
'core.domain.automation.pipelineExecutor': IPipelineExecutor;
|
|
40
|
+
'core.infra.automation.rule': IAutomationRuleRepo;
|
|
41
|
+
config: IConfig;
|
|
22
42
|
}
|
|
23
|
-
export default function ({ 'core.domain.permission.admin': adminPermissionDomain, }: IAutomationDomainDeps): IAutomationDomain;
|
|
24
|
-
export {};
|
|
43
|
+
export default function ({ 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.automation.pipelineExecutor': pipelineExecutor, 'core.infra.automation.rule': automationRuleRepo, config, }: IAutomationDomainDeps): IAutomationDomain;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type AutomationRuleEventAction } from '../../_types/automation';
|
|
2
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
3
|
+
/**
|
|
4
|
+
* This list of topic should match AutomationRulesEventTopic properties
|
|
5
|
+
*/
|
|
6
|
+
export declare enum AutomationTriggerDefTopics {
|
|
7
|
+
LIBRARY = "LIBRARY",
|
|
8
|
+
ATTRIBUTE = "ATTRIBUTE"
|
|
9
|
+
}
|
|
10
|
+
export declare enum AutomationTriggerDefSynchronicity {
|
|
11
|
+
SYNC = "SYNC",
|
|
12
|
+
ASYNC = "ASYNC",
|
|
13
|
+
BOTH = "BOTH"
|
|
14
|
+
}
|
|
15
|
+
export type AutomationTriggerDef = {
|
|
16
|
+
eventAction: AutomationRuleEventAction;
|
|
17
|
+
topics: AutomationTriggerDefTopics[];
|
|
18
|
+
synchronicity: AutomationTriggerDefSynchronicity;
|
|
19
|
+
};
|
|
20
|
+
export interface IAutomationTriggers {
|
|
21
|
+
getAutomationTriggers({ ctx }: {
|
|
22
|
+
ctx: IQueryInfos;
|
|
23
|
+
}): AutomationTriggerDef[];
|
|
24
|
+
}
|
|
25
|
+
export default function (): IAutomationTriggers;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AutomationRuleEventAction, type AutomationRulesEventTopic, type IAutomationRule } from '../../_types/automation';
|
|
2
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
3
|
+
export declare const TRIGGER_FAKER_RULES_FOR_DEV = false;
|
|
4
|
+
export declare const buildFakeRulesToTrigger: (event: {
|
|
5
|
+
action: AutomationRuleEventAction;
|
|
6
|
+
topic?: AutomationRulesEventTopic;
|
|
7
|
+
}, synchronous: boolean, ctx: IQueryInfos) => Promise<IAutomationRule[]>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type AwilixContainer } from 'awilix';
|
|
2
|
+
import { type AutomationRuleTrigger, type AutomationRulePipeline } from '../../_types/automation';
|
|
3
|
+
import { type IEventsManagerDomain } from '../eventsManager/eventsManagerDomain';
|
|
4
|
+
import { type IAutomationAction } from './types';
|
|
5
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
6
|
+
export type AutomationPipelineToExecute = AutomationRulePipeline & {
|
|
7
|
+
ruleId: string;
|
|
8
|
+
trigger: AutomationRuleTrigger;
|
|
9
|
+
};
|
|
10
|
+
export interface IPipelineExecutor {
|
|
11
|
+
getAvailableActions(): IAutomationAction[];
|
|
12
|
+
executePipeline(pipelineExec: AutomationPipelineToExecute, ctx: IQueryInfos): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
export interface IPipelineExecutorDeps {
|
|
15
|
+
'core.depsManager': AwilixContainer;
|
|
16
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
17
|
+
}
|
|
18
|
+
export default function ({ 'core.depsManager': depsManager, 'core.domain.eventsManager': eventsManager, }: IPipelineExecutorDeps): IPipelineExecutor;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ZodObject } from 'zod';
|
|
2
|
+
import { type AutomationRuleActions, type AutomationRuleTrigger } from '../../_types/automation';
|
|
3
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
4
|
+
export declare enum ActionExecutionResultStatus {
|
|
5
|
+
CONTINUE = "continue",
|
|
6
|
+
STOP = "stop"
|
|
7
|
+
}
|
|
8
|
+
export type IActionExecutionResult = {
|
|
9
|
+
status: ActionExecutionResultStatus.CONTINUE;
|
|
10
|
+
result?: unknown;
|
|
11
|
+
} | {
|
|
12
|
+
status: ActionExecutionResultStatus.STOP;
|
|
13
|
+
reason?: string;
|
|
14
|
+
};
|
|
15
|
+
export type IAutomationPipelineExecutionResults = Record<string, unknown>;
|
|
16
|
+
export type IAutomationPipelineExecutionState = {
|
|
17
|
+
readonly trigger: AutomationRuleTrigger;
|
|
18
|
+
readonly results: IAutomationPipelineExecutionResults;
|
|
19
|
+
readonly startDateMs: number;
|
|
20
|
+
};
|
|
21
|
+
export interface IAutomationAction<Params = unknown> {
|
|
22
|
+
readonly type: AutomationRuleActions | string;
|
|
23
|
+
readonly paramsSchema: ZodObject<any>;
|
|
24
|
+
validateParams?: (params: Params) => Promise<void>;
|
|
25
|
+
execute(params: Params, state: IAutomationPipelineExecutionState, ctx: IQueryInfos): Promise<IActionExecutionResult | void>;
|
|
26
|
+
}
|
|
27
|
+
export type IAutomationPipelineSuccess = {
|
|
28
|
+
readonly results: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
export type IAutomationPipelineFailure = {
|
|
31
|
+
readonly results: Record<string, unknown | {
|
|
32
|
+
stack?: string;
|
|
33
|
+
message: string;
|
|
34
|
+
name: string;
|
|
35
|
+
[k: string]: unknown;
|
|
36
|
+
}>;
|
|
37
|
+
};
|
|
@@ -6,6 +6,7 @@ import { type IValueDomain } from '../value/valueDomain';
|
|
|
6
6
|
import { type IUserDomain } from '../user/userDomain';
|
|
7
7
|
import { type i18n } from 'i18next';
|
|
8
8
|
import { type IConfig } from '../../_types/config';
|
|
9
|
+
import { type IEventsManagerDomain } from '../../domain/eventsManager/eventsManagerDomain';
|
|
9
10
|
export interface IDiscussionDomain {
|
|
10
11
|
postDiscussionComment(params: {
|
|
11
12
|
params?: IPostDiscussionCommentParams;
|
|
@@ -17,7 +18,8 @@ export interface IDiscussionDomainDeps {
|
|
|
17
18
|
'core.domain.record': IRecordDomain;
|
|
18
19
|
'core.domain.value': IValueDomain;
|
|
19
20
|
'core.domain.user': IUserDomain;
|
|
21
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
20
22
|
translator: i18n;
|
|
21
23
|
config: IConfig;
|
|
22
24
|
}
|
|
23
|
-
export default function ({ 'core.domain.notification': notificationDomain, 'core.domain.record': recordDomain, 'core.domain.value': valueDomain, 'core.domain.user': userDomain, translator, config, }: IDiscussionDomainDeps): IDiscussionDomain;
|
|
25
|
+
export default function ({ 'core.domain.notification': notificationDomain, 'core.domain.record': recordDomain, 'core.domain.value': valueDomain, 'core.domain.user': userDomain, 'core.domain.eventsManager': eventsManagerDomain, translator, config, }: IDiscussionDomainDeps): IDiscussionDomain;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './jexlDomain';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type IValueDomain } from '../value/valueDomain';
|
|
2
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
3
|
+
import { type IRecord } from '../../_types/record';
|
|
4
|
+
import { type IValue } from '../../_types/value';
|
|
5
|
+
import { type ITreeNode } from '../../_types/tree';
|
|
6
|
+
import { type JexlContext, type JexlRecordContext, type JexlRootContext, type JexlTreeNodeContext, type JexlValueContext } from './types';
|
|
7
|
+
interface IDeps {
|
|
8
|
+
'core.domain.value': IValueDomain;
|
|
9
|
+
}
|
|
10
|
+
export interface IJexlDomain {
|
|
11
|
+
eval<Ctx extends JexlContext>(expression: string, context?: Ctx): Promise<any>;
|
|
12
|
+
buildRootContext: <T>(contextData: T, ctx: IQueryInfos) => JexlRootContext<T>;
|
|
13
|
+
buildRecordContext: (record: IRecord, ctx: IQueryInfos) => JexlRecordContext;
|
|
14
|
+
buildTreeNodeContext: (treeNode: ITreeNode, ctx: IQueryInfos) => JexlTreeNodeContext;
|
|
15
|
+
buildValuesContext: (values: IValue[], ctx: IQueryInfos) => JexlValueContext[];
|
|
16
|
+
}
|
|
17
|
+
export default function ({ 'core.domain.value': valueDomain }: IDeps): IJexlDomain;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
2
|
+
import { type IRecord } from '../../_types/record';
|
|
3
|
+
import { type ITreeNode } from '../../_types/tree';
|
|
4
|
+
import { type IStandardValue } from '../../_types/value';
|
|
5
|
+
export declare enum JexlContextType {
|
|
6
|
+
ROOT = "root",
|
|
7
|
+
RECORD = "record",
|
|
8
|
+
TREE_NODE = "treeNode",
|
|
9
|
+
USER = "user"
|
|
10
|
+
}
|
|
11
|
+
export type JexlContext<T extends JexlContextType = JexlContextType> = {
|
|
12
|
+
/**
|
|
13
|
+
* This property is used internally to identify the type of context (root, record, tree node, user)
|
|
14
|
+
* and should not be used in Jexl expressions as it may cause conflicts with user-defined properties.
|
|
15
|
+
*/
|
|
16
|
+
__jexlContextType: T;
|
|
17
|
+
/**
|
|
18
|
+
* This method is used internally to retrieve the IQueryInfos context for the current Jexl evaluation.
|
|
19
|
+
* It should not be used in Jexl expressions as it may cause conflicts with user-defined properties and is not intended for direct use in expressions.
|
|
20
|
+
*/
|
|
21
|
+
__getJexlQueryCtx(): IQueryInfos;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The jexl context to be passed in jexl evaluation
|
|
25
|
+
* Still subject to change but the idea is to have a clear separation between root context (which can be defined by the user of the jexl domain)
|
|
26
|
+
* and record/tree node contexts which are built from values payload when using getValues transform or function in jexl expressions
|
|
27
|
+
*/
|
|
28
|
+
export type JexlRootContext<T = unknown> = T & JexlContext<JexlContextType.ROOT> & {
|
|
29
|
+
currentUser: JexlUserContext;
|
|
30
|
+
};
|
|
31
|
+
export type JexlRecordContext = IRecord & JexlContext<JexlContextType.RECORD>;
|
|
32
|
+
export type JexlTreeNodeContext = ITreeNode & JexlContext<JexlContextType.TREE_NODE>;
|
|
33
|
+
export type JexlUserContext = JexlContext<JexlContextType.USER> & {
|
|
34
|
+
record: JexlRecordContext;
|
|
35
|
+
lang?: string;
|
|
36
|
+
};
|
|
37
|
+
export type JexlValueContext = IStandardValue['payload'] | JexlRecordContext | JexlTreeNodeContext;
|