@aristid/leav-types 0.0.7-abaaefb → 0.0.7-abd3e96a
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 +1 -0
- package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.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/__tests__/mocks/attribute.d.ts +2 -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 +6 -0
- 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/library.d.ts +3 -1
- package/apps/core/src/_types/permissions.d.ts +2 -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 +1 -1
- package/apps/core/src/_types/value.d.ts +64 -5
- 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/import/importDomain.d.ts +1 -1
- package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
- package/apps/core/src/domain/permission/_types.d.ts +10 -2
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +2 -2
- package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
- package/apps/core/src/domain/record/_types.d.ts +4 -3
- package/apps/core/src/domain/record/helpers/createRecord.d.ts +21 -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 +16 -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 +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 +27 -21
- 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 +1 -1
- package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
- package/apps/core/src/infra/tree/treeRepo.d.ts +2 -2
- package/apps/core/src/infra/value/valueRepo.d.ts +3 -3
- package/apps/core/src/interface/server.d.ts +7 -0
- 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 +3 -1
- package/package.json +5 -2
|
@@ -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;
|
|
@@ -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,13 +1,19 @@
|
|
|
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;
|
|
@@ -17,14 +23,14 @@ export type GetConditionPartFunc = (valueIdentifier: string | AqlLiteral) => Gen
|
|
|
17
23
|
/**
|
|
18
24
|
* Define interface used for all attribute type specific files
|
|
19
25
|
*/
|
|
20
|
-
export interface IAttributeTypeRepo {
|
|
26
|
+
export interface IAttributeTypeRepo<AttributeType extends AttributeTypes = AttributeTypes, Value = IValueByAttributeType[AttributeType]> {
|
|
21
27
|
createValue({ library, recordId, attribute, value, ctx }: {
|
|
22
28
|
library: string;
|
|
23
29
|
recordId: string;
|
|
24
30
|
attribute: IAttributeWithRevLink;
|
|
25
|
-
value:
|
|
31
|
+
value: ISaveValueByAttributeType[AttributeType];
|
|
26
32
|
ctx: IQueryInfos;
|
|
27
|
-
}): Promise<
|
|
33
|
+
}): Promise<Value>;
|
|
28
34
|
/**
|
|
29
35
|
* Update an existing value. Field "id" is expected on the value
|
|
30
36
|
*/
|
|
@@ -32,9 +38,9 @@ export interface IAttributeTypeRepo {
|
|
|
32
38
|
library: string;
|
|
33
39
|
recordId: string;
|
|
34
40
|
attribute: IAttributeWithRevLink;
|
|
35
|
-
value:
|
|
41
|
+
value: ISaveValueByAttributeType[AttributeType];
|
|
36
42
|
ctx: IQueryInfos;
|
|
37
|
-
}): Promise<
|
|
43
|
+
}): Promise<Value>;
|
|
38
44
|
/**
|
|
39
45
|
* Delete an existing value. Field "id" is expected on the value
|
|
40
46
|
*/
|
|
@@ -42,9 +48,9 @@ export interface IAttributeTypeRepo {
|
|
|
42
48
|
library: string;
|
|
43
49
|
recordId: string;
|
|
44
50
|
attribute: IAttributeWithRevLink;
|
|
45
|
-
value:
|
|
51
|
+
value: Value;
|
|
46
52
|
ctx: IQueryInfos;
|
|
47
|
-
}): Promise<
|
|
53
|
+
}): Promise<Value>;
|
|
48
54
|
/**
|
|
49
55
|
* Check if a value is unique
|
|
50
56
|
*/
|
|
@@ -52,7 +58,7 @@ export interface IAttributeTypeRepo {
|
|
|
52
58
|
library: string;
|
|
53
59
|
excludedRecordId?: string;
|
|
54
60
|
attribute: IAttribute;
|
|
55
|
-
value:
|
|
61
|
+
value: Value;
|
|
56
62
|
ctx: IQueryInfos;
|
|
57
63
|
}): Promise<boolean>;
|
|
58
64
|
/**
|
|
@@ -67,7 +73,7 @@ export interface IAttributeTypeRepo {
|
|
|
67
73
|
forceGetAllValues?: boolean;
|
|
68
74
|
options?: IValuesOptions;
|
|
69
75
|
ctx: IQueryInfos;
|
|
70
|
-
}): Promise<
|
|
76
|
+
}): Promise<Value[]>;
|
|
71
77
|
/**
|
|
72
78
|
* Get all reverse values for given attribute / value
|
|
73
79
|
*
|
|
@@ -78,7 +84,7 @@ export interface IAttributeTypeRepo {
|
|
|
78
84
|
value: string;
|
|
79
85
|
forceGetAllValues: boolean;
|
|
80
86
|
ctx: IQueryInfos;
|
|
81
|
-
}): Promise<
|
|
87
|
+
}): Promise<Value[]>;
|
|
82
88
|
/**
|
|
83
89
|
* Return a specific value based on its ID. Field "id" is expect on the value
|
|
84
90
|
*
|
|
@@ -90,7 +96,7 @@ export interface IAttributeTypeRepo {
|
|
|
90
96
|
attribute: IAttribute;
|
|
91
97
|
valueId: string;
|
|
92
98
|
ctx: IQueryInfos;
|
|
93
|
-
}): Promise<
|
|
99
|
+
}): Promise<Value>;
|
|
94
100
|
/**
|
|
95
101
|
* Return AQL query part to retrieve value for this attribute.
|
|
96
102
|
* If will be concatenate with other filters and full query
|
|
@@ -118,11 +124,11 @@ export declare const ATTRIB_COLLECTION_NAME = "core_attributes";
|
|
|
118
124
|
export declare const BASE_QUERY_IDENTIFIER = "r";
|
|
119
125
|
export declare const isValuesCountCondition: (condition: AttributeCondition) => boolean;
|
|
120
126
|
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'?:
|
|
127
|
+
'core.infra.attributeTypes.attributeSimple'?: IAttributeSimpleRepo;
|
|
128
|
+
'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeSimpleLinkRepo;
|
|
129
|
+
'core.infra.attributeTypes.attributeAdvanced'?: IAttributeAdvancedRepo;
|
|
130
|
+
'core.infra.attributeTypes.attributeAdvancedLink'?: IAttributeAdvancedLinkRepo;
|
|
131
|
+
'core.infra.attributeTypes.attributeTree'?: IAttributeTreeRepo;
|
|
126
132
|
}
|
|
127
133
|
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
134
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type i18n } from 'i18next';
|
|
2
|
+
import { type IDbService } from '../dbService';
|
|
3
|
+
import { type IConfig } from '../../../_types/config';
|
|
4
|
+
import { type IMigration } from '../../../_types/migration';
|
|
5
|
+
interface IDeps {
|
|
6
|
+
'core.infra.db.dbService'?: IDbService;
|
|
7
|
+
translator?: i18n;
|
|
8
|
+
config?: IConfig;
|
|
9
|
+
}
|
|
10
|
+
export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
|
|
11
|
+
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 {};
|
|
@@ -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 {
|
|
@@ -124,7 +124,7 @@ export interface ITreeRepo {
|
|
|
124
124
|
treeId: string;
|
|
125
125
|
nodeId: string;
|
|
126
126
|
ctx: IQueryInfos;
|
|
127
|
-
}): Promise<
|
|
127
|
+
}): Promise<TreePath>;
|
|
128
128
|
getLinkedRecords(params: {
|
|
129
129
|
treeId: string;
|
|
130
130
|
attribute: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDbService } from 'infra/db/dbService';
|
|
2
2
|
import { IAttribute } from '_types/attribute';
|
|
3
3
|
import { IQueryInfos } from '_types/queryInfos';
|
|
4
|
-
import { IValue, IValuesOptions } from '_types/value';
|
|
4
|
+
import { ISaveValue, IValue, IValuesOptions } from '_types/value';
|
|
5
5
|
import { IAttributeTypesRepo, IAttributeWithRevLink } from '../attributeTypes/attributeTypesRepo';
|
|
6
6
|
export declare const VALUES_LINKS_COLLECTION = "core_edge_values_links";
|
|
7
7
|
export declare const VALUES_COLLECTION = "core_values";
|
|
@@ -11,7 +11,7 @@ export interface IValueRepo {
|
|
|
11
11
|
library: string;
|
|
12
12
|
recordId: string;
|
|
13
13
|
attribute: IAttributeWithRevLink;
|
|
14
|
-
value:
|
|
14
|
+
value: ISaveValue;
|
|
15
15
|
ctx: IQueryInfos;
|
|
16
16
|
}): Promise<IValue>;
|
|
17
17
|
/**
|
|
@@ -21,7 +21,7 @@ export interface IValueRepo {
|
|
|
21
21
|
library: string;
|
|
22
22
|
recordId: string;
|
|
23
23
|
attribute: IAttributeWithRevLink;
|
|
24
|
-
value:
|
|
24
|
+
value: ISaveValue;
|
|
25
25
|
ctx: IQueryInfos;
|
|
26
26
|
}): Promise<IValue>;
|
|
27
27
|
/**
|
|
@@ -3,6 +3,7 @@ import { IAuthApp } from 'app/auth/authApp';
|
|
|
3
3
|
import { ICoreApp } from 'app/core/coreApp';
|
|
4
4
|
import { IGraphqlApp } from 'app/graphql/graphqlApp';
|
|
5
5
|
import { AwilixContainer } from 'awilix';
|
|
6
|
+
import { Express } from 'express';
|
|
6
7
|
import { IUtils } from 'utils/utils';
|
|
7
8
|
import * as winston from 'winston';
|
|
8
9
|
import { IConfig } from '_types/config';
|
|
@@ -13,6 +14,12 @@ export interface IServer {
|
|
|
13
14
|
init(): Promise<void>;
|
|
14
15
|
initConsumers(): Promise<void>;
|
|
15
16
|
}
|
|
17
|
+
export interface IServerRouteAppModule {
|
|
18
|
+
/**
|
|
19
|
+
* @param app Express instance, can be used to extend the app
|
|
20
|
+
*/
|
|
21
|
+
registerRoute(app: Express): void;
|
|
22
|
+
}
|
|
16
23
|
interface IDeps {
|
|
17
24
|
config?: IConfig;
|
|
18
25
|
'core.interface.helpers.handleGraphqlError'?: HandleGraphqlErrorFunc;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import DataLoader from 'dataloader';
|
|
2
|
+
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
+
/**
|
|
4
|
+
* Get or create a DataLoader in the request context.
|
|
5
|
+
* Each usage (not each call) of this function should use a unique name to avoid conflicts among different DataLoaders.
|
|
6
|
+
* Name is used has key to store the DataLoader in ctx.dataLoaders.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getOrCreateDataLoaderInCtx<DL extends DataLoader<unknown, unknown>>(ctx: IQueryInfos, name: string, create: () => DL): DL;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IConfig } from '_types/config';
|
|
2
|
+
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
+
interface IDeps {
|
|
4
|
+
config?: IConfig;
|
|
5
|
+
}
|
|
6
|
+
export type GetSystemQueryContext = () => IQueryInfos;
|
|
7
|
+
export default function ({ config }: IDeps): GetSystemQueryContext;
|
|
8
|
+
export {};
|
|
@@ -79,6 +79,7 @@ export interface IUtils {
|
|
|
79
79
|
getFullApplicationEndpoint(endpoint?: string): string;
|
|
80
80
|
getCoreEntityCacheKey(entityType: string, entityId: string): string;
|
|
81
81
|
getRecordsCacheKey(libraryId: string, recordId: string): string;
|
|
82
|
+
getGlobalSettingsCacheKey(): string;
|
|
82
83
|
generateExplicitValidationError<T>(field: keyof T, message: ErrorFieldDetailMessage, lang?: string): ValidationError<T>;
|
|
83
84
|
deleteFile(path: string): Promise<void>;
|
|
84
85
|
getUnixTime(): number;
|
|
@@ -5,7 +5,8 @@ export declare enum FormUIElementTypes {
|
|
|
5
5
|
TAB_FIELDS_CONTAINER = "tab_fields_container",
|
|
6
6
|
TEXT_BLOCK = "text_block",
|
|
7
7
|
TABS = "tabs",
|
|
8
|
-
FRAME = "frame"
|
|
8
|
+
FRAME = "frame",
|
|
9
|
+
LINK = "link"
|
|
9
10
|
}
|
|
10
11
|
export declare enum FormFieldTypes {
|
|
11
12
|
TEXT_INPUT = "input_field",
|
|
@@ -55,5 +56,6 @@ export interface IFormLinkFieldSettings extends ICommonFieldsSettings {
|
|
|
55
56
|
label: Record<string, string>;
|
|
56
57
|
}>;
|
|
57
58
|
displayRecordIdentity: boolean;
|
|
59
|
+
tagDisplayMode: boolean;
|
|
58
60
|
}
|
|
59
61
|
export declare const FORM_ROOT_CONTAINER_ID = "__root";
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aristid/leav-types",
|
|
3
|
-
"version": "0.0.7-
|
|
3
|
+
"version": "0.0.7-abd3e96a",
|
|
4
4
|
"description": "Shared Leav types",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"tscheck": "",
|
|
7
7
|
"test:ci": "",
|
|
8
8
|
"test:commit": "",
|
|
9
|
-
"publish-types": "npm publish --access public"
|
|
9
|
+
"publish-types": "npm publish --access public",
|
|
10
|
+
"generate": "yarn workspace core build-types && mv ../../apps/core/dist-types/* . && rmdir ../../apps/core/dist-types",
|
|
11
|
+
"get-version": "jq -r '.version' package.json",
|
|
12
|
+
"set-version": "jq --arg v $1 '.version = $v' package.json > package.tmp.json && mv package.tmp.json package.json"
|
|
10
13
|
},
|
|
11
14
|
"license": "LGPL3",
|
|
12
15
|
"repository": "https://github.com/leav-solutions/leav-engine",
|