@aristid/leav-types 0.0.7-ffaf19e → 1.0.0-e073ed8e
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 +12 -0
- package/apps/core/config/development.d.ts +1 -0
- package/apps/core/config/test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/e2eUtils.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/infra/treeRepo.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 +1 -1
- package/apps/core/src/__tests__/mockers/logger.d.ts +4 -4
- package/apps/core/src/_types/config.d.ts +34 -1
- package/apps/core/src/_types/dbProfiler.d.ts +20 -1
- package/apps/core/src/_types/errors.d.ts +1 -0
- package/apps/core/src/_types/events.d.ts +45 -0
- package/apps/core/src/_types/forms.d.ts +4 -0
- package/apps/core/src/_types/library.d.ts +7 -0
- package/apps/core/src/_types/permissions.d.ts +3 -1
- package/apps/core/src/_types/queryInfos.d.ts +5 -0
- package/apps/core/src/_types/record.d.ts +4 -4
- package/apps/core/src/_types/tree.d.ts +1 -1
- package/apps/core/src/_types/value.d.ts +64 -5
- package/apps/core/src/_types/views.d.ts +1 -1
- package/apps/core/src/app/application/applicationApp.d.ts +3 -7
- package/apps/core/src/app/auth/authApp.d.ts +4 -5
- 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/formApp.d.ts +6 -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/eventsManager/eventsManagerDomain.d.ts +3 -2
- package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -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 +10 -2
- package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +3 -12
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +7 -7
- 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 +1 -0
- 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 +1 -1
- package/apps/core/src/domain/record/helpers/index.d.ts +2 -0
- package/apps/core/src/domain/record/recordDomain.d.ts +31 -4
- package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
- 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 +3 -3
- package/apps/core/src/domain/value/valueDomain.d.ts +10 -4
- 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 +52 -22
- package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
- package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
- package/apps/core/src/infra/record/recordRepo.d.ts +9 -0
- package/apps/core/src/infra/tree/treeRepo.d.ts +3 -2
- package/apps/core/src/infra/value/valueRepo.d.ts +10 -8
- package/apps/core/src/interface/server.d.ts +7 -0
- package/apps/core/src/utils/dataloader.d.ts +9 -0
- package/apps/core/src/utils/dataloader.spec.d.ts +1 -0
- package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
- package/apps/core/src/utils/index.d.ts +1 -0
- package/package.json +6 -3
|
@@ -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;
|
|
@@ -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 {};
|
|
@@ -19,6 +19,6 @@ export interface IGetAccessPermissionsValue {
|
|
|
19
19
|
false: Array<ITreeNode['id']>;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
export type IGetAccessPermissions = (groupsIds: string[], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
22
|
+
export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
23
23
|
declare const getAccessPermissionsFilters: IGetAccessPermissions;
|
|
24
24
|
export default getAccessPermissionsFilters;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export { default as createRecord } from './createRecord';
|
|
2
|
+
export { default as deleteRecord } from './deleteRecord';
|
|
1
3
|
export { default as sendRecordUpdateEvent } from './sendRecordUpdateEvent';
|
|
2
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';
|
|
@@ -22,12 +22,30 @@ import { ICreateRecordResult, IFindRecordParams } from './_types';
|
|
|
22
22
|
import { IFormRepo } from 'infra/form/formRepo';
|
|
23
23
|
import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
|
|
24
24
|
import { IAttributePermissionDomain } from '../permission/attributePermissionDomain';
|
|
25
|
-
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
25
|
+
import { IPermissionRepo } from '../../infra/permission/permissionRepo';
|
|
26
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';
|
|
27
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>;
|
|
28
46
|
createRecord(params: {
|
|
29
47
|
library: string;
|
|
30
|
-
values?:
|
|
48
|
+
values?: ISaveValue[];
|
|
31
49
|
verifyRequiredAttributes?: boolean;
|
|
32
50
|
ctx: IQueryInfos;
|
|
33
51
|
}): Promise<ICreateRecordResult>;
|
|
@@ -92,6 +110,11 @@ export interface IRecordDomain {
|
|
|
92
110
|
libraryId: string;
|
|
93
111
|
ctx: IQueryInfos;
|
|
94
112
|
}): Promise<IRecord[]>;
|
|
113
|
+
purgeRecord(params: {
|
|
114
|
+
libraryId: string;
|
|
115
|
+
recordId: string;
|
|
116
|
+
ctx: IQueryInfos;
|
|
117
|
+
}): Promise<IRecord>;
|
|
95
118
|
}
|
|
96
119
|
export interface IRecordDomainDeps {
|
|
97
120
|
config: Config.IConfig;
|
|
@@ -105,15 +128,19 @@ export interface IRecordDomainDeps {
|
|
|
105
128
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
106
129
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
107
130
|
'core.domain.helpers.validate': IValidateHelper;
|
|
131
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
132
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
108
133
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
109
134
|
'core.infra.library': ILibraryRepo;
|
|
110
135
|
'core.infra.tree': ITreeRepo;
|
|
136
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
111
137
|
'core.infra.value': IValueRepo;
|
|
112
138
|
'core.infra.form': IFormRepo;
|
|
113
139
|
'core.infra.permission': IPermissionRepo;
|
|
114
140
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
115
141
|
'core.infra.cache.cacheService': ICachesService;
|
|
142
|
+
'core.utils.logger': winston.Winston;
|
|
116
143
|
'core.utils': IUtils;
|
|
117
144
|
translator: i18n;
|
|
118
145
|
}
|
|
119
|
-
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.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, '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;
|
|
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,
|
|
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
|
*/
|
|
@@ -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,10 +5,10 @@ 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
13
|
recordId?: string;
|
|
14
14
|
infos?: IQueryInfos;
|
|
@@ -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,7 +73,7 @@ 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;
|
|
76
79
|
skipPermission?: boolean;
|
|
@@ -102,6 +105,9 @@ export interface IValueDomainDeps {
|
|
|
102
105
|
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
103
106
|
'core.domain.tree.helpers.getDefaultElement': IGetDefaultElementHelper;
|
|
104
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;
|
|
105
111
|
'core.domain.versionProfile': IVersionProfileDomain;
|
|
106
112
|
'core.infra.record': IRecordRepo;
|
|
107
113
|
'core.infra.tree': ITreeRepo;
|
|
@@ -110,5 +116,5 @@ export interface IValueDomainDeps {
|
|
|
110
116
|
'core.utils.logger': winston.Winston;
|
|
111
117
|
'core.domain.tree': ITreeDomain;
|
|
112
118
|
}
|
|
113
|
-
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;
|
|
114
120
|
export default valueDomain;
|
|
@@ -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;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
|
|
2
|
+
import { AttributeTypes } from '../../_types/attribute';
|
|
2
3
|
import { IDbService } from '../db/dbService';
|
|
3
4
|
import { IDbUtils } from '../db/dbUtils';
|
|
4
5
|
import { IAttributeTypeRepo } from './attributeTypesRepo';
|
|
5
6
|
import { GetConditionPart } from './helpers/getConditionPart';
|
|
7
|
+
import { IAttributeSimpleRepo } from './attributeSimpleRepo';
|
|
6
8
|
interface IDeps {
|
|
7
9
|
'core.infra.db.dbService'?: IDbService;
|
|
8
10
|
'core.infra.db.dbUtils'?: IDbUtils;
|
|
9
|
-
'core.infra.attributeTypes.attributeSimple'?:
|
|
11
|
+
'core.infra.attributeTypes.attributeSimple'?: IAttributeSimpleRepo;
|
|
10
12
|
'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
|
|
11
13
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
12
14
|
}
|
|
13
|
-
export
|
|
15
|
+
export type IAttributeSimpleLinkRepo = IAttributeTypeRepo<AttributeTypes.SIMPLE_LINK>;
|
|
16
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimple': attributeSimpleRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeSimpleLinkRepo;
|
|
14
17
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
|
|
2
|
+
import { AttributeTypes } from '../../_types/attribute';
|
|
2
3
|
import { IDbService } from '../db/dbService';
|
|
3
4
|
import { IAttributeTypeRepo } from './attributeTypesRepo';
|
|
4
5
|
import { GetConditionPart } from './helpers/getConditionPart';
|
|
@@ -7,5 +8,6 @@ interface IDeps {
|
|
|
7
8
|
'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
|
|
8
9
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
9
10
|
}
|
|
10
|
-
export
|
|
11
|
+
export type IAttributeSimpleRepo = IAttributeTypeRepo<AttributeTypes.SIMPLE>;
|
|
12
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeSimpleRepo;
|
|
11
13
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
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';
|
|
@@ -11,5 +12,6 @@ interface IDeps {
|
|
|
11
12
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
12
13
|
'core.utils'?: IUtils;
|
|
13
14
|
}
|
|
14
|
-
export
|
|
15
|
+
export type IAttributeTreeRepo = IAttributeTypeRepo<AttributeTypes.TREE>;
|
|
16
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeTreeRepo;
|
|
15
17
|
export {};
|
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
import { AqlLiteral, GeneratedAqlQuery } from 'arangojs/aql';
|
|
2
2
|
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
-
import { IAttribute } from '../../_types/attribute';
|
|
3
|
+
import { AttributeTypes, IAttribute } from '../../_types/attribute';
|
|
4
4
|
import { AttributeCondition, IRecordFilterOption } from '../../_types/record';
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { ISaveValueByAttributeType, IValueByAttributeType, IValuesOptions } from '../../_types/value';
|
|
6
|
+
import { IAttributeSimpleRepo } from './attributeSimpleRepo';
|
|
7
|
+
import { IAttributeSimpleLinkRepo } from './attributeSimpleLinkRepo';
|
|
8
|
+
import { IAttributeAdvancedRepo } from './attributeAdvancedRepo';
|
|
9
|
+
import { IAttributeAdvancedLinkRepo } from './attributeAdvancedLinkRepo';
|
|
10
|
+
import { IAttributeTreeRepo } from './attributeTreeRepo';
|
|
11
|
+
export type IAttributeWithRepo = IAttributeWithRevLink & {
|
|
7
12
|
_repo: IAttributeTypeRepo;
|
|
8
|
-
}
|
|
13
|
+
};
|
|
14
|
+
type IAttributeRepoByType<AttributeType extends AttributeTypes | unknown> = AttributeType extends AttributeTypes.SIMPLE ? IAttributeSimpleRepo : AttributeType extends AttributeTypes.SIMPLE_LINK ? IAttributeSimpleLinkRepo : AttributeType extends AttributeTypes.ADVANCED ? IAttributeAdvancedRepo : AttributeType extends AttributeTypes.ADVANCED_LINK ? IAttributeAdvancedLinkRepo : AttributeType extends AttributeTypes.TREE ? IAttributeTreeRepo : IAttributeTypeRepo;
|
|
9
15
|
export interface IAttributeTypesRepo {
|
|
10
|
-
getTypeRepo
|
|
16
|
+
getTypeRepo<AttributeType extends AttributeTypes | unknown>(attribute: IAttribute): IAttributeRepoByType<AttributeType>;
|
|
11
17
|
}
|
|
12
18
|
export interface IAttributeWithRevLink extends IAttribute {
|
|
13
19
|
reverse_link?: IAttribute;
|
|
14
20
|
}
|
|
15
21
|
export type GetConditionPartParentFunc = (condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute) => GetConditionPartFunc;
|
|
22
|
+
export type IGetValuesOptions = Pick<IValuesOptions, 'forceGetAllValues' | 'version'>;
|
|
16
23
|
export type GetConditionPartFunc = (valueIdentifier: string | AqlLiteral) => GeneratedAqlQuery;
|
|
17
24
|
/**
|
|
18
25
|
* Define interface used for all attribute type specific files
|
|
19
26
|
*/
|
|
20
|
-
export interface IAttributeTypeRepo {
|
|
27
|
+
export interface IAttributeTypeRepo<AttributeType extends AttributeTypes = AttributeTypes, Value = IValueByAttributeType[AttributeType]> {
|
|
21
28
|
createValue({ library, recordId, attribute, value, ctx }: {
|
|
22
29
|
library: string;
|
|
23
30
|
recordId: string;
|
|
24
31
|
attribute: IAttributeWithRevLink;
|
|
25
|
-
value:
|
|
32
|
+
value: ISaveValueByAttributeType[AttributeType];
|
|
26
33
|
ctx: IQueryInfos;
|
|
27
|
-
}): Promise<
|
|
34
|
+
}): Promise<Value>;
|
|
28
35
|
/**
|
|
29
36
|
* Update an existing value. Field "id" is expected on the value
|
|
30
37
|
*/
|
|
@@ -32,9 +39,9 @@ export interface IAttributeTypeRepo {
|
|
|
32
39
|
library: string;
|
|
33
40
|
recordId: string;
|
|
34
41
|
attribute: IAttributeWithRevLink;
|
|
35
|
-
value:
|
|
42
|
+
value: ISaveValueByAttributeType[AttributeType];
|
|
36
43
|
ctx: IQueryInfos;
|
|
37
|
-
}): Promise<
|
|
44
|
+
}): Promise<Value>;
|
|
38
45
|
/**
|
|
39
46
|
* Delete an existing value. Field "id" is expected on the value
|
|
40
47
|
*/
|
|
@@ -42,9 +49,9 @@ export interface IAttributeTypeRepo {
|
|
|
42
49
|
library: string;
|
|
43
50
|
recordId: string;
|
|
44
51
|
attribute: IAttributeWithRevLink;
|
|
45
|
-
value:
|
|
52
|
+
value: Value;
|
|
46
53
|
ctx: IQueryInfos;
|
|
47
|
-
}): Promise<
|
|
54
|
+
}): Promise<Value>;
|
|
48
55
|
/**
|
|
49
56
|
* Check if a value is unique
|
|
50
57
|
*/
|
|
@@ -52,7 +59,7 @@ export interface IAttributeTypeRepo {
|
|
|
52
59
|
library: string;
|
|
53
60
|
excludedRecordId?: string;
|
|
54
61
|
attribute: IAttribute;
|
|
55
|
-
value:
|
|
62
|
+
value: Value;
|
|
56
63
|
ctx: IQueryInfos;
|
|
57
64
|
}): Promise<boolean>;
|
|
58
65
|
/**
|
|
@@ -65,9 +72,21 @@ export interface IAttributeTypeRepo {
|
|
|
65
72
|
recordId: string;
|
|
66
73
|
attribute: IAttributeWithRevLink;
|
|
67
74
|
forceGetAllValues?: boolean;
|
|
68
|
-
options?:
|
|
75
|
+
options?: IGetValuesOptions;
|
|
76
|
+
ctx: IQueryInfos;
|
|
77
|
+
}): Promise<Value[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Get all values for given records and attribute
|
|
80
|
+
*
|
|
81
|
+
* @return Array<{}> Return an empty array if no value found for each record
|
|
82
|
+
*/
|
|
83
|
+
getValuesBatch({ library, attribute, recordIds, options, ctx }: {
|
|
84
|
+
library: string;
|
|
85
|
+
attribute: IAttributeWithRevLink;
|
|
86
|
+
recordIds: string[];
|
|
87
|
+
options?: IGetValuesOptions;
|
|
69
88
|
ctx: IQueryInfos;
|
|
70
|
-
}): Promise<
|
|
89
|
+
}): Promise<Value[][]>;
|
|
71
90
|
/**
|
|
72
91
|
* Get all reverse values for given attribute / value
|
|
73
92
|
*
|
|
@@ -78,7 +97,18 @@ export interface IAttributeTypeRepo {
|
|
|
78
97
|
value: string;
|
|
79
98
|
forceGetAllValues: boolean;
|
|
80
99
|
ctx: IQueryInfos;
|
|
81
|
-
}): Promise<
|
|
100
|
+
}): Promise<Value[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Get all reverse values for given attribute / values
|
|
103
|
+
*
|
|
104
|
+
* @return Array<{}> Return an empty array if no value found for each record
|
|
105
|
+
*/
|
|
106
|
+
getReverseValuesBatch?({ advancedLinkAttr, ctx }: {
|
|
107
|
+
advancedLinkAttr: IAttributeWithRevLink;
|
|
108
|
+
values: string[];
|
|
109
|
+
forceGetAllValues: boolean;
|
|
110
|
+
ctx: IQueryInfos;
|
|
111
|
+
}): Promise<Value[][]>;
|
|
82
112
|
/**
|
|
83
113
|
* Return a specific value based on its ID. Field "id" is expect on the value
|
|
84
114
|
*
|
|
@@ -90,7 +120,7 @@ export interface IAttributeTypeRepo {
|
|
|
90
120
|
attribute: IAttribute;
|
|
91
121
|
valueId: string;
|
|
92
122
|
ctx: IQueryInfos;
|
|
93
|
-
}): Promise<
|
|
123
|
+
}): Promise<Value>;
|
|
94
124
|
/**
|
|
95
125
|
* Return AQL query part to retrieve value for this attribute.
|
|
96
126
|
* If will be concatenate with other filters and full query
|
|
@@ -118,11 +148,11 @@ export declare const ATTRIB_COLLECTION_NAME = "core_attributes";
|
|
|
118
148
|
export declare const BASE_QUERY_IDENTIFIER = "r";
|
|
119
149
|
export declare const isValuesCountCondition: (condition: AttributeCondition) => boolean;
|
|
120
150
|
interface IDeps {
|
|
121
|
-
'core.infra.attributeTypes.attributeSimple'?:
|
|
122
|
-
'core.infra.attributeTypes.attributeSimpleLink'?:
|
|
123
|
-
'core.infra.attributeTypes.attributeAdvanced'?:
|
|
124
|
-
'core.infra.attributeTypes.attributeAdvancedLink'?:
|
|
125
|
-
'core.infra.attributeTypes.attributeTree'?:
|
|
151
|
+
'core.infra.attributeTypes.attributeSimple'?: IAttributeSimpleRepo;
|
|
152
|
+
'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeSimpleLinkRepo;
|
|
153
|
+
'core.infra.attributeTypes.attributeAdvanced'?: IAttributeAdvancedRepo;
|
|
154
|
+
'core.infra.attributeTypes.attributeAdvancedLink'?: IAttributeAdvancedLinkRepo;
|
|
155
|
+
'core.infra.attributeTypes.attributeTree'?: IAttributeTreeRepo;
|
|
126
156
|
}
|
|
127
157
|
export default function ({ 'core.infra.attributeTypes.attributeSimple': attributeSimpleRepo, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.attributeAdvanced': attributeAdvancedRepo, 'core.infra.attributeTypes.attributeAdvancedLink': attributeAdvancedLinkRepo, 'core.infra.attributeTypes.attributeTree': attributeTreeRepo }?: IDeps): IAttributeTypesRepo;
|
|
128
158
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type IDbService } from '../dbService';
|
|
2
|
+
import { type IMigration } from '../../../_types/migration';
|
|
3
|
+
interface IDeps {
|
|
4
|
+
'core.infra.db.dbService'?: IDbService;
|
|
5
|
+
}
|
|
6
|
+
export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
|
|
7
|
+
export {};
|
|
@@ -3,6 +3,6 @@ import { IFilterTypesHelper } from './filterTypes';
|
|
|
3
3
|
interface IDeps {
|
|
4
4
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
5
5
|
}
|
|
6
|
-
export type GetSearchVariableName = (filter: IRecordFilterOption) => string;
|
|
6
|
+
export type GetSearchVariableName = (filter: IRecordFilterOption) => string | undefined;
|
|
7
7
|
export default function ({ 'core.infra.record.helpers.filterTypes': filterTypesHelper }: IDeps): GetSearchVariableName;
|
|
8
8
|
export {};
|
|
@@ -47,6 +47,15 @@ export interface IRecordRepo {
|
|
|
47
47
|
ctx: IQueryInfos;
|
|
48
48
|
accessPermissionFilters?: IGetAccessPermissionsValue[];
|
|
49
49
|
}): Promise<IListWithCursor<IRecord>>;
|
|
50
|
+
/**
|
|
51
|
+
* get record by recordId, return null if record not found
|
|
52
|
+
* NB: use internal dataloader to mutualize query when possible for a given ctx
|
|
53
|
+
*/
|
|
54
|
+
getRecord(params: {
|
|
55
|
+
libraryId: string;
|
|
56
|
+
recordId: string;
|
|
57
|
+
ctx: IQueryInfos;
|
|
58
|
+
}): Promise<IRecord | null>;
|
|
50
59
|
}
|
|
51
60
|
export interface IRecordRepoDeps {
|
|
52
61
|
'core.infra.db.dbService': IDbService;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IList, IPaginationParams } from '_types/list';
|
|
2
2
|
import { IQueryInfos } from '_types/queryInfos';
|
|
3
3
|
import { IRecord } from '_types/record';
|
|
4
|
-
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight,
|
|
4
|
+
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight, TreePath } from '_types/tree';
|
|
5
5
|
import { IDbService } from '../db/dbService';
|
|
6
6
|
import { IDbUtils } from '../db/dbUtils';
|
|
7
7
|
export interface ITreeRepo {
|
|
@@ -116,6 +116,7 @@ export interface ITreeRepo {
|
|
|
116
116
|
}): Promise<IList<ITreeNode>>;
|
|
117
117
|
/**
|
|
118
118
|
* Return all ancestors of an element, from root to element, but excluding tree root
|
|
119
|
+
* Prefer use core.domain.tree.helpers.elementAncestors.getCachedElementAncestors
|
|
119
120
|
*
|
|
120
121
|
* @param treeId
|
|
121
122
|
* @param element
|
|
@@ -124,7 +125,7 @@ export interface ITreeRepo {
|
|
|
124
125
|
treeId: string;
|
|
125
126
|
nodeId: string;
|
|
126
127
|
ctx: IQueryInfos;
|
|
127
|
-
}): Promise<
|
|
128
|
+
}): Promise<TreePath>;
|
|
128
129
|
getLinkedRecords(params: {
|
|
129
130
|
treeId: string;
|
|
130
131
|
attribute: string;
|