@aristid/leav-types 1.12.0-1 → 1.12.0-1e9f9ce1

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 (252) hide show
  1. package/apps/core/src/__tests__/e2e/_gqlTypes/index.d.ts +78 -37
  2. package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/domain/fakeDomain.d.ts +6 -2
  3. package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/index.d.ts +2 -2
  4. package/apps/core/src/__tests__/e2e/api/automation/automation.test.d.ts +1 -0
  5. package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +13 -4
  6. package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +1 -1
  7. package/apps/core/src/__tests__/e2e/api/notificationUtils.d.ts +1 -1
  8. package/apps/core/src/__tests__/integration/infra/automationRuleRepo.test.d.ts +1 -0
  9. package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +8 -5
  10. package/apps/core/src/__tests__/mocks/globalSettings.d.ts +1 -1
  11. package/apps/core/src/__tests__/mocks/library.d.ts +1 -1
  12. package/apps/core/src/__tests__/mocks/plugins.d.ts +1 -1
  13. package/apps/core/src/__tests__/mocks/record.d.ts +1 -1
  14. package/apps/core/src/__tests__/mocks/shared.d.ts +1 -1
  15. package/apps/core/src/__tests__/mocks/value.d.ts +1 -1
  16. package/apps/core/src/__tests__/mocks/versionProfile.d.ts +1 -1
  17. package/apps/core/src/_types/actionsList.d.ts +1 -1
  18. package/apps/core/src/_types/automation.d.ts +21 -0
  19. package/apps/core/src/_types/cronTask.d.ts +14 -0
  20. package/apps/core/src/_types/errors.d.ts +1 -0
  21. package/apps/core/src/_types/events.d.ts +3 -0
  22. package/apps/core/src/_types/extensionPoints.d.ts +5 -0
  23. package/apps/core/src/_types/migration.d.ts +1 -1
  24. package/apps/core/src/_types/permissions.d.ts +1 -0
  25. package/apps/core/src/_types/queryInfos.d.ts +1 -1
  26. package/apps/core/src/_types/record.d.ts +1 -1
  27. package/apps/core/src/_types/value.d.ts +2 -2
  28. package/apps/core/src/app/application/applicationApp.d.ts +9 -9
  29. package/apps/core/src/app/auth/authApp.d.ts +8 -8
  30. package/apps/core/src/app/core/actionListApp.d.ts +3 -3
  31. package/apps/core/src/app/core/apiKeyApp/_types.d.ts +2 -2
  32. package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +3 -3
  33. package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +9 -9
  34. package/apps/core/src/app/core/automationApp.d.ts +17 -0
  35. package/apps/core/src/app/core/coreApp.d.ts +5 -5
  36. package/apps/core/src/app/core/discussionApp.d.ts +2 -2
  37. package/apps/core/src/app/core/eventsManagerApp.d.ts +4 -4
  38. package/apps/core/src/app/core/exportApp.d.ts +2 -2
  39. package/apps/core/src/app/core/filesManagerApp.d.ts +8 -6
  40. package/apps/core/src/app/core/formApp/_types.d.ts +2 -2
  41. package/apps/core/src/app/core/formApp/formApp.d.ts +8 -8
  42. package/apps/core/src/app/core/globalSettingsApp.d.ts +7 -7
  43. package/apps/core/src/app/core/helpers/subscriptions.d.ts +1 -1
  44. package/apps/core/src/app/core/importApp.d.ts +4 -4
  45. package/apps/core/src/app/core/index.d.ts +1 -0
  46. package/apps/core/src/app/core/indexationManagerApp.d.ts +2 -2
  47. package/apps/core/src/app/core/libraryApp/_types.d.ts +2 -2
  48. package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +7 -7
  49. package/apps/core/src/app/core/logApp.d.ts +15 -13
  50. package/apps/core/src/app/core/logsCollectorApp.d.ts +1 -1
  51. package/apps/core/src/app/core/notificationApp.d.ts +3 -3
  52. package/apps/core/src/app/core/permissionApp/_types.d.ts +1 -1
  53. package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +4 -4
  54. package/apps/core/src/app/core/pluginsApp.d.ts +3 -3
  55. package/apps/core/src/app/core/recordApp/_types.d.ts +2 -2
  56. package/apps/core/src/app/core/recordApp/recordApp.d.ts +8 -8
  57. package/apps/core/src/app/core/tasksManagerApp.d.ts +11 -9
  58. package/apps/core/src/app/core/treeApp/_types.d.ts +4 -4
  59. package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -5
  60. package/apps/core/src/app/core/userDataApp.d.ts +1 -1
  61. package/apps/core/src/app/core/valueApp.d.ts +6 -6
  62. package/apps/core/src/app/core/versionProfileApp/_types.d.ts +2 -2
  63. package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +3 -3
  64. package/apps/core/src/app/core/viewApp.d.ts +5 -5
  65. package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -3
  66. package/apps/core/src/app/graphql/customScalars/dateTime/dateTime.d.ts +1 -1
  67. package/apps/core/src/app/graphql/customScalars/systemTranslation/systemTranslation.d.ts +1 -1
  68. package/apps/core/src/app/graphql/graphqlApp.d.ts +3 -3
  69. package/apps/core/src/app/helpers/convertVersionFromGqlFormat.d.ts +1 -1
  70. package/apps/core/src/app/helpers/initQueryContext.d.ts +2 -2
  71. package/apps/core/src/domain/actions/excelCalculationAction.d.ts +2 -2
  72. package/apps/core/src/domain/actions/inheritanceCalculationAction.d.ts +2 -2
  73. package/apps/core/src/domain/actions/replaceAnotherAttributeAction.d.ts +3 -3
  74. package/apps/core/src/domain/apiKey/apiKeyDomain.d.ts +6 -6
  75. package/apps/core/src/domain/application/applicationDomain.d.ts +7 -7
  76. package/apps/core/src/domain/application/helpers/getLibrarySystemPanels.d.ts +2 -2
  77. package/apps/core/src/domain/attribute/attributeDomain.d.ts +12 -12
  78. package/apps/core/src/domain/attribute/helpers/attributeALHelper.d.ts +1 -1
  79. package/apps/core/src/domain/attribute/helpers/attributeValidationHelper.d.ts +6 -6
  80. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +2 -2
  81. package/apps/core/src/domain/automation/automationDomain.d.ts +32 -0
  82. package/apps/core/src/domain/automation/index.d.ts +1 -0
  83. package/apps/core/src/domain/discussion/discussionDomain.d.ts +7 -7
  84. package/apps/core/src/domain/eventsManager/eventsManagerDomain.d.ts +4 -4
  85. package/apps/core/src/domain/export/exportDomain.d.ts +8 -8
  86. package/apps/core/src/domain/export/exportProfileDomain.d.ts +2 -2
  87. package/apps/core/src/domain/filesManager/_constants.d.ts +1 -1
  88. package/apps/core/src/domain/filesManager/filesManagerDomain.d.ts +13 -13
  89. package/apps/core/src/domain/filesManager/helpers/extractFileMetadata.d.ts +1 -1
  90. package/apps/core/src/domain/filesManager/helpers/getRootPathByKey.d.ts +1 -1
  91. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/_types.d.ts +12 -12
  92. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleCreateEvent.d.ts +1 -1
  93. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleFileSystemEvent.d.ts +10 -10
  94. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
  95. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleRemoveEvent.d.ts +1 -1
  96. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleUpdateEvent.d.ts +1 -1
  97. package/apps/core/src/domain/filesManager/helpers/handleFileUtilsHelper.d.ts +7 -7
  98. package/apps/core/src/domain/filesManager/helpers/handlePreview.d.ts +1 -1
  99. package/apps/core/src/domain/filesManager/helpers/handlePreviewResponse.d.ts +9 -9
  100. package/apps/core/src/domain/filesManager/helpers/messagesHandler/messagesHandler.d.ts +3 -3
  101. package/apps/core/src/domain/form/formDomain.d.ts +12 -12
  102. package/apps/core/src/domain/form/helpers/getElementValues.d.ts +4 -4
  103. package/apps/core/src/domain/form/helpers/mustIncludeElement.d.ts +4 -4
  104. package/apps/core/src/domain/globalSettings/globalSettingsDomain.d.ts +5 -5
  105. package/apps/core/src/domain/helpers/calculations/calculationVariable.d.ts +1 -1
  106. package/apps/core/src/domain/helpers/calculations/calculationsVariableFunctions.d.ts +4 -4
  107. package/apps/core/src/domain/helpers/createDirectory.d.ts +2 -2
  108. package/apps/core/src/domain/helpers/getCoreEntityById.d.ts +7 -7
  109. package/apps/core/src/domain/helpers/updateRecordLastModif.d.ts +4 -4
  110. package/apps/core/src/domain/helpers/updateTaskProgress.d.ts +3 -3
  111. package/apps/core/src/domain/helpers/validate.d.ts +6 -6
  112. package/apps/core/src/domain/import/importDomain.d.ts +11 -11
  113. package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +9 -9
  114. package/apps/core/src/domain/library/helpers/checkSavePermission.d.ts +2 -2
  115. package/apps/core/src/domain/library/helpers/deleteAssociatedValues.d.ts +5 -5
  116. package/apps/core/src/domain/library/helpers/index.d.ts +0 -1
  117. package/apps/core/src/domain/library/helpers/runBehaviorPostSave.d.ts +6 -6
  118. package/apps/core/src/domain/library/helpers/runPreDelete.d.ts +4 -4
  119. package/apps/core/src/domain/library/helpers/updateAssociatedForms.d.ts +2 -2
  120. package/apps/core/src/domain/library/helpers/validateLibAttributes.d.ts +3 -3
  121. package/apps/core/src/domain/library/helpers/validateLibFullTextAttributes.d.ts +1 -1
  122. package/apps/core/src/domain/library/helpers/validatePermConf.d.ts +4 -4
  123. package/apps/core/src/domain/library/helpers/validatePreviewsSettings.d.ts +1 -1
  124. package/apps/core/src/domain/library/helpers/validateRecordIdentityConf.d.ts +3 -3
  125. package/apps/core/src/domain/library/libraryDomain.d.ts +11 -11
  126. package/apps/core/src/domain/log/logDomain.d.ts +5 -5
  127. package/apps/core/src/domain/logsCollector/logsCollectorDomain.d.ts +1 -1
  128. package/apps/core/src/domain/notification/channels/emailChannel.d.ts +4 -4
  129. package/apps/core/src/domain/notification/channels/webSocketChannel.d.ts +1 -1
  130. package/apps/core/src/domain/notification/notificationDomain.d.ts +3 -3
  131. package/apps/core/src/domain/permission/_types.d.ts +2 -2
  132. package/apps/core/src/domain/permission/attributeDependentValuesPermissionDomain.d.ts +3 -3
  133. package/apps/core/src/domain/permission/helpers/defaultPermission.d.ts +3 -3
  134. package/apps/core/src/domain/permission/helpers/getPermissionCacheKey.d.ts +1 -1
  135. package/apps/core/src/domain/permission/helpers/getPermissionCachePatternKey.d.ts +1 -1
  136. package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +2 -2
  137. package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +1 -1
  138. package/apps/core/src/domain/permission/helpers/permissionsByActions.d.ts +1 -1
  139. package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +4 -4
  140. package/apps/core/src/domain/permission/permissionDomain.d.ts +4 -4
  141. package/apps/core/src/domain/permission/recordAttributePermissionDomain.d.ts +2 -2
  142. package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +3 -3
  143. package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +4 -4
  144. package/apps/core/src/domain/plugins/pluginsDomain.d.ts +3 -3
  145. package/apps/core/src/domain/record/_types.d.ts +4 -4
  146. package/apps/core/src/domain/record/helpers/createRecord.d.ts +3 -3
  147. package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +9 -9
  148. package/apps/core/src/domain/record/helpers/findRecords.d.ts +2 -2
  149. package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +7 -7
  150. package/apps/core/src/domain/record/helpers/getAttributesFromField.d.ts +4 -4
  151. package/apps/core/src/domain/record/helpers/index.d.ts +0 -1
  152. package/apps/core/src/domain/record/helpers/sendRecordUpdateEvent.d.ts +3 -3
  153. package/apps/core/src/domain/record/recordDomain.d.ts +11 -11
  154. package/apps/core/src/domain/tasksManager/cronTasksManagerDomain.d.ts +13 -0
  155. package/apps/core/src/domain/tasksManager/cronTasksManagerDomain.spec.d.ts +1 -0
  156. package/apps/core/src/domain/tasksManager/index.d.ts +1 -0
  157. package/apps/core/src/domain/tasksManager/tasksManagerDomain.d.ts +7 -7
  158. package/apps/core/src/domain/tree/helpers/elementAncestors.d.ts +2 -2
  159. package/apps/core/src/domain/tree/helpers/getDefaultElement.d.ts +3 -3
  160. package/apps/core/src/domain/tree/helpers/handleRemovedLibraries.d.ts +3 -3
  161. package/apps/core/src/domain/tree/helpers/treeDataValidation.d.ts +3 -3
  162. package/apps/core/src/domain/tree/treeDomain.d.ts +10 -10
  163. package/apps/core/src/domain/user/userDomain.d.ts +10 -10
  164. package/apps/core/src/domain/value/_types.d.ts +5 -5
  165. package/apps/core/src/domain/value/helpers/areValuesIdentical.d.ts +1 -1
  166. package/apps/core/src/domain/value/helpers/canSaveRecordValue.d.ts +6 -6
  167. package/apps/core/src/domain/value/helpers/doesValueExist.d.ts +1 -1
  168. package/apps/core/src/domain/value/helpers/findValue.d.ts +1 -1
  169. package/apps/core/src/domain/value/helpers/formatLogValue.d.ts +6 -6
  170. package/apps/core/src/domain/value/helpers/isEmptyValue.d.ts +1 -1
  171. package/apps/core/src/domain/value/helpers/postDeleteValue.d.ts +6 -6
  172. package/apps/core/src/domain/value/helpers/postSaveValue.d.ts +6 -6
  173. package/apps/core/src/domain/value/helpers/prepareValue.d.ts +6 -6
  174. package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +8 -8
  175. package/apps/core/src/domain/value/helpers/validateValue.d.ts +4 -4
  176. package/apps/core/src/domain/value/tasks/purgeMultipleValues.d.ts +1 -1
  177. package/apps/core/src/domain/value/tasks/saveValueBulk.d.ts +10 -7
  178. package/apps/core/src/domain/value/valueDomain.d.ts +16 -16
  179. package/apps/core/src/domain/versionProfile/versionProfileDomain.d.ts +10 -10
  180. package/apps/core/src/domain/view/viewDomain.d.ts +7 -7
  181. package/apps/core/src/i18nextInit.d.ts +1 -1
  182. package/apps/core/src/infra/apiKey/apiKeyRepo.d.ts +5 -5
  183. package/apps/core/src/infra/application/applicationRepo.d.ts +3 -3
  184. package/apps/core/src/infra/attribute/attributeRepo.d.ts +4 -4
  185. package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +2 -2
  186. package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +2 -2
  187. package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +2 -2
  188. package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +1 -1
  189. package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +2 -2
  190. package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +1 -1
  191. package/apps/core/src/infra/automation/automationRuleRepo.d.ts +23 -0
  192. package/apps/core/src/infra/automation/index.d.ts +1 -0
  193. package/apps/core/src/infra/cache/cacheService.d.ts +2 -2
  194. package/apps/core/src/infra/cache/diskService.d.ts +1 -1
  195. package/apps/core/src/infra/cache/redis.d.ts +1 -1
  196. package/apps/core/src/infra/db/_types.d.ts +1 -1
  197. package/apps/core/src/infra/db/db.d.ts +1 -1
  198. package/apps/core/src/infra/db/dbService.d.ts +2 -2
  199. package/apps/core/src/infra/db/dbUtils.d.ts +4 -4
  200. package/apps/core/src/infra/db/helpers/runMigrationFiles.d.ts +1 -1
  201. package/apps/core/src/infra/db/migrations/000-init/index.d.ts +3 -3
  202. package/apps/core/src/infra/db/migrations/000-init/systemAttributes.d.ts +1 -1
  203. package/apps/core/src/infra/db/migrations/001-delInstallApps.d.ts +1 -1
  204. package/apps/core/src/infra/db/migrations/002-previewsSettings.d.ts +4 -4
  205. package/apps/core/src/infra/db/migrations/003-filesMetadata.d.ts +3 -3
  206. package/apps/core/src/infra/db/migrations/004-formsLabels.d.ts +2 -2
  207. package/apps/core/src/infra/db/migrations/005-viewSortToArray.d.ts +1 -1
  208. package/apps/core/src/infra/db/migrations/007-updateHexColor.d.ts +1 -1
  209. package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +2 -2
  210. package/apps/core/src/infra/db/migrations/013-passwordAttributeMaskValue.d.ts +1 -1
  211. package/apps/core/src/infra/db/migrations/014-notificationsCollection.d.ts +1 -1
  212. package/apps/core/src/infra/db/migrations/019-automationRuleCollection.d.ts +7 -0
  213. package/apps/core/src/infra/elasticsearch/elasticsearchClient.d.ts +1 -1
  214. package/apps/core/src/infra/elasticsearch/elasticsearchService.d.ts +1 -1
  215. package/apps/core/src/infra/filesManager/filesManagerRepo.d.ts +4 -4
  216. package/apps/core/src/infra/form/formRepo.d.ts +6 -6
  217. package/apps/core/src/infra/globalSettings/globalSettingsRepo.d.ts +3 -3
  218. package/apps/core/src/infra/indexation/helpers/getSearchQuery.d.ts +1 -1
  219. package/apps/core/src/infra/indexation/indexationService.d.ts +3 -3
  220. package/apps/core/src/infra/library/libraryRepo.d.ts +2 -2
  221. package/apps/core/src/infra/log/logRepo.d.ts +4 -4
  222. package/apps/core/src/infra/mailer/mailer.d.ts +1 -1
  223. package/apps/core/src/infra/mailer/mailerService.d.ts +3 -3
  224. package/apps/core/src/infra/notification/notificationRepo.d.ts +3 -3
  225. package/apps/core/src/infra/permission/permissionRepo.d.ts +1 -1
  226. package/apps/core/src/infra/plugins/pluginsRepo.d.ts +1 -1
  227. package/apps/core/src/infra/record/helpers/getClassifyingFiltersVariableQueryPart.d.ts +2 -2
  228. package/apps/core/src/infra/record/helpers/getSearchVariablesQueryPart.d.ts +1 -1
  229. package/apps/core/src/infra/record/recordRepo.d.ts +5 -5
  230. package/apps/core/src/infra/task/taskRepo.d.ts +6 -6
  231. package/apps/core/src/infra/tree/_types.d.ts +1 -1
  232. package/apps/core/src/infra/tree/treeRepo.d.ts +5 -5
  233. package/apps/core/src/infra/userData/userDataRepo.d.ts +2 -2
  234. package/apps/core/src/infra/value/valueRepo.d.ts +5 -5
  235. package/apps/core/src/infra/versionProfile/versionProfileRepo.d.ts +6 -6
  236. package/apps/core/src/infra/view/_types.d.ts +5 -5
  237. package/apps/core/src/interface/cli.d.ts +1 -1
  238. package/apps/core/src/interface/filesManager.d.ts +1 -1
  239. package/apps/core/src/interface/helpers/handleGraphqlError.d.ts +3 -3
  240. package/apps/core/src/interface/indexationManager.d.ts +1 -1
  241. package/apps/core/src/interface/logsCollector.d.ts +1 -1
  242. package/apps/core/src/interface/server.d.ts +7 -7
  243. package/apps/core/src/interface/tasksManager.d.ts +1 -1
  244. package/apps/core/src/utils/configureDayjs.d.ts +1 -1
  245. package/apps/core/src/utils/dataloader.d.ts +1 -1
  246. package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +2 -2
  247. package/apps/core/src/utils/helpers/getValuesToDisplay.d.ts +1 -1
  248. package/apps/core/src/utils/logger/logger.d.ts +1 -1
  249. package/apps/core/src/utils/utils.d.ts +3 -3
  250. package/apps/core/tsconfig.types.tsbuildinfo +1 -1
  251. package/libs/utils/src/types/events.d.ts +3 -0
  252. package/package.json +2 -2
