@aristid/leav-types 0.0.7-9ec784a → 0.0.7-a04a265e

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 (119) hide show
  1. package/apps/core/config/default.d.ts +16 -1
  2. package/apps/core/config/development.d.ts +1 -0
  3. package/apps/core/config/test.d.ts +2 -0
  4. package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +1 -0
  5. package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
  6. package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +6 -1
  7. package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
  8. package/apps/core/src/__tests__/integration/globalSetup.d.ts +1 -0
  9. package/apps/core/src/__tests__/integration/globalSetupHook.d.ts +1 -0
  10. package/apps/core/src/__tests__/integration/infra/attributeAdvancedLinkRepo.test.d.ts +1 -0
  11. package/apps/core/src/__tests__/integration/infra/attributeAdvancedRepo.test.d.ts +1 -0
  12. package/apps/core/src/__tests__/integration/infra/attributeSimpleLinkRepo.test.d.ts +1 -0
  13. package/apps/core/src/__tests__/integration/infra/attributeSimpleRepo.test.d.ts +1 -0
  14. package/apps/core/src/__tests__/integration/infra/attributeTreeRepo.test.d.ts +1 -0
  15. package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +7 -0
  16. package/apps/core/src/__tests__/integration/infra/recordRepo.test.d.ts +1 -0
  17. package/apps/core/src/__tests__/integration/infra/treeRepo.test.d.ts +1 -0
  18. package/apps/core/src/__tests__/integration/teardown.d.ts +1 -0
  19. package/apps/core/src/__tests__/mockers/amqp.d.ts +8 -0
  20. package/apps/core/src/__tests__/mockers/logger.d.ts +7 -0
  21. package/apps/core/src/__tests__/mocks/attribute.d.ts +5 -2
  22. package/apps/core/src/__tests__/mocks/cache.d.ts +4 -0
  23. package/apps/core/src/_constants/attributes.d.ts +1 -0
  24. package/apps/core/src/_types/attribute.d.ts +9 -2
  25. package/apps/core/src/_types/config.d.ts +39 -2
  26. package/apps/core/src/_types/dbProfiler.d.ts +20 -1
  27. package/apps/core/src/_types/errors.d.ts +3 -1
  28. package/apps/core/src/_types/events.d.ts +45 -0
  29. package/apps/core/src/_types/forms.d.ts +10 -0
  30. package/apps/core/src/_types/globalSettings.d.ts +2 -0
  31. package/apps/core/src/_types/library.d.ts +12 -1
  32. package/apps/core/src/_types/permissions.d.ts +3 -1
  33. package/apps/core/src/_types/queryInfos.d.ts +6 -1
  34. package/apps/core/src/_types/record.d.ts +4 -4
  35. package/apps/core/src/_types/tree.d.ts +2 -1
  36. package/apps/core/src/_types/value.d.ts +66 -5
  37. package/apps/core/src/_types/views.d.ts +5 -1
  38. package/apps/core/src/app/application/applicationApp.d.ts +3 -7
  39. package/apps/core/src/app/auth/authApp.d.ts +7 -6
  40. package/apps/core/src/app/core/actionListApp.d.ts +2 -4
  41. package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
  42. package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
  43. package/apps/core/src/app/core/coreApp.d.ts +2 -4
  44. package/apps/core/src/app/core/exportApp.d.ts +2 -4
  45. package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
  46. package/apps/core/src/app/core/formApp/formApp.d.ts +6 -5
  47. package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
  48. package/apps/core/src/app/core/importApp.d.ts +2 -4
  49. package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
  50. package/apps/core/src/app/core/logApp.d.ts +2 -4
  51. package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
  52. package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
  53. package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
  54. package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
  55. package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
  56. package/apps/core/src/app/core/userDataApp.d.ts +2 -4
  57. package/apps/core/src/app/core/valueApp.d.ts +2 -4
  58. package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
  59. package/apps/core/src/app/core/viewApp.d.ts +2 -4
  60. package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
  61. package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
  62. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
  63. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
  64. package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
  65. package/apps/core/src/domain/eventsManager/eventsManagerDomain.d.ts +3 -2
  66. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
  67. package/apps/core/src/domain/globalSettings/globalSettingsDomain.d.ts +5 -1
  68. package/apps/core/src/domain/helpers/calculationVariable/index.d.ts +2 -1
  69. package/apps/core/src/domain/import/importDomain.d.ts +12 -2
  70. package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
  71. package/apps/core/src/domain/log/logDomain.d.ts +3 -1
  72. package/apps/core/src/domain/permission/_types.d.ts +11 -11
  73. package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +4 -13
  74. package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +24 -6
  75. package/apps/core/src/domain/permission/helpers/reducePermissionsArray.d.ts +1 -1
  76. package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
  77. package/apps/core/src/domain/permission/permissionDomain.d.ts +1 -0
  78. package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
  79. package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +2 -2
  80. package/apps/core/src/domain/record/_types.d.ts +4 -3
  81. package/apps/core/src/domain/record/helpers/createRecord.d.ts +22 -0
  82. package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
  83. package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +24 -0
  84. package/apps/core/src/domain/record/helpers/index.d.ts +3 -0
  85. package/apps/core/src/domain/record/recordDomain.d.ts +44 -3
  86. package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
  87. package/apps/core/src/domain/value/helpers/{canSaveValue.d.ts → canSaveRecordValue.d.ts} +3 -3
  88. package/apps/core/src/domain/value/helpers/isEmptyValue.d.ts +5 -0
  89. package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
  90. package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
  91. package/apps/core/src/domain/value/helpers/validateValue.d.ts +4 -4
  92. package/apps/core/src/domain/value/valueDomain.d.ts +11 -4
  93. package/apps/core/src/errors/LeavError.d.ts +6 -0
  94. package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
  95. package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
  96. package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
  97. package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
  98. package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
  99. package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +54 -24
  100. package/apps/core/src/infra/db/dbUtils.d.ts +1 -3
  101. package/apps/core/src/infra/db/migrations/008-addSkeletonApp.d.ts +7 -0
  102. package/apps/core/src/infra/db/migrations/009-addDisplayMultiLinkOptAttributeProperty.d.ts +11 -0
  103. package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +8 -0
  104. package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
  105. package/apps/core/src/infra/oidc/oidcClientService.d.ts +3 -1
  106. package/apps/core/src/infra/permission/permissionRepo.d.ts +9 -1
  107. package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
  108. package/apps/core/src/infra/record/recordRepo.d.ts +11 -0
  109. package/apps/core/src/infra/tree/treeRepo.d.ts +4 -3
  110. package/apps/core/src/infra/value/valueRepo.d.ts +17 -10
  111. package/apps/core/src/interface/server.d.ts +7 -0
  112. package/apps/core/src/pluginsLoader.d.ts +1 -1
  113. package/apps/core/src/utils/dataloader.d.ts +9 -0
  114. package/apps/core/src/utils/dataloader.spec.d.ts +1 -0
  115. package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
  116. package/apps/core/src/utils/index.d.ts +1 -0
  117. package/apps/core/src/utils/utils.d.ts +1 -0
  118. package/libs/utils/src/types/forms.d.ts +7 -1
  119. package/package.json +5 -2
