@aristid/leav-types 0.0.7-ce462f0 → 0.0.7-ceed596d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/core/config/default.d.ts +15 -1
- package/apps/core/config/test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +6 -1
- package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/globalSetup.d.ts +1 -0
- package/apps/core/src/__tests__/integration/globalSetupHook.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedLinkRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeSimpleLinkRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeSimpleRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeTreeRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +7 -0
- package/apps/core/src/__tests__/integration/infra/recordRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/teardown.d.ts +1 -0
- package/apps/core/src/__tests__/mockers/amqp.d.ts +8 -0
- package/apps/core/src/__tests__/mockers/logger.d.ts +7 -0
- package/apps/core/src/__tests__/mocks/attribute.d.ts +4 -1
- package/apps/core/src/__tests__/mocks/cache.d.ts +4 -0
- package/apps/core/src/_constants/attributes.d.ts +1 -0
- package/apps/core/src/_types/attribute.d.ts +8 -1
- package/apps/core/src/_types/config.d.ts +34 -2
- package/apps/core/src/_types/dbProfiler.d.ts +20 -1
- package/apps/core/src/_types/forms.d.ts +17 -7
- package/apps/core/src/_types/globalSettings.d.ts +2 -0
- package/apps/core/src/_types/library.d.ts +5 -1
- package/apps/core/src/_types/permissions.d.ts +3 -1
- package/apps/core/src/_types/queryInfos.d.ts +6 -1
- package/apps/core/src/_types/record.d.ts +4 -4
- package/apps/core/src/_types/tree.d.ts +2 -1
- package/apps/core/src/_types/value.d.ts +66 -5
- package/apps/core/src/_types/views.d.ts +4 -0
- package/apps/core/src/app/application/applicationApp.d.ts +3 -7
- package/apps/core/src/app/auth/authApp.d.ts +7 -6
- package/apps/core/src/app/core/actionListApp.d.ts +2 -4
- package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
- package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
- package/apps/core/src/app/core/coreApp.d.ts +2 -4
- package/apps/core/src/app/core/exportApp.d.ts +2 -4
- package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
- package/apps/core/src/app/core/formApp/_types.d.ts +10 -0
- package/apps/core/src/app/core/formApp/formApp.d.ts +4 -5
- package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
- package/apps/core/src/app/core/importApp.d.ts +2 -4
- package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
- package/apps/core/src/app/core/logApp.d.ts +2 -4
- package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
- package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
- package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
- package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
- package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
- package/apps/core/src/app/core/userDataApp.d.ts +2 -4
- package/apps/core/src/app/core/valueApp.d.ts +2 -4
- package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
- package/apps/core/src/app/core/viewApp.d.ts +2 -4
- package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
- package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
- package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
- package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
- package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
- package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
- package/apps/core/src/domain/form/formDomain.d.ts +9 -1
- package/apps/core/src/domain/globalSettings/globalSettingsDomain.d.ts +5 -1
- package/apps/core/src/domain/helpers/calculationVariable/index.d.ts +2 -1
- package/apps/core/src/domain/import/importDomain.d.ts +12 -2
- package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
- package/apps/core/src/domain/log/logDomain.d.ts +3 -1
- package/apps/core/src/domain/permission/_types.d.ts +11 -11
- package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +4 -13
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +24 -6
- package/apps/core/src/domain/permission/helpers/reducePermissionsArray.d.ts +1 -1
- package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
- package/apps/core/src/domain/permission/permissionDomain.d.ts +1 -0
- package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
- package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +2 -2
- package/apps/core/src/domain/record/_types.d.ts +4 -3
- package/apps/core/src/domain/record/helpers/createRecord.d.ts +22 -0
- package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
- package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +24 -0
- package/apps/core/src/domain/record/helpers/index.d.ts +3 -0
- package/apps/core/src/domain/record/recordDomain.d.ts +31 -3
- package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
- package/apps/core/src/domain/value/helpers/{canSaveValue.d.ts → canSaveRecordValue.d.ts} +3 -3
- package/apps/core/src/domain/value/helpers/isEmptyValue.d.ts +5 -0
- package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
- package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
- package/apps/core/src/domain/value/helpers/validateValue.d.ts +4 -4
- package/apps/core/src/domain/value/valueDomain.d.ts +11 -4
- package/apps/core/src/errors/LeavError.d.ts +6 -0
- package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
- package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
- package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +54 -24
- package/apps/core/src/infra/db/dbUtils.d.ts +1 -3
- package/apps/core/src/infra/db/migrations/008-addSkeletonApp.d.ts +7 -0
- package/apps/core/src/infra/db/migrations/009-addDisplayMultiLinkOptAttributeProperty.d.ts +11 -0
- package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +8 -0
- package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
- package/apps/core/src/infra/oidc/oidcClientService.d.ts +3 -1
- package/apps/core/src/infra/permission/permissionRepo.d.ts +9 -1
- package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
- package/apps/core/src/infra/record/recordRepo.d.ts +11 -0
- package/apps/core/src/infra/tree/treeRepo.d.ts +4 -3
- package/apps/core/src/infra/value/valueRepo.d.ts +17 -10
- package/apps/core/src/interface/server.d.ts +7 -0
- package/apps/core/src/pluginsLoader.d.ts +1 -1
- package/apps/core/src/utils/dataloader.d.ts +8 -0
- package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
- package/apps/core/src/utils/index.d.ts +1 -0
- package/apps/core/src/utils/utils.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +8 -1
- package/package.json +5 -2
|
@@ -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 {
|
|
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 |
|
|
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?:
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
|
29
|
+
getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean>;
|
|
12
30
|
}
|
|
13
|
-
export default function (deps:
|
|
31
|
+
export default function (deps: IPermissionByUserGroupsHelperDeps): IPermissionByUserGroupsHelper;
|
|
14
32
|
export {};
|
|
@@ -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.
|
|
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
|
-
|
|
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,25 @@ 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';
|
|
23
30
|
export interface IRecordDomain {
|
|
31
|
+
/**
|
|
32
|
+
* Create empty record
|
|
33
|
+
* Used when create a record, set active to false and inCreation to true
|
|
34
|
+
*/
|
|
35
|
+
createEmptyRecord(params: {
|
|
36
|
+
library: string;
|
|
37
|
+
ctx: IQueryInfos;
|
|
38
|
+
}): Promise<ICreateRecordResult>;
|
|
24
39
|
createRecord(params: {
|
|
25
40
|
library: string;
|
|
26
|
-
values?:
|
|
41
|
+
values?: ISaveValue[];
|
|
27
42
|
verifyRequiredAttributes?: boolean;
|
|
28
43
|
ctx: IQueryInfos;
|
|
29
44
|
}): Promise<ICreateRecordResult>;
|
|
@@ -78,6 +93,12 @@ export interface IRecordDomain {
|
|
|
78
93
|
filters?: IRecordFilterLight[];
|
|
79
94
|
ctx: IQueryInfos;
|
|
80
95
|
}): Promise<IRecord[]>;
|
|
96
|
+
activateRecordsBatch(params: {
|
|
97
|
+
libraryId: string;
|
|
98
|
+
recordsIds?: string[];
|
|
99
|
+
filters?: IRecordFilterLight[];
|
|
100
|
+
ctx: IQueryInfos;
|
|
101
|
+
}): Promise<IRecord[]>;
|
|
81
102
|
purgeInactiveRecords(params: {
|
|
82
103
|
libraryId: string;
|
|
83
104
|
ctx: IQueryInfos;
|
|
@@ -90,16 +111,23 @@ export interface IRecordDomainDeps {
|
|
|
90
111
|
'core.domain.value': IValueDomain;
|
|
91
112
|
'core.domain.permission.record': IRecordPermissionDomain;
|
|
92
113
|
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
114
|
+
'core.domain.permission.attribute': IAttributePermissionDomain;
|
|
115
|
+
'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
|
|
116
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
93
117
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
94
118
|
'core.domain.helpers.validate': IValidateHelper;
|
|
119
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
120
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
95
121
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
96
122
|
'core.infra.library': ILibraryRepo;
|
|
97
123
|
'core.infra.tree': ITreeRepo;
|
|
124
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
98
125
|
'core.infra.value': IValueRepo;
|
|
99
126
|
'core.infra.form': IFormRepo;
|
|
127
|
+
'core.infra.permission': IPermissionRepo;
|
|
100
128
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
101
129
|
'core.infra.cache.cacheService': ICachesService;
|
|
102
130
|
'core.utils': IUtils;
|
|
103
131
|
translator: i18n;
|
|
104
132
|
}
|
|
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;
|
|
133
|
+
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': 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,
|
|
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<
|
|
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
|
|
9
|
+
interface ICanSaveRecordValueRes {
|
|
10
10
|
canSave: boolean;
|
|
11
11
|
reason?: RecordAttributePermissionsActions | RecordPermissionsActions | Errors;
|
|
12
12
|
fields?: ErrorFieldDetail<IValue>;
|
|
13
13
|
}
|
|
14
|
-
interface
|
|
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:
|
|
27
|
+
declare const _default: (params: ICanSaveRecordValueParams) => Promise<ICanSaveRecordValueRes>;
|
|
28
28
|
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 {
|
|
6
|
+
import { ISaveValue } from '_types/value';
|
|
7
7
|
interface IPrepareValueParams {
|
|
8
8
|
attributeProps: IAttribute;
|
|
9
|
-
value:
|
|
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<
|
|
21
|
+
declare const _default: (params: IPrepareValueParams) => Promise<ISaveValue[]>;
|
|
22
22
|
export default _default;
|
|
@@ -7,7 +7,7 @@ import { ITreeRepo } from 'infra/tree/treeRepo';
|
|
|
7
7
|
import { IValueRepo } from 'infra/value/valueRepo';
|
|
8
8
|
import { IQueryInfos } from '_types/queryInfos';
|
|
9
9
|
import { IAttribute } from '../../../_types/attribute';
|
|
10
|
-
import { IValue } from '../../../_types/value';
|
|
10
|
+
import { ISaveValue, IValue } from '../../../_types/value';
|
|
11
11
|
interface ISaveOneValueDeps {
|
|
12
12
|
valueRepo: IValueRepo;
|
|
13
13
|
recordRepo: IRecordRepo;
|
|
@@ -17,5 +17,5 @@ interface ISaveOneValueDeps {
|
|
|
17
17
|
attributeDomain: IAttributeDomain;
|
|
18
18
|
versionProfileDomain: IVersionProfileDomain;
|
|
19
19
|
}
|
|
20
|
-
declare const _default: (library: string, recordId: string, attribute: IAttribute, value:
|
|
20
|
+
declare const _default: (library: string, recordId: string, attribute: IAttribute, value: ISaveValue, deps: ISaveOneValueDeps, ctx: IQueryInfos) => Promise<IValue>;
|
|
21
21
|
export default _default;
|
|
@@ -5,12 +5,12 @@ import { IValueRepo } from 'infra/value/valueRepo';
|
|
|
5
5
|
import { IAttribute } from '../../../_types/attribute';
|
|
6
6
|
import { ErrorFieldDetail } from '../../../_types/errors';
|
|
7
7
|
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
8
|
-
import {
|
|
8
|
+
import { ISaveValue } from '../../../_types/value';
|
|
9
9
|
interface IValidateValueParams {
|
|
10
10
|
attributeProps: IAttribute;
|
|
11
|
-
value:
|
|
11
|
+
value: ISaveValue;
|
|
12
12
|
library: string;
|
|
13
|
-
recordId
|
|
13
|
+
recordId?: string;
|
|
14
14
|
infos?: IQueryInfos;
|
|
15
15
|
keepEmpty: boolean;
|
|
16
16
|
deps: {
|
|
@@ -21,5 +21,5 @@ interface IValidateValueParams {
|
|
|
21
21
|
};
|
|
22
22
|
ctx: IQueryInfos;
|
|
23
23
|
}
|
|
24
|
-
declare const _default: (params: IValidateValueParams) => Promise<ErrorFieldDetail<
|
|
24
|
+
declare const _default: (params: IValidateValueParams) => Promise<ErrorFieldDetail<ISaveValue>>;
|
|
25
25
|
export default _default;
|
|
@@ -14,13 +14,16 @@ import * as Config from '_types/config';
|
|
|
14
14
|
import { IRecord } from '_types/record';
|
|
15
15
|
import { IAttribute } from '../../_types/attribute';
|
|
16
16
|
import { IQueryInfos } from '../../_types/queryInfos';
|
|
17
|
-
import { IValue, IValuesOptions } from '../../_types/value';
|
|
17
|
+
import { ISaveValue, IValue, IValuesOptions } from '../../_types/value';
|
|
18
18
|
import { IActionsListDomain } from '../actionsList/actionsListDomain';
|
|
19
19
|
import { IAttributeDomain } from '../attribute/attributeDomain';
|
|
20
20
|
import { IValidateHelper } from '../helpers/validate';
|
|
21
21
|
import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
|
|
22
22
|
import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
|
|
23
23
|
import { IDeleteValueParams, IRunActionListParams } from './_types';
|
|
24
|
+
import { DeleteRecordHelper } from 'domain/record/helpers/deleteRecord';
|
|
25
|
+
import { CreateRecordHelper } from 'domain/record/helpers/createRecord';
|
|
26
|
+
import { IfLibraryJoinLinkAttribute } from '../attribute/helpers/ifLibraryJoinLinkAttribute';
|
|
24
27
|
export interface ISaveBatchValueError {
|
|
25
28
|
type: string;
|
|
26
29
|
message: string;
|
|
@@ -58,7 +61,7 @@ export interface IValueDomain {
|
|
|
58
61
|
library: string;
|
|
59
62
|
recordId: string;
|
|
60
63
|
attribute: string;
|
|
61
|
-
value:
|
|
64
|
+
value: ISaveValue;
|
|
62
65
|
ctx: IQueryInfos;
|
|
63
66
|
}): Promise<IValue[]>;
|
|
64
67
|
/**
|
|
@@ -70,9 +73,10 @@ export interface IValueDomain {
|
|
|
70
73
|
saveValueBatch(params: {
|
|
71
74
|
library: string;
|
|
72
75
|
recordId: string;
|
|
73
|
-
values:
|
|
76
|
+
values: ISaveValue[];
|
|
74
77
|
ctx: IQueryInfos;
|
|
75
78
|
keepEmpty?: boolean;
|
|
79
|
+
skipPermission?: boolean;
|
|
76
80
|
}): Promise<ISaveBatchValueResult>;
|
|
77
81
|
deleteValue(params: IDeleteValueParams): Promise<IValue[]>;
|
|
78
82
|
formatValue(params: {
|
|
@@ -101,6 +105,9 @@ export interface IValueDomainDeps {
|
|
|
101
105
|
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
102
106
|
'core.domain.tree.helpers.getDefaultElement': IGetDefaultElementHelper;
|
|
103
107
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
108
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
109
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
110
|
+
'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
|
|
104
111
|
'core.domain.versionProfile': IVersionProfileDomain;
|
|
105
112
|
'core.infra.record': IRecordRepo;
|
|
106
113
|
'core.infra.tree': ITreeRepo;
|
|
@@ -109,5 +116,5 @@ export interface IValueDomainDeps {
|
|
|
109
116
|
'core.utils.logger': winston.Winston;
|
|
110
117
|
'core.domain.tree': ITreeDomain;
|
|
111
118
|
}
|
|
112
|
-
declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
|
|
119
|
+
declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.record.helpers.createRecord": createRecordHelper, "core.domain.record.helpers.deleteRecord": deleteRecordHelper, "core.domain.attribute.helpers.ifLibraryJoinLinkAttribute": ifLibraryJoinLinkAttribute, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
|
|
113
120
|
export default valueDomain;
|
|
@@ -14,6 +14,12 @@ export default class LeavError<T, E = ErrorTypes> extends Error {
|
|
|
14
14
|
fields?: ErrorFieldDetail<T>;
|
|
15
15
|
type: E;
|
|
16
16
|
record?: ILeavErrorRecord;
|
|
17
|
+
/**
|
|
18
|
+
* Use this ID to identify the error in logs or for debugging purposes.
|
|
19
|
+
* It is generated using uuid v1, which includes a timestamp and a unique identifier.
|
|
20
|
+
* This allows for tracking the error across different systems and logs.
|
|
21
|
+
*/
|
|
22
|
+
errorId: string;
|
|
17
23
|
constructor(type: E, message?: string, details?: ILeavErrorDetails);
|
|
18
24
|
}
|
|
19
25
|
export {};
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
|
|
2
2
|
import { IUtils } from 'utils/utils';
|
|
3
|
+
import { AttributeTypes } from '../../_types/attribute';
|
|
3
4
|
import { IDbService } from '../db/dbService';
|
|
4
5
|
import { IDbUtils } from '../db/dbUtils';
|
|
5
6
|
import { IAttributeTypeRepo } from './attributeTypesRepo';
|
|
6
7
|
import { GetConditionPart } from './helpers/getConditionPart';
|
|
8
|
+
import { IAttributeSimpleLinkRepo } from './attributeSimpleLinkRepo';
|
|
9
|
+
export type IAttributeAdvancedLinkRepo = IAttributeTypeRepo<AttributeTypes.ADVANCED_LINK>;
|
|
7
10
|
interface IDeps {
|
|
8
11
|
'core.infra.db.dbService'?: IDbService;
|
|
9
12
|
'core.infra.db.dbUtils'?: IDbUtils;
|
|
10
|
-
'core.infra.attributeTypes.attributeSimpleLink'?:
|
|
13
|
+
'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeSimpleLinkRepo;
|
|
11
14
|
'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
|
|
12
15
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
13
16
|
'core.utils'?: IUtils;
|
|
14
17
|
}
|
|
15
|
-
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps):
|
|
18
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeAdvancedLinkRepo;
|
|
16
19
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDbUtils } from 'infra/db/dbUtils';
|
|
2
2
|
import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
|
|
3
|
+
import { AttributeTypes } from '../../_types/attribute';
|
|
3
4
|
import { IDbService } from '../db/dbService';
|
|
4
5
|
import { IAttributeTypeRepo } from './attributeTypesRepo';
|
|
5
6
|
import { GetConditionPart } from './helpers/getConditionPart';
|
|
@@ -9,4 +10,5 @@ export interface IAttributeAdvancedRepoDeps {
|
|
|
9
10
|
'core.infra.attributeTypes.helpers.getConditionPart': GetConditionPart;
|
|
10
11
|
'core.infra.record.helpers.filterTypes': IFilterTypesHelper;
|
|
11
12
|
}
|
|
12
|
-
export
|
|
13
|
+
export type IAttributeAdvancedRepo = IAttributeTypeRepo<AttributeTypes.ADVANCED>;
|
|
14
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }: IAttributeAdvancedRepoDeps): IAttributeAdvancedRepo;
|