@@ -244,25 +244,30 @@ export declare enum AttributesSortableFields {
244
244
  multiple_values = "multiple_values",
245
245
  type = "type"
246
246
  }
247
+ export declare enum AutomationRuleSortableFields {
248
+ id = "id"
249
+ }
250
+ export type AutomationRulesFiltersInput = {
251
+ id?: InputMaybe<Scalars['ID']['input']>;
252
+ label?: InputMaybe<Scalars['String']['input']>;
253
+ };
254
+ export type AutomationRulesSortInput = {
255
+ field: AutomationRuleSortableFields;
256
+ order?: InputMaybe<SortOrder>;
257
+ };
247
258
  export declare enum AvailableLanguage {
248
259
  en = "en",
249
260
  fr = "fr"
250
261
  }
251
- export type CampaignToRenew = {
252
- endDate: Scalars['String']['input'];
253
- id: Scalars['String']['input'];
254
- startDate: Scalars['String']['input'];
255
- };
256
- export type CampaignToUpdateDates = {
257
- endDate: Scalars['String']['input'];
258
- id: Scalars['String']['input'];
259
- startDate: Scalars['String']['input'];
260
- };
261
262
  export type ChildrenAsRecordValuePermissionFilterInput = {
262
263
  action: RecordPermissionsActions;
263
264
  attributeId: Scalars['ID']['input'];
264
265
  libraryId: Scalars['ID']['input'];
265
266
  };