@@ -1,4 +1,4 @@
1
1
  import { IQueryInfos } from '_types/queryInfos';
2
2
  import { IFileEventData } from '../../../../_types/filesManager';
3
3
  import { IHandleFileSystemEventDeps, IHandleFileSystemEventResources } from './_types';
4
- export declare const handleMoveEvent: (scanMsg: IFileEventData, { library }: IHandleFileSystemEventResources, deps: IHandleFileSystemEventDeps, ctx: IQueryInfos) => Promise<boolean>;
4
+ export declare const handleMoveEvent: (scanMsg: IFileEventData, { library }: IHandleFileSystemEventResources, deps: IHandleFileSystemEventDeps, ctx: IQueryInfos) => Promise<boolean | void>;
@@ -3,6 +3,8 @@ import { IAdminPermissionDomain } from 'domain/permission/adminPermissionDomain'
3
3
  import { IGlobalSettingsRepo } from 'infra/globalSettings/globalSettingsRepo';
4
4
  import { IGlobalSettings } from '_types/globalSettings';
5
5
  import { IQueryInfos } from '_types/queryInfos';
6
+ import { IUtils } from '../../utils/utils';
7
+ import { ICachesService } from '../../infra/cache/cacheService';
6
8
  export interface IGlobalSettingsDomain {
7
9
  saveSettings({ settings, ctx }: {
8
10
  settings: IGlobalSettings;
@@ -14,5 +16,7 @@ export interface IGlobalSettingsDomainDeps {
14
16
  'core.domain.permission.admin': IAdminPermissionDomain;
15
17
  'core.domain.eventsManager': IEventsManagerDomain;
16
18
  'core.infra.globalSettings': IGlobalSettingsRepo;
19
+ 'core.infra.cache.cacheService': ICachesService;
20
+ 'core.utils': IUtils;
17
21
  }
18
- export default function ({ 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.globalSettings': globalSettingsRepo }: IGlobalSettingsDomainDeps): IGlobalSettingsDomain;
22
+ export default function ({ 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.globalSettings': globalSettingsRepo, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils }: IGlobalSettingsDomainDeps): IGlobalSettingsDomain;
@@ -1,12 +1,13 @@
1
1
  import { ActionsListValueType, IActionsListContext } from '_types/actionsList';
2
2
  import { IVariableFunctions } from '../calculationsVariableFunctions';
3
+ import { ITreeNode } from '../../../_types/tree';
3
4
  interface IDeps {
4
5
  'core.domain.helpers.calculationsVariableFunctions': IVariableFunctions;
5
6
  }
6
7
  export interface IVariableValue {
7
8
  recordId: string;
8
9
  library: string;
9
- payload: string | number | boolean | Record<string, any>;
10
+ payload: string | number | boolean | ITreeNode | Record<string, any>;
10
11
  raw_payload?: string | number | boolean | Record<string, any>;
11
12
  }
12
13
  export interface ICalculationVariable {
@@ -6,15 +6,19 @@ import { IRecordDomain } from 'domain/record/recordDomain';
6
6
  import { ITasksManagerDomain } from 'domain/tasksManager/tasksManagerDomain';
7
7
  import { ITreeDomain } from 'domain/tree/treeDomain';
8
8
  import { IValueDomain } from 'domain/value/valueDomain';
9
+ import { IPermissionDomain } from 'domain/permission/permissionDomain';
10
+ import { AwilixContainer } from 'awilix';
9
11
  import { i18n } from 'i18next';
10
12
  import { IUtils } from 'utils/utils';
11
13
  import * as Config from '_types/config';
12
14
  import { ICachesService } from '../../infra/cache/cacheService';
15
+ import { IDbUtils } from '../../infra/db/dbUtils';
13
16
  import { ImportMode, ImportType } from '../../_types/import';
14
17
  import { IQueryInfos } from '../../_types/queryInfos';
15
18
  import { ITaskFuncParams } from '../../_types/tasksManager';
16
19
  import { IValidateHelper } from '../helpers/validate';
17
20
  import { IVersionProfileDomain } from '../versionProfile/versionProfileDomain';
21
+ import winston from 'winston';
18
22
  export declare const IMPORT_DATA_SCHEMA_PATH: string;
19
23
  export declare const IMPORT_CONFIG_SCHEMA_PATH: string;
20
24
  export interface IImportExcelParams {
@@ -40,9 +44,11 @@ interface IImportConfigParams {
40
44
  filepath: string;
41
45
  ctx: IQueryInfos;
42
46
  forceNoTask?: boolean;
47
+ clearDatabase?: boolean;
48
+ dbMigrate?: boolean;
43
49
  }
44
50
  export interface IImportDomain {
45
- importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string>;
51
+ importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string | undefined>;
46
52
  importData(params: IImportDataParams, task?: ITaskFuncParams): Promise<string>;
47
53
  importExcel({ filename, sheets, startAt }: IImportExcelParams, ctx: IQueryInfos): Promise<string>;
48
54
  }
@@ -61,12 +67,16 @@ export interface IImportDomainDeps {
61
67
  'core.domain.tree': ITreeDomain;
62
68
  'core.domain.versionProfile': IVersionProfileDomain;
63
69
  'core.domain.tasksManager': ITasksManagerDomain;
70
+ 'core.domain.permission': IPermissionDomain;
64
71
  'core.domain.helpers.updateTaskProgress': UpdateTaskProgress;
65
72
  'core.domain.eventsManager': IEventsManagerDomain;
66
73
  'core.infra.cache.cacheService': ICachesService;
74
+ 'core.infra.db.dbUtils': IDbUtils;
75
+ 'core.depsManager': AwilixContainer;
67
76
  config: Config.IConfig;
68
77
  translator: i18n;
69
78
  'core.utils': IUtils;
79
+ 'core.utils.logger'?: winston.Winston;
70
80
  }
71
- export default function ({ 'core.domain.library': libraryDomain, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.tree': treeDomain, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, config, translator }: IImportDomainDeps): IImportDomain;
81
+ export default function ({ 'core.domain.library': libraryDomain, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.tree': treeDomain, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.permission': permissionDomain, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.cache.cacheService': cacheService, 'core.infra.db.dbUtils': dbUtils, 'core.depsManager': depsManager, 'core.utils': utils, 'core.utils.logger': logger, config, translator }: IImportDomainDeps): IImportDomain;
72
82
  export {};
@@ -11,6 +11,7 @@ import * as Config from '_types/config';
11
11
  import { IQueryInfos } from '_types/queryInfos';
12
12
  import { IIndexationService } from '../../infra/indexation/indexationService';
13
13
  import { ITaskFuncParams } from '../../_types/tasksManager';
14
+ import { GetSystemQueryContext } from '../../utils/helpers/getSystemQueryContext';
14
15
  interface IIndexDatabaseParams {
15
16
  findRecordParams: IFindRecordParams | IFindRecordParams[];
16
17
  attributes?: {
@@ -22,7 +23,7 @@ interface IIndexDatabaseParams {
22
23
  }
23
24
  export interface IIndexationManagerDomain {
24
25
  init(): Promise<void>;
25
- indexDatabase(params: IIndexDatabaseParams, task?: ITaskFuncParams): Promise<string>;
26
+ indexDatabase(params: IIndexDatabaseParams, task?: ITaskFuncParams): Promise<void>;
26
27
  }
27
28
  export interface IIndexationManagerDomainDeps {
28
29
  config: Config.IConfig;
@@ -34,7 +35,8 @@ export interface IIndexationManagerDomainDeps {
34
35
  'core.domain.tasksManager': ITasksManagerDomain;
35
36
  'core.domain.eventsManager': IEventsManagerDomain;
36
37
  'core.utils.logger': winston.Winston;
38
+ 'core.utils.getSystemQueryContext': GetSystemQueryContext;
37
39
  translator: i18n;
38
40
  }
39
- export default function ({ config, 'core.infra.amqpService': amqpService, 'core.domain.record': recordDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.infra.indexation.indexationService': indexationService, 'core.domain.eventsManager': eventsManager, 'core.utils.logger': logger, translator }: IIndexationManagerDomainDeps): IIndexationManagerDomain;
41
+ export default function ({ config, 'core.infra.amqpService': amqpService, 'core.domain.record': recordDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.infra.indexation.indexationService': indexationService, 'core.domain.eventsManager': eventsManager, 'core.utils.logger': logger, 'core.utils.getSystemQueryContext': getSystemQueryContext, translator }: IIndexationManagerDomainDeps): IIndexationManagerDomain;
40
42
  export {};
@@ -2,6 +2,7 @@ import { Log } from '@leav/utils';
2
2
  import { ILogRepo } from 'infra/log/logRepo';
3
3
  import { ILogFilters, ILogPagination, ILogSort } from '_types/log';
4
4
  import { IQueryInfos } from '_types/queryInfos';
5
+ import { IPermissionDomain } from 'domain/permission/permissionDomain';
5
6
  export interface ILogDomain {
6
7
  getLogs: (params: {
7
8
  filters?: ILogFilters;
@@ -11,6 +12,7 @@ export interface ILogDomain {
11
12
  }
12
13
  interface IDeps {
13
14
  'core.infra.log': ILogRepo;
15
+ 'core.domain.permission': IPermissionDomain;
14
16
  }
15
- export default function ({ 'core.infra.log': logRepo }: IDeps): ILogDomain;
17
+ export default function ({ 'core.infra.log': logRepo, 'core.domain.permission': permissionDomain }: IDeps): ILogDomain;
16
18
  export {};
@@ -1,6 +1,6 @@
1
1
  import { AdminPermissionsActions, ApplicationPermissionsActions, AttributePermissionsActions, IPermissionsTreeTarget, ITreePermissionsConf, LibraryPermissionsActions, PermissionsActions, PermissionTypes, RecordAttributePermissionsActions, RecordPermissionsActions, TreeNodePermissionsActions, TreePermissionsActions } from '_types/permissions';
2
2
  import { IQueryInfos } from '_types/queryInfos';
3
- import { TreePaths } from '_types/tree';
3
+ import { TreePath } from '_types/tree';
4
4
  export declare const PERMISSIONS_CACHE_HEADER = "permissions";
5
5
  export declare const PERMISSIONS_NULL_PLACEHOLDER = "__null__";
6
6
  export interface IPermissionTarget {
@@ -28,14 +28,6 @@ export interface IGetPermissionsByActionsParams {
28
28
  export type PermByActionsRes = {
29
29
  [name: string]: boolean | null;
30
30
  } | null;
31
- export interface IGetPermissionByUserGroupsParams {
32
- type: PermissionTypes;
33
- action: PermissionsActions;
34
- userGroupsPaths: TreePaths[];
35
- applyTo?: string;
36
- permissionTreeTarget?: IPermissionsTreeTarget;
37
- ctx: IQueryInfos;
38
- }
39
31
  export interface IGetAdminPermissionParams {
40
32
  action: AdminPermissionsActions;
41
33
  userId: string;
@@ -63,7 +55,7 @@ export interface IGetTreeLibraryPermissionParams {
63
55
  treeId: string;
64
56
  libraryId: string;
65
57
  userId: string;
66
- getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => boolean | null;
58
+ getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => Promise<boolean> | boolean;
67
59
  ctx: IQueryInfos;
68
60
  }
69
61
  export interface IGetApplicationPermissionParams {
@@ -171,7 +163,7 @@ export interface IGetDefaultPermissionParams {
171
163
  action?: any;
172
164
  applyTo?: string;
173
165
  userId?: string;
174
- userGroups?: TreePaths[];
166
+ userGroups?: TreePath[];
175
167
  }
176
168
  export interface IGetTreeBasedPermissionParams {
177
169
  type: PermissionTypes;
@@ -207,3 +199,11 @@ export interface IGetInheritedRecordPermissionParams {
207
199
  permTreeNode: string;
208
200
  ctx: IQueryInfos;
209
201
  }
202
+ export interface IEstimateTreeValueRecordPermissionParams {
203
+ action: RecordPermissionsActions;
204
+ userId: string;
205
+ libraryId: string;
206
+ attributeId: string;
207
+ nodeId: string;
208
+ ctx: IQueryInfos;
209
+ }
@@ -1,18 +1,13 @@
1
- import { IAttributeRepo } from 'infra/attribute/attributeRepo';
2
- import { IPermissionRepo } from 'infra/permission/permissionRepo';
3
- import { ITreeRepo } from 'infra/tree/treeRepo';
4
- import { IValueRepo } from 'infra/value/valueRepo';
5
1
  import { IQueryInfos } from '_types/queryInfos';
6
- import { ICachesService } from '../../../infra/cache/cacheService';
7
2
  import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
8
3
  import { IDefaultPermissionHelper } from './defaultPermission';
9
4
  import { IPermissionByUserGroupsHelper } from './permissionByUserGroups';
5
+ import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
10
6
  interface IGetGlobalPermissionParams {
11
7
  type: PermissionTypes;
12
8
  applyTo?: string;
13
- userId: string;
14
9
  action: PermissionsActions;
15
- getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => boolean;
10
+ getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
16
11
  }
17
12
  interface IGetInheritedGlobalPermissionParams {
18
13
  type: PermissionTypes;
@@ -35,11 +30,7 @@ export interface IGlobalPermissionHelper {
35
30
  export interface IGlobalPermissionDeps {
36
31
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
37
32
  'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
38
- 'core.infra.permission': IPermissionRepo;
39
- 'core.infra.attribute': IAttributeRepo;
40
- 'core.infra.tree': ITreeRepo;
41
- 'core.infra.value': IValueRepo;
42
- 'core.infra.cache.cacheService': ICachesService;
33
+ 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
43
34
  }
44
- export default function ({ 'core.domain.permission.helpers.permissionByUserGroups': permByUserGroupsHelper, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.infra.attribute': attributeRepo, 'core.infra.value': valueRepo, 'core.infra.tree': treeRepo, 'core.infra.cache.cacheService': cacheService }: IGlobalPermissionDeps): IGlobalPermissionHelper;
35
+ export default function ({ 'core.domain.permission.helpers.permissionByUserGroups': permByUserGroupsHelper, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.tree.helpers.elementAncestors': elementAncestorsHelper }: IGlobalPermissionDeps): IGlobalPermissionHelper;
45
36
  export {};
@@ -1,14 +1,32 @@
1
- import { IPermissionRepo } from 'infra/permission/permissionRepo';
2
- import { IGetPermissionByUserGroupsParams } from '../_types';
3
1
  import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
4
2
  import { ISimplePermissionHelper } from './simplePermission';
5
- interface IDeps {
3
+ import { IDefaultPermissionHelper } from './defaultPermission';
4
+ import { TreePath } from '../../../_types/tree';
5
+ import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
6
+ import { IQueryInfos } from '../../../_types/queryInfos';
7
+ import { ICachesService } from '../../../infra/cache/cacheService';
8
+ import { IConfig } from '_types/config';
9
+ export interface IPermissionByUserGroupsHelperDeps {
6
10
  'core.domain.permission.helpers.simplePermission': ISimplePermissionHelper;
7
11
  'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
8
- 'core.infra.permission'?: IPermissionRepo;
12
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
13
+ 'core.infra.cache.cacheService': ICachesService;
14
+ config: IConfig;
15
+ }
16
+ interface IGetPermissionByUserGroupsParams {
17
+ type: PermissionTypes;
18
+ action: PermissionsActions;
19
+ userGroupsPaths: TreePath[];
20
+ applyTo?: string;
21
+ treeTarget?: {
22
+ tree: string;
23
+ path: TreePath;
24
+ };
25
+ getDefaultPermission?: () => Promise<boolean> | boolean;
26
+ ctx: IQueryInfos;
9
27
  }
10
28
  export interface IPermissionByUserGroupsHelper {
11
- getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean | null>;
29
+ getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean>;
12
30
  }
13
- export default function (deps: IDeps): IPermissionByUserGroupsHelper;
31
+ export default function (deps: IPermissionByUserGroupsHelperDeps): IPermissionByUserGroupsHelper;
14
32
  export {};
@@ -1,4 +1,4 @@
1
1
  export interface IReducePermissionsArrayHelper {
2
- reducePermissionsArray: (permissions: Array<boolean | null>) => boolean | null;
2
+ reducePermissionsArray: (permissions: boolean[]) => boolean;
3
3
  }
4
4
  export default function (): IReducePermissionsArrayHelper;
@@ -2,19 +2,15 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
2
2
  import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
3
3
  import { IPermissionRepo } from 'infra/permission/permissionRepo';
4
4
  import { IQueryInfos } from '_types/queryInfos';
5
- import { ICachesService } from '../../../infra/cache/cacheService';
6
5
  import { IGetInheritedTreeBasedPermissionParams, IGetTreeBasedPermissionParams } from '../_types';
7
- import { IDefaultPermissionHelper } from './defaultPermission';
8
6
  import { IPermissionByUserGroupsHelper } from './permissionByUserGroups';
9
7
  import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
10
8
  export interface ITreeBasedPermissionsDeps {
11
9
  'core.domain.attribute': IAttributeDomain;
12
10
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
13
- 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
14
11
  'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
15
12
  'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
16
13
  'core.infra.permission': IPermissionRepo;
17
- 'core.infra.cache.cacheService': ICachesService;
18
14
  }
19
15
  export interface ITreeBasedPermissionHelper {
20
16
  getTreeBasedPermission(params: IGetTreeBasedPermissionParams, ctx: IQueryInfos): Promise<boolean>;
@@ -25,6 +25,7 @@ export interface IPermissionDomain {
25
25
  isAllowed({ type, action, userId, applyTo, target, ctx }: IIsAllowedParams): Promise<boolean>;
26
26
  getActionsByType(params: IGetActionsByTypeParams): ILabeledPermissionsAction[];
27
27
  registerActions(type: PermissionTypes, actions: string[], applyOn?: string[]): void;
28
+ isAdminOrSystemUser(ctx: IQueryInfos): boolean;
28
29
  }
29
30
  export interface IPermissionDomainDeps {
30
31
  'core.domain.permission.admin': IAdminPermissionDomain;
@@ -5,10 +5,12 @@ import { IDefaultPermissionHelper } from './helpers/defaultPermission';
5
5
  import { IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
6
6
  import { ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
7
7
  import { ILibraryPermissionDomain } from './libraryPermissionDomain';
8
- import { IGetInheritedRecordPermissionParams, IGetRecordPermissionParams } from './_types';
8
+ import { IGetInheritedRecordPermissionParams, IGetRecordPermissionParams, IEstimateTreeValueRecordPermissionParams } from './_types';
9
+ import { ITreeRepo } from '../../infra/tree/treeRepo';
9
10
  export interface IRecordPermissionDomain {
10
11
  getRecordPermission(params: IGetRecordPermissionParams): Promise<boolean>;
11
12
  getInheritedRecordPermission(params: IGetInheritedRecordPermissionParams): Promise<boolean>;
13
+ evaluateTreeValueRecordPermission(params: IEstimateTreeValueRecordPermissionParams): Promise<boolean>;
12
14
  }
13
15
  export interface IRecordPermissionDomainDeps {
14
16
  'core.domain.permission.library': ILibraryPermissionDomain;
@@ -18,5 +20,6 @@ export interface IRecordPermissionDomainDeps {
18
20
  'core.domain.attribute': IAttributeDomain;
19
21
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
20
22
  'core.infra.value': IValueRepo;
23
+ 'core.infra.tree': ITreeRepo;
21
24
  }
22
25
  export default function (deps: IRecordPermissionDomainDeps): IRecordPermissionDomain;
@@ -2,12 +2,12 @@ import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
2
2
  import { ITreeRepo } from 'infra/tree/treeRepo';
3
3
  import { IValueRepo } from 'infra/value/valueRepo';
4
4
  import { IAttributeDomain } from '../attribute/attributeDomain';
5
- import { IDefaultPermissionHelper } from './helpers/defaultPermission';
6
5
  import { IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
7
6
  import { ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
8
7
  import { ITreeLibraryPermissionDomain } from './treeLibraryPermissionDomain';
9
8
  import { ITreePermissionDomain } from './treePermissionDomain';
10
9
  import { IGetInheritedTreeNodePermissionParams, IGetTreeNodePermissionParams } from './_types';
10
+ import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
11
11
  export interface ITreeNodePermissionDomain {
12
12
  getTreeNodePermission(params: IGetTreeNodePermissionParams): Promise<boolean>;
13
13
  getInheritedTreeNodePermission(params: IGetInheritedTreeNodePermissionParams): Promise<boolean>;
@@ -17,7 +17,7 @@ export interface ITreeNodePermissionDomainDeps {
17
17
  'core.domain.permission.treeLibrary': ITreeLibraryPermissionDomain;
18
18
  'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
19
19
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
20
- 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
20
+ 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
21
21
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
22
22
  'core.infra.tree': ITreeRepo;
23
23
  'core.domain.attribute': IAttributeDomain;
@@ -1,4 +1,5 @@
1
1
  import { ErrorTypes } from '@leav/utils';
2
+ import { Errors } from '_types/errors';
2
3
  import { ICursorPaginationParams, IPaginationParams } from '_types/list';
3
4
  import { IRecord, IRecordFilterLight, IRecordSortLight } from '_types/record';
4
5
  import { IValue, IValuesOptions, IValueVersion } from '_types/value';
@@ -11,6 +12,7 @@ export interface IFindRecordParams {
11
12
  withCount?: boolean;
12
13
  retrieveInactive?: boolean;
13
14
  fulltextSearch?: string;
15
+ ignorePermissions?: boolean;
14
16
  }
15
17
  export interface ICreateRecordParams {
16
18
  library: string;
@@ -20,10 +22,9 @@ export interface ICreateRecordParams {
20
22
  };
21
23
  }
22
24
  export interface ICreateRecordValueError {
23
- attributeId: string;
24
- type: ErrorTypes;
25
+ attribute: string;
26
+ type: ErrorTypes | Errors;
25
27
  message: string;
26
- id_value?: string;
27
28
  input?: any;
28
29
  }
29
30
  export interface ICreateRecordResult {
@@ -0,0 +1,22 @@
1
+ import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
2
+ import { ILibraryPermissionDomain } from 'domain/permission/libraryPermissionDomain';
3
+ import { IRecordRepo } from 'infra/record/recordRepo';
4
+ import { IQueryInfos } from '../../../_types/queryInfos';
5
+ import { ICreateRecordResult, ICreateRecordValueError } from '../_types';
6
+ export type IPreCreateRecordCallback = () => Promise<ICreateRecordValueError[]>;
7
+ export type CreateRecordHelper = (params: {
8
+ library: string;
9
+ /**
10
+ * Can be use to validate potential values to post create insert to record
11
+ */
12
+ preCreateCallback?: IPreCreateRecordCallback;
13
+ ctx: IQueryInfos;
14
+ active?: boolean;
15
+ }) => Promise<ICreateRecordResult>;
16
+ interface IDeps {
17
+ 'core.domain.eventsManager': IEventsManagerDomain;
18
+ 'core.domain.permission.library': ILibraryPermissionDomain;
19
+ 'core.infra.record': IRecordRepo;
20
+ }
21
+ export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.permission.library': libraryPermissionDomain, 'core.infra.record': recordRepo }: IDeps): CreateRecordHelper;
22
+ export {};
@@ -0,0 +1,19 @@
1
+ import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
2
+ import { IQueryInfos } from '../../../_types/queryInfos';
3
+ import { IRecordPermissionDomain } from 'domain/permission/recordPermissionDomain';
4
+ import { IValidateHelper } from 'domain/helpers/validate';
5
+ import { IRecordRepo } from 'infra/record/recordRepo';
6
+ import { ITreeRepo } from 'infra/tree/treeRepo';
7
+ import { IValueRepo } from 'infra/value/valueRepo';
8
+ import { IRecord } from '../../../_types/record';
9
+ export type DeleteRecordHelper = (library: string, id: string, ctx: IQueryInfos) => Promise<IRecord>;
10
+ interface IDeps {
11
+ 'core.domain.helpers.validate': IValidateHelper;
12
+ 'core.domain.eventsManager': IEventsManagerDomain;
13
+ 'core.domain.permission.record': IRecordPermissionDomain;
14
+ 'core.infra.record': IRecordRepo;
15
+ 'core.infra.tree': ITreeRepo;
16
+ 'core.infra.value': IValueRepo;
17
+ }
18
+ export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.helpers.validate': validateHelper, 'core.domain.permission.record': recordPermissionDomain, 'core.infra.record': recordRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo }: IDeps): DeleteRecordHelper;
19
+ export {};
@@ -0,0 +1,24 @@
1
+ import { IAttribute } from '_types/attribute';
2
+ import { IQueryInfos } from '_types/queryInfos';
3
+ import { ITreeNode } from '_types/tree';
4
+ import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
5
+ import { IPermissionRepo } from 'infra/permission/permissionRepo';
6
+ import { ITreeRepo } from 'infra/tree/treeRepo';
7
+ import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
8
+ interface IAccessPermissionFilterDeps {
9
+ 'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
10
+ 'core.infra.tree': ITreeRepo;
11
+ 'core.infra.permission': IPermissionRepo;
12
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
13
+ }
14
+ export interface IGetAccessPermissionsValue {
15
+ treeId: string;
16
+ attribute: IAttribute;
17
+ permissions: {
18
+ true: Array<ITreeNode['id']>;
19
+ false: Array<ITreeNode['id']>;
20
+ };
21
+ }
22
+ export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
23
+ declare const getAccessPermissionsFilters: IGetAccessPermissions;
24
+ export default getAccessPermissionsFilters;
@@ -1 +1,4 @@
1
+ export { default as createRecord } from './createRecord';
2
+ export { default as deleteRecord } from './deleteRecord';
1
3
  export { default as sendRecordUpdateEvent } from './sendRecordUpdateEvent';
4
+ export { default as getAccessPermissionFilters } from './getAccessPermissionFilters';
@@ -11,7 +11,7 @@ import { IValueRepo } from 'infra/value/valueRepo';
11
11
  import { IUtils } from 'utils/utils';
12
12
  import * as Config from '_types/config';
13
13
  import { IListWithCursor } from '_types/list';
14
- import { IValue, IValuesOptions } from '_types/value';
14
+ import { ISaveValue, IValue, IValuesOptions } from '_types/value';
15
15
  import { ICachesService } from '../../infra/cache/cacheService';
16
16
  import { IQueryInfos } from '../../_types/queryInfos';
17
17
  import { IRecord, IRecordFilterLight, IRecordIdentity } from '../../_types/record';
@@ -20,10 +20,32 @@ import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
20
20
  import { SendRecordUpdateEventHelper } from './helpers/sendRecordUpdateEvent';
21
21
  import { ICreateRecordResult, IFindRecordParams } from './_types';
22
22
  import { IFormRepo } from 'infra/form/formRepo';
23
+ import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
24
+ import { IAttributePermissionDomain } from '../permission/attributePermissionDomain';
25
+ import { IPermissionRepo } from '../../infra/permission/permissionRepo';
26
+ import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
27
+ import { DeleteRecordHelper } from './helpers/deleteRecord';
28
+ import { CreateRecordHelper } from './helpers/createRecord';
29
+ import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
30
+ import winston from 'winston';
23
31
  export interface IRecordDomain {
32
+ /**
33
+ * Create empty record
34
+ * Used when create a record, set active to false and inCreation to true
35
+ */
36
+ createEmptyRecord(params: {
37
+ library: string;
38
+ ctx: IQueryInfos;
39
+ }): Promise<ICreateRecordResult>;
40
+ activateNewRecord(params: {
41
+ library: string;
42
+ recordId: string;
43
+ formId?: string;
44
+ ctx: IQueryInfos;
45
+ }): Promise<ICreateRecordResult>;
24
46
  createRecord(params: {
25
47
  library: string;
26
- values?: IValue[];
48
+ values?: ISaveValue[];
27
49
  verifyRequiredAttributes?: boolean;
28
50
  ctx: IQueryInfos;
29
51
  }): Promise<ICreateRecordResult>;
@@ -78,10 +100,21 @@ export interface IRecordDomain {
78
100
  filters?: IRecordFilterLight[];
79
101
  ctx: IQueryInfos;
80
102
  }): Promise<IRecord[]>;
103
+ activateRecordsBatch(params: {
104
+ libraryId: string;
105
+ recordsIds?: string[];
106
+ filters?: IRecordFilterLight[];
107
+ ctx: IQueryInfos;
108
+ }): Promise<IRecord[]>;
81
109
  purgeInactiveRecords(params: {
82
110
  libraryId: string;
83
111
  ctx: IQueryInfos;
84
112
  }): Promise<IRecord[]>;
113
+ purgeRecord(params: {
114
+ libraryId: string;
115
+ recordId: string;
116
+ ctx: IQueryInfos;
117
+ }): Promise<IRecord>;
85
118
  }
86
119
  export interface IRecordDomainDeps {
87
120
  config: Config.IConfig;
@@ -90,16 +123,24 @@ export interface IRecordDomainDeps {
90
123
  'core.domain.value': IValueDomain;
91
124
  'core.domain.permission.record': IRecordPermissionDomain;
92
125
  'core.domain.permission.library': ILibraryPermissionDomain;
126
+ 'core.domain.permission.attribute': IAttributePermissionDomain;
127
+ 'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
128
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
93
129
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
94
130
  'core.domain.helpers.validate': IValidateHelper;
131
+ 'core.domain.record.helpers.createRecord': CreateRecordHelper;
132
+ 'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
95
133
  'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
96
134
  'core.infra.library': ILibraryRepo;
97
135
  'core.infra.tree': ITreeRepo;
136
+ 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
98
137
  'core.infra.value': IValueRepo;
99
138
  'core.infra.form': IFormRepo;
139
+ 'core.infra.permission': IPermissionRepo;
100
140
  'core.domain.eventsManager': IEventsManagerDomain;
101
141
  'core.infra.cache.cacheService': ICachesService;
142
+ 'core.utils.logger': winston.Winston;
102
143
  'core.utils': IUtils;
103
144
  translator: i18n;
104
145
  }
105
- export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
146
+ export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.permission.attribute': attrPermissionDomain, 'core.domain.permission.recordAttribute': recordAttributePermissionDomain, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.createRecord': createRecordHelper, 'core.domain.record.helpers.deleteRecord': deleteRecordHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.domain.tree.helpers.elementAncestors': elementAncestorsHelper, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.infra.permission': permissionRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils.logger': logger, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
@@ -11,7 +11,7 @@ import { IQueryInfos } from '_types/queryInfos';
11
11
  import { ICachesService } from '../../infra/cache/cacheService';
12
12
  import { IList, IPaginationParams } from '../../_types/list';
13
13
  import { IRecord } from '../../_types/record';
14
- import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight, TreePaths } from '../../_types/tree';
14
+ import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight, TreePath } from '../../_types/tree';
15
15
  import { IAttributeDomain } from '../attribute/attributeDomain';
16
16
  import { IRecordDomain } from '../record/recordDomain';
17
17
  import { IElementAncestorsHelper } from './helpers/elementAncestors';
@@ -112,7 +112,7 @@ export interface ITreeDomain {
112
112
  treeId: string;
113
113
  nodeId: string;
114
114
  ctx: IQueryInfos;
115
- }): Promise<TreePaths>;
115
+ }): Promise<TreePath>;
116
116
  /**
117
117
  * Retrieve all records linked to an element via given attribute
118
118
  */
@@ -6,12 +6,12 @@ import { IQueryInfos } from '_types/queryInfos';
6
6
  import { IValue } from '_types/value';
7
7
  import { ErrorFieldDetail, Errors } from '../../../_types/errors';
8
8
  import { RecordAttributePermissionsActions, RecordPermissionsActions } from '../../../_types/permissions';
9
- interface ICanSaveValueRes {
9
+ interface ICanSaveRecordValueRes {
10
10
  canSave: boolean;
11
11
  reason?: RecordAttributePermissionsActions | RecordPermissionsActions | Errors;
12
12
  fields?: ErrorFieldDetail<IValue>;
13
13
  }
14
- interface ICanSaveValueParams {
14
+ interface ICanSaveRecordValueParams {
15
15
  attributeProps: IAttribute;
16
16
  value: IValue;
17
17
  library: string;
@@ -24,5 +24,5 @@ interface ICanSaveValueParams {
24
24
  config: IConfig;
25
25
  };
26
26
  }
27
- declare const _default: (params: ICanSaveValueParams) => Promise<ICanSaveValueRes>;
27
+ declare const _default: (params: ICanSaveRecordValueParams) => Promise<ICanSaveRecordValueRes>;
28
28
  export default _default;
@@ -0,0 +1,5 @@
1
+ import { IValue, EmptyValue } from '_types/value';
2
+ declare const _default: (value: IValue) => value is IValue & {
3
+ payload: EmptyValue;
4
+ };
5
+ export default _default;
@@ -3,10 +3,10 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
3
3
  import { IUtils } from 'utils/utils';
4
4
  import { IAttribute } from '_types/attribute';
5
5
  import { IQueryInfos } from '_types/queryInfos';
6
- import { IValue } from '_types/value';
6
+ import { ISaveValue } from '_types/value';
7
7
  interface IPrepareValueParams {
8
8
  attributeProps: IAttribute;
9
- value: IValue;
9
+ value: ISaveValue;
10
10
  library: string;
11
11
  recordId: string;
12
12
  infos?: IQueryInfos;
@@ -18,5 +18,5 @@ interface IPrepareValueParams {
18
18
  };
19
19
  ctx: IQueryInfos;
20
20
  }
21
- declare const _default: (params: IPrepareValueParams) => Promise<IValue[]>;
21
+ declare const _default: (params: IPrepareValueParams) => Promise<ISaveValue[]>;
22
22
  export default _default;