267
+ export type CreateAutomationRuleInput = {
268
+ description?: InputMaybe<Scalars['SystemTranslationOptional']['input']>;
269
+ label: Scalars['SystemTranslation']['input'];
270
+ };
266
271
  export type CreateRecordDataInput = {
267
272
  values?: InputMaybe<Array<ValueBatchInput>>;
268
273
  version?: InputMaybe<Array<ValueVersionInput>>;
@@ -432,6 +437,8 @@ export declare enum LogAction {
432
437
  APP_SAVE = "APP_SAVE",
433
438
  ATTRIBUTE_DELETE = "ATTRIBUTE_DELETE",
434
439
  ATTRIBUTE_SAVE = "ATTRIBUTE_SAVE",
440
+ AUTOMATION_RULE_CREATE = "AUTOMATION_RULE_CREATE",
441
+ AUTOMATION_RULE_UPDATE = "AUTOMATION_RULE_UPDATE",
435
442
  CONFIG_IMPORT_END = "CONFIG_IMPORT_END",
436
443
  CONFIG_IMPORT_START = "CONFIG_IMPORT_START",
437
444
  DATA_IMPORT_END = "DATA_IMPORT_END",
@@ -484,6 +491,7 @@ export declare enum LogSortableField {
484
491
  export type LogTopicFilterInput = {
485
492
  apiKey?: InputMaybe<Scalars['String']['input']>;
486
493
  attribute?: InputMaybe<Scalars['String']['input']>;
494
+ automationRule?: InputMaybe<Scalars['String']['input']>;
487
495
  filename?: InputMaybe<Scalars['String']['input']>;
488
496
  library?: InputMaybe<Scalars['String']['input']>;
489
497
  permission?: InputMaybe<LogTopicPermissionFilterInput>;
@@ -499,10 +507,6 @@ export type LogTopicRecordFilterInput = {
499
507
  id?: InputMaybe<Scalars['String']['input']>;
500
508
  libraryId?: InputMaybe<Scalars['String']['input']>;
501
509
  };
502
- export type MapValueInput = {
503
- after?: InputMaybe<Scalars['ID']['input']>;
504
- before?: InputMaybe<Scalars['ID']['input']>;
505
- };
506
510
  export declare enum MultiDisplayOption {
507
511
  avatar = "avatar",
508
512
  badge_qty = "badge_qty",
@@ -590,6 +594,7 @@ export declare enum PermissionsActions {
590
594
  admin_import_config_clear_database = "admin_import_config_clear_database",
591
595
  admin_library = "admin_library",
592
596
  admin_list_plugins = "admin_list_plugins",
597
+ admin_manage_automation = "admin_manage_automation",
593
598
  admin_manage_global_preferences = "admin_manage_global_preferences",
594
599
  create_record = "create_record",
595
600
  delete_record = "delete_record",
@@ -697,24 +702,13 @@ export type RecordsPagination = {
697
702
  limit: Scalars['Int']['input'];
698
703
  offset?: InputMaybe<Scalars['Int']['input']>;
699
704
  };
700
- export type ReportFramingAttributeFilterItemInput = {
701
- attributeId: Scalars['String']['input'];
702
- values: Array<ReportFramingAttributeFilterValueItemInput>;
703
- withEmptyValues?: InputMaybe<Scalars['Boolean']['input']>;
704
- };
705
- export type ReportFramingAttributeFilterValueItemInput = {
706
- formattedValue?: InputMaybe<Scalars['String']['input']>;
707
- rawValue: Scalars['String']['input'];
708
- };
709
- export type ReportFramingContentInput = {
710
- filters?: InputMaybe<ReportFramingFiltersInput>;
705
+ export type SaveValueBulkMappingInput = {
706
+ dependenciesFilters?: InputMaybe<Array<InputMaybe<RecordFilterInput>>>;
707
+ values: Array<SaveValueBulkMappingValueInput>;
711
708
  };
712
- export type ReportFramingFiltersInput = {
713
- /** only for excel header filter display */
714
- attributes?: InputMaybe<Array<ReportFramingAttributeFilterItemInput>>;
715
- campaigns?: InputMaybe<Array<RecordFilterInput>>;
716
- categories?: InputMaybe<Array<Scalars['String']['input']>>;
717
- search?: InputMaybe<Scalars['String']['input']>;
709
+ export type SaveValueBulkMappingValueInput = {
710
+ after?: InputMaybe<Scalars['ID']['input']>;
711
+ before?: InputMaybe<Scalars['ID']['input']>;
718
712
  };
719
713
  export type SheetInput = {
720
714
  keyIndex?: InputMaybe<Scalars['Int']['input']>;
@@ -779,18 +773,12 @@ export declare enum TaskStatus {
779
773
  }
780
774
  export declare enum TaskType {
781
775
  EXPORT = "EXPORT",
782
- FRAMING_REPORT = "FRAMING_REPORT",
783
776
  IMPORT_CONFIG = "IMPORT_CONFIG",
784
777
  IMPORT_DATA = "IMPORT_DATA",
785
778
  INDEXATION = "INDEXATION",
786
779
  PURGE_MULTIPLE_VALUES = "PURGE_MULTIPLE_VALUES",
787
- RENEW_CAMPAIGNS = "RENEW_CAMPAIGNS",
788
780
  SAVE_VALUE_BULK = "SAVE_VALUE_BULK"
789
781
  }
790
- export type ThematicToRenew = {
791
- campaignId: Scalars['String']['input'];
792
- thematicId: Scalars['String']['input'];
793
- };
794
782
  export declare enum TreeBehavior {
795
783
  files = "files",
796
784
  standard = "standard"
@@ -851,6 +839,12 @@ export declare enum TreesSortableFields {
851
839
  id = "id",
852
840
  system = "system"
853
841
  }
842
+ export type UpdateAutomationRuleInput = {
843
+ active?: InputMaybe<Scalars['Boolean']['input']>;
844
+ description?: InputMaybe<Scalars['SystemTranslationOptional']['input']>;
845
+ id: Scalars['ID']['input'];
846
+ label?: InputMaybe<Scalars['SystemTranslation']['input']>;
847
+ };
854
848
  export type UploadFiltersInput = {
855
849
  uid?: InputMaybe<Scalars['String']['input']>;
856
850
  userId?: InputMaybe<Scalars['ID']['input']>;
@@ -914,6 +908,7 @@ export type ViewDisplayInput = {
914
908
  type: ViewTypes;
915
909
  };
916
910
  export type ViewInput = {
911
+ /** The whoAmI column should never be included in attributes because is already hard-coded to be present */
917
912
  attributes?: InputMaybe<Array<Scalars['String']['input']>>;
918
913
  color?: InputMaybe<Scalars['String']['input']>;
919
914
  description?: InputMaybe<Scalars['SystemTranslationOptional']['input']>;
@@ -927,6 +922,7 @@ export type ViewInput = {
927
922
  valuesVersions?: InputMaybe<Array<ViewValuesVersionInput>>;
928
923
  };
929
924
  export type ViewInputPartial = {
925
+ /** The whoAmI column should never be included in attributes because is already hard-coded to be present */
930
926
  attributes?: InputMaybe<Array<Scalars['String']['input']>>;
931
927
  color?: InputMaybe<Scalars['String']['input']>;
932
928
  description?: InputMaybe<Scalars['SystemTranslationOptional']['input']>;
@@ -1023,6 +1019,45 @@ export type MeQuery = {
1023
1019
  id: string;
1024
1020
  } | null;
1025
1021
  };
1022
+ export type GetAutomationRulesQueryVariables = Exact<{
1023
+ [key: string]: never;
1024
+ }>;
1025
+ export type GetAutomationRulesQuery = {
1026
+ automationRules: {
1027
+ list: Array<{
1028
+ id: string;
1029
+ label: any;
1030
+ description?: any | null;
1031
+ active: boolean;
1032
+ createdAt: number;
1033
+ createdBy: string;
1034
+ modifiedAt: number;
1035
+ modifiedBy: string;
1036
+ }>;
1037
+ };
1038
+ };
1039
+ export type CreateAutomationRuleMutationVariables = Exact<{
1040
+ rule: CreateAutomationRuleInput;
1041
+ }>;
1042
+ export type CreateAutomationRuleMutation = {
1043
+ createAutomationRule: {
1044
+ id: string;
1045
+ label: any;
1046
+ modifiedAt: number;
1047
+ };
1048
+ };
1049
+ export type UpdateAutomationRuleMutationVariables = Exact<{
1050
+ rule: UpdateAutomationRuleInput;
1051
+ }>;
1052
+ export type UpdateAutomationRuleMutation = {
1053
+ updateAutomationRule: {
1054
+ id: string;
1055
+ label: any;
1056
+ description?: any | null;
1057
+ active: boolean;
1058
+ modifiedAt: number;
1059
+ };
1060
+ };
1026
1061
  export type GetRecordsLinkValuesPropertyQueryVariables = Exact<{
1027
1062
  library: Scalars['ID']['input'];
1028
1063
  filters?: InputMaybe<Array<InputMaybe<RecordFilterInput>> | InputMaybe<RecordFilterInput>>;
@@ -1191,6 +1226,9 @@ export declare const GetApiKeysDocument: import("graphql").DocumentNode;
1191
1226
  export declare const DeleteApiKeyDocument: import("graphql").DocumentNode;
1192
1227
  export declare const SaveAttributeDocument: import("graphql").DocumentNode;
1193
1228
  export declare const MeDocument: import("graphql").DocumentNode;
1229
+ export declare const GetAutomationRulesDocument: import("graphql").DocumentNode;
1230
+ export declare const CreateAutomationRuleDocument: import("graphql").DocumentNode;
1231
+ export declare const UpdateAutomationRuleDocument: import("graphql").DocumentNode;
1194
1232
  export declare const GetRecordsLinkValuesPropertyDocument: import("graphql").DocumentNode;
1195
1233
  export declare const SaveLibraryDocument: import("graphql").DocumentNode;
1196
1234
  export declare const DeleteLibraryDocument: import("graphql").DocumentNode;
@@ -1209,6 +1247,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
1209
1247
  DeleteApiKey(variables: DeleteApiKeyMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<DeleteApiKeyMutation>;
1210
1248
  SaveAttribute(variables?: SaveAttributeMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<SaveAttributeMutation>;
1211
1249
  Me(variables?: MeQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<MeQuery>;
1250
+ GetAutomationRules(variables?: GetAutomationRulesQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<GetAutomationRulesQuery>;
1251
+ CreateAutomationRule(variables: CreateAutomationRuleMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<CreateAutomationRuleMutation>;
1252
+ UpdateAutomationRule(variables: UpdateAutomationRuleMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<UpdateAutomationRuleMutation>;
1212
1253
  GetRecordsLinkValuesProperty(variables: GetRecordsLinkValuesPropertyQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<GetRecordsLinkValuesPropertyQuery>;
1213
1254
  SaveLibrary(variables?: SaveLibraryMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<SaveLibraryMutation>;
1214
1255
  DeleteLibrary(variables?: DeleteLibraryMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<DeleteLibraryMutation>;
@@ -1,10 +1,14 @@
1
+ import { type IQueryInfos } from '../../../../../../_types/queryInfos';
1
2
  import { type IEventsManagerDomain } from '../../../../../../domain/eventsManager/eventsManagerDomain';
2
3
  export interface IFakeDomain {
3
- execWorker({ fromTask }: {
4
+ execWorker({ fromTask, ctx }: {
4
5
  fromTask: string;
5
- }): void;
6
+ ctx: IQueryInfos;
7
+ }): Promise<void>;
8
+ execCronTask(): Promise<void>;
6
9
  startPlugin(): void;
7
10
  getPluginStarted(): boolean;
11
+ getCronTaskExecuted(): boolean;
8
12
  }
9
13
  interface IDeps {
10
14
  'core.domain.eventsManager': IEventsManagerDomain;
@@ -1,8 +1,8 @@
1
1
  import { type i18n } from 'i18next';
2
- import { type IPluginInitModule } from '_types/plugin';
2
+ import { type IPluginInitModule } from '../../../../../_types/plugin';
3
3
  import { type IValueRepo } from '../../../../../infra/value/valueRepo';
4
4
  import { type IAttributeDomain } from '../../../../../domain/attribute/attributeDomain';
5
- import { type ITasksManagerDomain } from 'domain/tasksManager/tasksManagerDomain';
5
+ import { type ITasksManagerDomain } from '../../../../../domain/tasksManager/tasksManagerDomain';
6
6
  import { type IFakeDomain } from './domain/fakeDomain';
7
7
  import { type INotificationDomain } from '../../../../../domain/notification/notificationDomain';
8
8
  interface IDeps {
@@ -3,11 +3,11 @@ import { type Client as GraphqlWsClient } from 'graphql-ws';
3
3
  import { type AxiosResponse } from 'axios';
4
4
  import FormData from 'form-data';
5
5
  import { getSdk } from '../_gqlTypes';
6
- import { type ActionsListConfig } from '_types/actionsList';
7
- import { type ITreeElement } from '_types/tree';
6
+ import { type ActionsListConfig } from '../../../_types/actionsList';
7
+ import { type ITreeElement } from '../../../_types/tree';
8
8
  import { AttributeFormats, type AttributeTypes, type IAttributeVersionsConf, type IEmbeddedAttribute } from '../../../_types/attribute';
9
- import { type ITreePermissionsDependentValuesConf } from '_types/permissions';
10
- import { type ISaveValue } from '_types/value';
9
+ import { type ITreePermissionsDependentValuesConf } from '../../../_types/permissions';
10
+ import { type ISaveValue } from '../../../_types/value';
11
11
  export interface IGlobalThis {
12
12
  guestUser: IE2EUserParams;
13
13
  nonAdminUser: IE2EUserParams;
@@ -42,6 +42,9 @@ export declare const adminUserSdk: {
42
42
  DeleteApiKey(variables: import("../_gqlTypes").DeleteApiKeyMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteApiKeyMutation>;
43
43
  SaveAttribute(variables?: import("../_gqlTypes").SaveAttributeMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveAttributeMutation>;
44
44
  Me(variables?: import("../_gqlTypes").MeQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").MeQuery>;
45
+ GetAutomationRules(variables?: import("../_gqlTypes").GetAutomationRulesQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetAutomationRulesQuery>;
46
+ CreateAutomationRule(variables: import("../_gqlTypes").CreateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").CreateAutomationRuleMutation>;
47
+ UpdateAutomationRule(variables: import("../_gqlTypes").UpdateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").UpdateAutomationRuleMutation>;
45
48
  GetRecordsLinkValuesProperty(variables: import("../_gqlTypes").GetRecordsLinkValuesPropertyQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetRecordsLinkValuesPropertyQuery>;
46
49
  SaveLibrary(variables?: import("../_gqlTypes").SaveLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveLibraryMutation>;
47
50
  DeleteLibrary(variables?: import("../_gqlTypes").DeleteLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteLibraryMutation>;
@@ -60,6 +63,9 @@ export declare const guestUserSdk: {
60
63
  DeleteApiKey(variables: import("../_gqlTypes").DeleteApiKeyMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteApiKeyMutation>;
61
64
  SaveAttribute(variables?: import("../_gqlTypes").SaveAttributeMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveAttributeMutation>;
62
65
  Me(variables?: import("../_gqlTypes").MeQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").MeQuery>;
66
+ GetAutomationRules(variables?: import("../_gqlTypes").GetAutomationRulesQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetAutomationRulesQuery>;
67
+ CreateAutomationRule(variables: import("../_gqlTypes").CreateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").CreateAutomationRuleMutation>;
68
+ UpdateAutomationRule(variables: import("../_gqlTypes").UpdateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").UpdateAutomationRuleMutation>;
63
69
  GetRecordsLinkValuesProperty(variables: import("../_gqlTypes").GetRecordsLinkValuesPropertyQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetRecordsLinkValuesPropertyQuery>;
64
70
  SaveLibrary(variables?: import("../_gqlTypes").SaveLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveLibraryMutation>;
65
71
  DeleteLibrary(variables?: import("../_gqlTypes").DeleteLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteLibraryMutation>;
@@ -78,6 +84,9 @@ export declare const nonAdminUserSdk: {
78
84
  DeleteApiKey(variables: import("../_gqlTypes").DeleteApiKeyMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteApiKeyMutation>;
79
85
  SaveAttribute(variables?: import("../_gqlTypes").SaveAttributeMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveAttributeMutation>;
80
86
  Me(variables?: import("../_gqlTypes").MeQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").MeQuery>;
87
+ GetAutomationRules(variables?: import("../_gqlTypes").GetAutomationRulesQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetAutomationRulesQuery>;
88
+ CreateAutomationRule(variables: import("../_gqlTypes").CreateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").CreateAutomationRuleMutation>;
89
+ UpdateAutomationRule(variables: import("../_gqlTypes").UpdateAutomationRuleMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").UpdateAutomationRuleMutation>;
81
90
  GetRecordsLinkValuesProperty(variables: import("../_gqlTypes").GetRecordsLinkValuesPropertyQueryVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").GetRecordsLinkValuesPropertyQuery>;
82
91
  SaveLibrary(variables?: import("../_gqlTypes").SaveLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").SaveLibraryMutation>;
83
92
  DeleteLibrary(variables?: import("../_gqlTypes").DeleteLibraryMutationVariables, requestHeaders?: HeadersInit, signal?: RequestInit["signal"]): Promise<import("../_gqlTypes").DeleteLibraryMutation>;
@@ -1,6 +1,6 @@
1
1
  import { type AwilixContainer } from 'awilix';
2
2
  import { type IConfig } from '../../../_types/config';
3
- import { type IDbUtils } from 'infra/db/dbUtils';
3
+ import { type IDbUtils } from '../../../infra/db/dbUtils';
4
4
  export declare const init: (conf: IConfig) => Promise<{
5
5
  coreContainer: AwilixContainer;
6
6
  dbUtils: IDbUtils;
@@ -1,4 +1,4 @@
1
- import { type IPubSubNotificationData } from '_types/eventsManager';
1
+ import { type IPubSubNotificationData } from '../../../_types/eventsManager';
2
2
  import { type Client as GraphqlWsClient } from 'graphql-ws';
3
3
  import { type IMailpitMsgFull } from './mailpitUtils';
4
4
  export declare const waitWebSocketNotification: (graphqlClient: GraphqlWsClient, taskId: string) => Promise<{
@@ -1,11 +1,14 @@
1
- import { type ILibraryRepo } from 'infra/library/libraryRepo';
2
- import { type IPermissionRepo } from 'infra/permission/permissionRepo';
3
- import { type INotificationRepo } from 'infra/notification/notificationRepo';
4
- import { type IRecordRepo } from 'infra/record/recordRepo';
5
- import { type ITreeRepo } from 'infra/tree/treeRepo';
1
+ import { type ILibraryRepo } from '../../../infra/library/libraryRepo';
2
+ import { type IPermissionRepo } from '../../../infra/permission/permissionRepo';
3
+ import { type INotificationRepo } from '../../../infra/notification/notificationRepo';
4
+ import { type IRecordRepo } from '../../../infra/record/recordRepo';
5
+ import { type ITreeRepo } from '../../../infra/tree/treeRepo';
6
+ import { type IAutomationRuleRepo } from '../../../infra/automation/automationRuleRepo';
6
7
  export declare const getLibraryRepo: () => ILibraryRepo;
7
8
  export declare const getRecordRepo: () => IRecordRepo;
8
9
  export declare const getTreeRepo: () => ITreeRepo;
9
10
  export declare const getPermissionRepo: () => IPermissionRepo;
10
11
  export declare const getNotificationRepo: () => INotificationRepo;
12
+ export declare const getAutomationRuleRepo: () => IAutomationRuleRepo;
13
+ export declare const clearAllCollectionDocuments: (collectionName: string) => Promise<void>;
11
14
  export * from '../integrationTestUtils';
@@ -1,2 +1,2 @@
1
- import { type IGlobalSettings } from '_types/globalSettings';
1
+ import { type IGlobalSettings } from '../../_types/globalSettings';
2
2
  export declare const mockGlobalSettings: IGlobalSettings;
@@ -1,4 +1,4 @@
1
- import { type ILibrary } from '_types/library';
1
+ import { type ILibrary } from '../../_types/library';
2
2
  export declare const mockLibrary: ILibrary;
3
3
  export declare const mockLibraryFiles: ILibrary;
4
4
  export declare const mockLibraryDirectories: MandatoryId<ILibrary>;
@@ -1,2 +1,2 @@
1
- import { type IPluginInfos } from '_types/plugin';
1
+ import { type IPluginInfos } from '../../_types/plugin';
2
2
  export declare const mockPlugin: IPluginInfos;
@@ -1,3 +1,3 @@
1
- import { type IRecord } from '_types/record';
1
+ import { type IRecord } from '../../_types/record';
2
2
  export declare const mockRecord: IRecord;
3
3
  export declare const mockFileRecord: IRecord;
@@ -1,3 +1,3 @@
1
- import { type IQueryInfos } from '_types/queryInfos';
1
+ import { type IQueryInfos } from '../../_types/queryInfos';
2
2
  export declare const mockCtx: IQueryInfos;
3
3
  export declare const mockSystemQueryContext: IQueryInfos;
@@ -1,2 +1,2 @@
1
- import { type IStandardValue } from '_types/value';
1
+ import { type IStandardValue } from '../../_types/value';
2
2
  export declare const mockStandardValue: IStandardValue;
@@ -1,2 +1,2 @@
1
- import { type IVersionProfile } from '_types/versionProfile';
1
+ import { type IVersionProfile } from '../../_types/versionProfile';
2
2
  export declare const mockVersionProfile: IVersionProfile;
@@ -1,4 +1,4 @@
1
- import { type IQueryInfos } from '_types/queryInfos';
1
+ import { type IQueryInfos } from './queryInfos';
2
2
  import { type IAttribute } from './attribute';
3
3
  import { type ISystemTranslation } from './systemTranslation';
4
4
  import { type IValue } from './value';
@@ -0,0 +1,21 @@
1
+ import { type ISystemTranslation } from './systemTranslation';
2
+ export type IAutomationRule = ICoreEntity & {
3
+ id: string;
4
+ label: ISystemTranslation;
5
+ description?: ISystemTranslation;
6
+ active: boolean;
7
+ createdAt?: number;
8
+ createdBy?: string;
9
+ modifiedAt?: number;
10
+ modifiedBy?: string;
11
+ };
12
+ export type ICreateAutomationRule = {
13
+ label: ISystemTranslation;
14
+ description?: ISystemTranslation;
15
+ };
16
+ export type IUpdateAutomationRule = {
17
+ id: string;
18
+ label?: ISystemTranslation;
19
+ description?: ISystemTranslation;
20
+ active?: boolean;
21
+ };
@@ -0,0 +1,14 @@
1
+ import { type IQueryInfos } from './queryInfos';
2
+ import { type ITaskCreatePayload } from './tasksManager';
3
+ /**
4
+ * Should match https://github.com/node-cron/node-cron/blob/main/README.md#cron-syntax
5
+ *
6
+ * Note that 'never' is a special value that can be used to indicate that the task should never be scheduled.
7
+ * This can be useful for tasks that are conditionally scheduled based on configuration or other factors.
8
+ */
9
+ export type CronString = string | 'never';
10
+ export type RegisterCronTask = {
11
+ schedule: CronString;
12
+ name: string;
13
+ createTask: (ctx: IQueryInfos) => Promise<ITaskCreatePayload>;
14
+ };
@@ -91,6 +91,7 @@ export declare enum Errors {
91
91
  UNKNOWN_APPLICATION = "UNKNOWN_APPLICATION",
92
92
  UNKNOWN_ATTRIBUTE = "UNKNOWN_ATTRIBUTE",
93
93
  UNKNOWN_ATTRIBUTES = "UNKNOWN_ATTRIBUTES",
94
+ UNKNOWN_AUTOMATION_RULE = "UNKNOWN_AUTOMATION_RULE",
94
95
  UNKNOWN_ELEMENT = "UNKNOWN_ELEMENT",
95
96
  UNKNOWN_FORM = "UNKNOWN_FORM",
96
97
  UNKNOWN_FORM_ATTRIBUTES = "UNKNOWN_FORM_ATTRIBUTES",
@@ -9,6 +9,7 @@ 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';
12
13
  type OnlyObject<T> = T extends object ? T : never;
13
14
  /**
14
15
  * Maybe move all DBPayloadData types in @leav/utils type to allow event consumers outside core to use them
@@ -30,6 +31,8 @@ interface IDBPayloadDataMap {
30
31
  [EventAction.API_KEY_DELETE]: IApiKey;
31
32
  [EventAction.APP_SAVE]: IApplication;
32
33
  [EventAction.APP_DELETE]: IApplication;
34
+ [EventAction.AUTOMATION_RULE_CREATE]: IAutomationRule;
35
+ [EventAction.AUTOMATION_RULE_UPDATE]: IAutomationRule;
33
36
  [EventAction.GLOBAL_SETTINGS_SAVE]: IGlobalSettings;
34
37
  [EventAction.LIBRARY_SAVE]: ILibraryDbEvent;
35
38
  [EventAction.LIBRARY_DELETE]: ILibraryDbEvent;
@@ -3,6 +3,7 @@ import { type IAppGraphQLSchema } from './graphql';
3
3
  import { type PermissionTypes } from './permissions';
4
4
  import { type PluginRegisterRoute } from './endpoint';
5
5
  import { type AuthPostOidcLoginCallback } from './auth';
6
+ import { type RegisterCronTask } from './cronTask';
6
7
  export interface IExtensionPoints {
7
8
  [name: string]: (...args: any[]) => void;
8
9
  }
@@ -35,4 +36,8 @@ export interface IExtensionPointsFunctions extends IExtensionPoints {
35
36
  * Useful to change user settings or to log some information after the user is authenticated but before the session is created.
36
37
  */
37
38
  registerAuthPostOidcLoginCallback: (callback: AuthPostOidcLoginCallback) => void;
39
+ /**
40
+ * Register a cron task to be executed on a schedule defined by the `schedule` property of `registerCronTask`.
41
+ */
42
+ registerCronTask: (registerCronTask: RegisterCronTask) => void;
38
43
  }
@@ -1,4 +1,4 @@
1
- import { type IQueryInfos } from '_types/queryInfos';
1
+ import { type IQueryInfos } from './queryInfos';
2
2
  export interface IMigration {
3
3
  run(ctx: IQueryInfos): Promise<void>;
4
4
  }
@@ -86,6 +86,7 @@ export declare enum AdminPermissionsActions {
86
86
  EDIT_GLOBAL_SETTINGS = "admin_edit_global_settings",
87
87
  LIST_PLUGINS = "admin_list_plugins",
88
88
  ACCESS_LOGS = "admin_access_logs",
89
+ MANAGE_AUTOMATION = "admin_manage_automation",
89
90
  IMPORT_CONFIG_CLEAR_DATABASE = "admin_import_config_clear_database"
90
91
  }
91
92
  export type PermissionsActions = LibraryPermissionsActions | RecordPermissionsActions | RecordAttributePermissionsActions | AdminPermissionsActions | AttributePermissionsActions | AttributeDependentValuesPermissionsActions | TreePermissionsActions | TreeNodePermissionsActions | ApplicationPermissionsActions;
@@ -1,5 +1,5 @@
1
1
  import type DataLoader from 'dataloader';
2
- import type LeavError from 'errors/LeavError';
2
+ import type LeavError from '../errors/LeavError';
3
3
  import { type IDbProfiler } from './dbProfiler';
4
4
  import { type IValueVersion } from './value';
5
5
  export interface IQueryInfos {
@@ -1,4 +1,4 @@
1
- import { type IAttributeWithRevLink } from 'infra/attributeTypes/attributeTypesRepo';
1
+ import { type IAttributeWithRevLink } from '../infra/attributeTypes/attributeTypesRepo';
2
2
  import { type ILibrary } from './library';
3
3
  import { type IPreview } from './preview';
4
4
  import { type IValue } from './value';
@@ -1,8 +1,8 @@
1
1
  import { type AnyPrimitive, type Override } from '@leav/utils';
2
- import { type IDbEdge } from 'infra/db/_types';
2
+ import { type IDbEdge } from '../infra/db/_types';
3
3
  import { type IRecord } from './record';
4
4
  import { type ITreeNode, type TreePath } from './tree';
5
- import { type EMPTY_VALUE } from 'infra/value/valueRepo';
5
+ import { type EMPTY_VALUE } from '../infra/value/valueRepo';
6
6
  import { type AttributeTypes } from './attribute';
7
7
  export type IValueFromGql = Override<Omit<IValue, 'version'>, {
8
8
  value: IValue['payload'];
@@ -1,18 +1,18 @@
1
- import { type ICoreSubscriptionsHelpersApp } from 'app/core/helpers/subscriptions';
2
- import { type IGraphqlAppModule, type IGraphqlApp } from 'app/graphql/graphqlApp';
3
- import { type InitQueryContextFunc } from 'app/helpers/initQueryContext';
4
- import { type IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
5
- import { type IPermissionDomain } from 'domain/permission/permissionDomain';
6
- import { type IRecordDomain } from 'domain/record/recordDomain';
7
- import { type IUtils } from 'utils/utils';
1
+ import { type ICoreSubscriptionsHelpersApp } from '../core/helpers/subscriptions';
2
+ import { type IGraphqlAppModule, type IGraphqlApp } from '../graphql/graphqlApp';
3
+ import { type InitQueryContextFunc } from '../helpers/initQueryContext';
4
+ import { type IEventsManagerDomain } from '../../domain/eventsManager/eventsManagerDomain';
5
+ import { type IPermissionDomain } from '../../domain/permission/permissionDomain';
6
+ import { type IRecordDomain } from '../../domain/record/recordDomain';
7
+ import { type IUtils } from '../../utils/utils';
8
8
  import { type ILogger } from '@leav/logger';
9
9
  import { type IAppStudioDomain } from '../../domain/application/appStudioDomain';
10
10
  import { type IApplicationDomain } from '../../domain/application/applicationDomain';
11
11
  import { type ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
12
12
  import { type IAuthApp } from '../auth/authApp';
13
13
  import { type IGlobalSettingsDomain } from '../../domain/globalSettings/globalSettingsDomain';
14
- import { type IServerRouteAppModule } from 'interface/server';
15
- import { type IConfig } from '_types/config';
14
+ import { type IServerRouteAppModule } from '../../interface/server';
15
+ import { type IConfig } from '../../_types/config';
16
16
  export type IApplicationApp = IGraphqlAppModule & IServerRouteAppModule;
17
17
  export interface IApplicationAppDeps {
18
18
  'core.app.graphql': IGraphqlApp;
@@ -1,9 +1,9 @@
1
- import { type IApiKeyDomain } from 'domain/apiKey/apiKeyDomain';
2
- import { type IRecordDomain } from 'domain/record/recordDomain';
3
- import { type IUserDomain } from 'domain/user/userDomain';
4
- import { type IValueDomain } from 'domain/value/valueDomain';
1
+ import { type IApiKeyDomain } from '../../domain/apiKey/apiKeyDomain';
2
+ import { type IRecordDomain } from '../../domain/record/recordDomain';
3
+ import { type IUserDomain } from '../../domain/user/userDomain';
4
+ import { type IValueDomain } from '../../domain/value/valueDomain';
5
5
  import { type Response } from 'express';
6
- import { type IConfig } from '_types/config';
6
+ import { type IConfig } from '../../_types/config';
7
7
  import { type ITokenUserData } from '../../_types/auth';
8
8
  import { type IRequestWithContext } from '../../_types/express';
9
9
  import { type ILogger } from '@leav/logger';
@@ -12,9 +12,9 @@ import { type InitQueryContextFunc } from '../helpers/initQueryContext';
12
12
  import { type IConvertOIDCIdentifier } from '../helpers/convertOIDCIdentifier';
13
13
  import { type IncomingHttpHeaders } from 'http';
14
14
  import { type IRecordRepo } from '../../infra/record/recordRepo';
15
- import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
16
- import { type IServerRouteAppModule } from 'interface/server';
17
- import { type GetSystemQueryContext } from 'utils/helpers/getSystemQueryContext';
15
+ import { type IGraphqlAppModule } from '../graphql/graphqlApp';
16
+ import { type IServerRouteAppModule } from '../../interface/server';
17
+ import { type GetSystemQueryContext } from '../../utils/helpers/getSystemQueryContext';
18
18
  import { type ISessionRepo } from '../../infra/session/sessionRepo';
19
19
  import { type IExtensionPoints } from '../../_types/extensionPoints';
20
20
  export interface IAuthApp extends IGraphqlAppModule, IServerRouteAppModule {
@@ -1,7 +1,7 @@
1
- import { type IActionsListDomain } from 'domain/actionsList/actionsListDomain';
1
+ import { type IActionsListDomain } from '../../domain/actionsList/actionsListDomain';
2
2
  import { type i18n } from 'i18next';
3
- import { type IAppModule } from '_types/shared';
4
- import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
3
+ import { type IAppModule } from '../../_types/shared';
4
+ import { type IGraphqlAppModule } from '../graphql/graphqlApp';
5
5
  export type ICoreActionListApp = IAppModule & IGraphqlAppModule;
6
6
  interface IDeps {
7
7
  'core.domain.actionsList': IActionsListDomain;
@@ -1,5 +1,5 @@
1
- import { type IApiKeyFilterOptions } from '_types/apiKey';
2
- import { type IPaginationParams, type SortOrder } from '_types/list';
1
+ import { type IApiKeyFilterOptions } from '../../../_types/apiKey';
2
+ import { type IPaginationParams, type SortOrder } from '../../../_types/list';
3
3
  export interface IApiKeysArgs {
4
4
  filters?: IApiKeyFilterOptions;
5
5
  pagination: IPaginationParams;
@@ -1,6 +1,6 @@
1
- import { type IApiKeyDomain } from 'domain/apiKey/apiKeyDomain';
2
- import { type IRecordDomain } from 'domain/record/recordDomain';
3
- import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
1
+ import { type IApiKeyDomain } from '../../../domain/apiKey/apiKeyDomain';
2
+ import { type IRecordDomain } from '../../../domain/record/recordDomain';
3
+ import { type IGraphqlAppModule } from '../../graphql/graphqlApp';
4
4
  export type ICoreVersionProfileApp = IGraphqlAppModule;
5
5
  interface IDeps {
6
6
  'core.domain.apiKey': IApiKeyDomain;