@aristid/leav-types 0.0.7-e9aa834 → 0.0.7-e9c61db6
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 +4 -1
- package/apps/core/config/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 +8 -0
- package/apps/core/src/__tests__/mockers/logger.d.ts +7 -0
- package/apps/core/src/__tests__/mocks/actionsList.d.ts +6 -0
- package/apps/core/src/__tests__/mocks/attribute.d.ts +6 -2
- package/apps/core/src/__tests__/mocks/cache.d.ts +4 -0
- package/apps/core/src/__tests__/mocks/view.d.ts +1 -0
- package/apps/core/src/_constants/attributes.d.ts +1 -0
- package/apps/core/src/_constants/globalSettings.d.ts +1 -0
- package/apps/core/src/_types/actionsList.d.ts +2 -1
- package/apps/core/src/_types/attribute.d.ts +10 -2
- package/apps/core/src/_types/config.d.ts +5 -1
- package/apps/core/src/_types/errors.d.ts +3 -1
- package/apps/core/src/_types/forms.d.ts +10 -0
- package/apps/core/src/_types/globalSettings.d.ts +3 -0
- package/apps/core/src/_types/library.d.ts +5 -1
- package/apps/core/src/_types/queryInfos.d.ts +1 -1
- package/apps/core/src/_types/tree.d.ts +1 -0
- package/apps/core/src/_types/value.d.ts +64 -3
- package/apps/core/src/_types/views.d.ts +38 -43
- package/apps/core/src/app/application/applicationApp.d.ts +3 -1
- package/apps/core/src/app/auth/authApp.d.ts +3 -1
- package/apps/core/src/app/core/formApp/formApp.d.ts +3 -1
- package/apps/core/src/app/core/viewApp.d.ts +3 -1
- package/apps/core/src/domain/attribute/attributeDomain.d.ts +2 -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/export/exportDomain.d.ts +8 -2
- 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/permission/_types.d.ts +1 -9
- package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +1 -1
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +22 -4
- package/apps/core/src/domain/permission/helpers/reducePermissionsArray.d.ts +1 -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 +24 -0
- package/apps/core/src/domain/record/helpers/index.d.ts +3 -0
- package/apps/core/src/domain/record/recordDomain.d.ts +26 -3
- 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/domain/view/viewDomain.d.ts +1 -0
- package/apps/core/src/errors/ApplicationError.d.ts +1 -1
- package/apps/core/src/errors/LeavError.d.ts +9 -3
- 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 +29 -23
- package/apps/core/src/infra/attributeTypes/helpers/getConditionPart.d.ts +1 -1
- package/apps/core/src/infra/db/dbUtils.d.ts +1 -3
- package/apps/core/src/infra/db/migrations/005-viewSortToArray.d.ts +7 -0
- package/apps/core/src/infra/db/migrations/006-addRequiredAttributeProperty.d.ts +11 -0
- package/apps/core/src/infra/db/migrations/007-updateHexColor.d.ts +9 -0
- 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/recordRepo.d.ts +2 -0
- package/apps/core/src/infra/tree/treeRepo.d.ts +1 -1
- package/apps/core/src/infra/value/valueRepo.d.ts +10 -5
- package/apps/core/src/infra/view/_types.d.ts +1 -0
- package/apps/core/src/pluginsLoader.d.ts +1 -1
- package/apps/core/src/utils/utils.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +7 -1
- package/package.json +19 -4
|
@@ -41,6 +41,8 @@ export declare namespace auth {
|
|
|
41
41
|
let wellKnownEndpoint: string;
|
|
42
42
|
let clientId: string;
|
|
43
43
|
let postLogoutRedirectUri: string;
|
|
44
|
+
let skipLogoutConfirmationPage: string | boolean;
|
|
45
|
+
let idTokenUserClaim: string;
|
|
44
46
|
}
|
|
45
47
|
let testApiKey: string;
|
|
46
48
|
}
|
|
@@ -67,6 +69,7 @@ export declare namespace logs {
|
|
|
67
69
|
let level: string;
|
|
68
70
|
let transport: string;
|
|
69
71
|
let destinationFile: string;
|
|
72
|
+
let useJsonFormat: string | boolean;
|
|
70
73
|
}
|
|
71
74
|
export declare namespace permissions {
|
|
72
75
|
let _default_1: boolean;
|
|
@@ -186,5 +189,5 @@ export declare namespace elasticSearch {
|
|
|
186
189
|
let url_1: string;
|
|
187
190
|
export { url_1 as url };
|
|
188
191
|
}
|
|
189
|
-
export declare let pluginsPath: string;
|
|
192
|
+
export declare let pluginsPath: string | any[];
|
|
190
193
|
export { _export as export, _import as import };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -7,6 +7,7 @@ export declare const mockActionStringOutput: {
|
|
|
7
7
|
input_types: ActionsListIOTypes[];
|
|
8
8
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
9
9
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
10
|
+
compute: boolean;
|
|
10
11
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
11
12
|
};
|
|
12
13
|
export declare const mockActionNumberOutput: {
|
|
@@ -17,6 +18,7 @@ export declare const mockActionNumberOutput: {
|
|
|
17
18
|
input_types: ActionsListIOTypes[];
|
|
18
19
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
19
20
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
21
|
+
compute: boolean;
|
|
20
22
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
21
23
|
};
|
|
22
24
|
export declare const mockActionBooleanOutput: {
|
|
@@ -27,6 +29,7 @@ export declare const mockActionBooleanOutput: {
|
|
|
27
29
|
input_types: ActionsListIOTypes[];
|
|
28
30
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
29
31
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
32
|
+
compute: boolean;
|
|
30
33
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
31
34
|
};
|
|
32
35
|
export declare const mockActionObjectOutput: {
|
|
@@ -37,6 +40,7 @@ export declare const mockActionObjectOutput: {
|
|
|
37
40
|
input_types: ActionsListIOTypes[];
|
|
38
41
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
39
42
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
43
|
+
compute: boolean;
|
|
40
44
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
41
45
|
};
|
|
42
46
|
export declare const mockActionAllOutput: {
|
|
@@ -47,6 +51,7 @@ export declare const mockActionAllOutput: {
|
|
|
47
51
|
output_types: ActionsListIOTypes[];
|
|
48
52
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
49
53
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
54
|
+
compute: boolean;
|
|
50
55
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
51
56
|
};
|
|
52
57
|
export declare const mockActionValidateFormat: {
|
|
@@ -57,6 +62,7 @@ export declare const mockActionValidateFormat: {
|
|
|
57
62
|
input_types: ActionsListIOTypes[];
|
|
58
63
|
params?: import("../../_types/actionsList").ActionsListParamsConfig<Record<string | number | symbol, boolean>>[];
|
|
59
64
|
error_message?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
65
|
+
compute: boolean;
|
|
60
66
|
action: (values: import("../../_types/value").IValue[], params: {} & {}, ctx: import("../../_types/actionsList").IActionsListContext) => import("../../_types/actionsList").IActionsListFunctionResult | Promise<import("../../_types/actionsList").IActionsListFunctionResult>;
|
|
61
67
|
};
|
|
62
68
|
export declare const mockAvailActions: IActionsListFunction[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AttributeFormats, AttributeTypes, IAttribute } from '../../_types/attribute';
|
|
1
|
+
import { AttributeFormats, AttributeTypes, MultiLinkDisplayOption, IAttribute } from '../../_types/attribute';
|
|
2
2
|
export declare const mockAttrSimple: IAttribute;
|
|
3
|
+
export declare const mockUniqueAttrSimple: IAttribute;
|
|
3
4
|
export declare const mockAttrId: IAttribute;
|
|
4
5
|
export declare const mockAttrAdv: IAttribute;
|
|
5
6
|
export declare const mockAttrAdvMultiVal: IAttribute;
|
|
@@ -15,6 +16,8 @@ export declare const mockAttrTree: {
|
|
|
15
16
|
linked_tree: string;
|
|
16
17
|
system?: boolean;
|
|
17
18
|
readonly?: boolean;
|
|
19
|
+
required?: boolean;
|
|
20
|
+
character_limit?: number;
|
|
18
21
|
format?: AttributeFormats;
|
|
19
22
|
linked_library?: string;
|
|
20
23
|
embedded_fields?: import("../../_types/attribute").IEmbeddedAttribute[];
|
|
@@ -26,8 +29,9 @@ export declare const mockAttrTree: {
|
|
|
26
29
|
values_list?: import("../../_types/attribute").IValuesListConf;
|
|
27
30
|
reverse_link?: string | IAttribute;
|
|
28
31
|
unique?: boolean;
|
|
29
|
-
maxLength?: number;
|
|
30
32
|
description?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
33
|
+
settings?: import("../../_types/shared").IKeyValue<any>;
|
|
34
|
+
multi_link_display_option?: MultiLinkDisplayOption;
|
|
31
35
|
label?: import("../../_types/systemTranslation").ISystemTranslation | string;
|
|
32
36
|
};
|
|
33
37
|
export declare const mockAttrTreeVersionable: IAttribute;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const baseAttributes: string[];
|
|
@@ -30,7 +30,7 @@ export type ActionsListParamsConfig<ParamsRequired extends Record<string, boolea
|
|
|
30
30
|
type: 'boolean' | 'string' | 'number';
|
|
31
31
|
description: string;
|
|
32
32
|
required: ParamsRequired[Name];
|
|
33
|
-
|
|
33
|
+
helper_value: string;
|
|
34
34
|
};
|
|
35
35
|
}[keyof ParamsRequired];
|
|
36
36
|
export interface IActionsListFunctionResult {
|
|
@@ -57,6 +57,7 @@ export interface IActionsListFunction<ParamsRequired extends Record<string | num
|
|
|
57
57
|
output_types: ActionsListIOTypes[];
|
|
58
58
|
params?: Array<ActionsListParamsConfig<ParamsRequired>>;
|
|
59
59
|
error_message?: ISystemTranslation;
|
|
60
|
+
compute: boolean;
|
|
60
61
|
action: (values: IValue[], params: PartialByCondition<ActionsListParams<keyof ParamsRequired>, ParamsRequired>, ctx: IActionsListContext) => IActionsListFunctionResult | Promise<IActionsListFunctionResult>;
|
|
61
62
|
}
|
|
62
63
|
export interface IActionsListSavedAction {
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { ActionsListEvents, ActionsListIOTypes, ActionsListConfig } from './actionsList';
|
|
2
2
|
import { ITreePermissionsConf } from './permissions';
|
|
3
3
|
import { IRecord } from './record';
|
|
4
|
-
import { IGetCoreEntitiesParams } from './shared';
|
|
4
|
+
import { IGetCoreEntitiesParams, IKeyValue } from './shared';
|
|
5
5
|
import { ISystemTranslation } from './systemTranslation';
|
|
6
6
|
import { ITreeElement } from './tree';
|
|
7
7
|
import { IDateRangeValue } from './value';
|
|
8
8
|
export interface IAttribute extends ICoreEntity {
|
|
9
9
|
system?: boolean;
|
|
10
10
|
readonly?: boolean;
|
|
11
|
+
required?: boolean;
|
|
12
|
+
character_limit?: number;
|
|
11
13
|
type: AttributeTypes;
|
|
12
14
|
format?: AttributeFormats;
|
|
13
15
|
linked_library?: string;
|
|
@@ -21,8 +23,9 @@ export interface IAttribute extends ICoreEntity {
|
|
|
21
23
|
values_list?: IValuesListConf;
|
|
22
24
|
reverse_link?: string | IAttribute;
|
|
23
25
|
unique?: boolean;
|
|
24
|
-
maxLength?: number;
|
|
25
26
|
description?: ISystemTranslation;
|
|
27
|
+
settings?: IKeyValue<any>;
|
|
28
|
+
multi_link_display_option?: MultiLinkDisplayOption;
|
|
26
29
|
}
|
|
27
30
|
export declare enum ValueVersionMode {
|
|
28
31
|
SIMPLE = "simple",
|
|
@@ -86,6 +89,11 @@ export declare enum AttributeFormats {
|
|
|
86
89
|
COLOR = "color",
|
|
87
90
|
RICH_TEXT = "rich_text"
|
|
88
91
|
}
|
|
92
|
+
export declare enum MultiLinkDisplayOption {
|
|
93
|
+
AVATAR = "avatar",
|
|
94
|
+
TAG = "tag",
|
|
95
|
+
BADGE_QTY = "badge_qty"
|
|
96
|
+
}
|
|
89
97
|
export declare enum IOTypes {
|
|
90
98
|
STRING = "string",
|
|
91
99
|
NUMBER = "number",
|
|
@@ -28,7 +28,7 @@ export interface IConfig {
|
|
|
28
28
|
dbProfiler: IDbProfilerConfig;
|
|
29
29
|
instanceId: string;
|
|
30
30
|
elasticSearch: IElasticSearchConfig;
|
|
31
|
-
pluginsPath: string;
|
|
31
|
+
pluginsPath: string[];
|
|
32
32
|
}
|
|
33
33
|
export declare enum CoreMode {
|
|
34
34
|
SERVER = "server",
|
|
@@ -75,11 +75,15 @@ export interface IAuth {
|
|
|
75
75
|
wellKnownEndpoint?: string;
|
|
76
76
|
clientId?: string;
|
|
77
77
|
postLogoutRedirectUri?: string;
|
|
78
|
+
skipLogoutConfirmationPage?: boolean;
|
|
79
|
+
idTokenUserClaim?: string;
|
|
78
80
|
} | {
|
|
79
81
|
enable: true;
|
|
80
82
|
wellKnownEndpoint: string;
|
|
81
83
|
clientId: string;
|
|
82
84
|
postLogoutRedirectUri: string;
|
|
85
|
+
skipLogoutConfirmationPage?: boolean;
|
|
86
|
+
idTokenUserClaim: string;
|
|
83
87
|
};
|
|
84
88
|
testApiKey?: string;
|
|
85
89
|
}
|
|
@@ -63,6 +63,7 @@ export declare enum Errors {
|
|
|
63
63
|
PREVIEWS_SETTINGS_NOT_ALLOWED = "PREVIEWS_SETTINGS_NOT_ALLOWED",
|
|
64
64
|
PROTECTED_ENDPOINT = "PROTECTED_ENDPOINT",
|
|
65
65
|
READONLY_ATTRIBUTE = "READONLY_ATTRIBUTE",
|
|
66
|
+
REQUIRED_ATTRIBUTE = "REQUIRED_ATTRIBUTE",
|
|
66
67
|
REQUIRED_ATTRIBUTE_FORMAT = "REQUIRED_ATTRIBUTE_FORMAT",
|
|
67
68
|
REQUIRED_ATTRIBUTE_LABEL = "REQUIRED_ATTRIBUTE_LABEL",
|
|
68
69
|
REQUIRED_ATTRIBUTE_LINKED_LIBRARY = "REQUIRED_ATTRIBUTE_LINKED_LIBRARY",
|
|
@@ -96,7 +97,8 @@ export declare enum Errors {
|
|
|
96
97
|
UNKNOWN_VERSION_TREE = "UNKNOWN_VERSION_TREE",
|
|
97
98
|
UNKNOWN_VIEW = "UNKNOWN_VIEW",
|
|
98
99
|
USER_IS_NOT_VIEW_OWNER = "USER_IS_NOT_VIEW_OWNER",
|
|
99
|
-
VALUE_NOT_UNIQUE = "VALUE_NOT_UNIQUE"
|
|
100
|
+
VALUE_NOT_UNIQUE = "VALUE_NOT_UNIQUE",
|
|
101
|
+
VALUE_EXCEEDS_CHARACTER_LIMIT = "VALUE_EXCEEDS_CHARACTER_LIMIT"
|
|
100
102
|
}
|
|
101
103
|
export interface IExtendedErrorMsg {
|
|
102
104
|
msg: Errors | string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IAttribute } from './attribute';
|
|
1
2
|
import { IKeyValue } from './shared';
|
|
2
3
|
import { IValue } from './value';
|
|
3
4
|
export interface IForm extends ICoreEntity {
|
|
@@ -5,6 +6,11 @@ export interface IForm extends ICoreEntity {
|
|
|
5
6
|
system?: boolean;
|
|
6
7
|
dependencyAttributes?: string[];
|
|
7
8
|
elements?: IFormDependentElements[];
|
|
9
|
+
sidePanel: IFormSidePanel;
|
|
10
|
+
}
|
|
11
|
+
export interface IFormSidePanel {
|
|
12
|
+
enable: boolean;
|
|
13
|
+
isOpenByDefault: boolean;
|
|
8
14
|
}
|
|
9
15
|
export interface IRecordForm {
|
|
10
16
|
id: string;
|
|
@@ -13,6 +19,7 @@ export interface IRecordForm {
|
|
|
13
19
|
recordId: string;
|
|
14
20
|
dependencyAttributes?: string[];
|
|
15
21
|
elements: IFormElementWithValues[];
|
|
22
|
+
sidePanel: IFormSidePanel;
|
|
16
23
|
}
|
|
17
24
|
export declare enum FormElementTypes {
|
|
18
25
|
field = "field",
|
|
@@ -48,3 +55,6 @@ export type IFormElementWithValuesAndChildren = IFormElementWithValues & {
|
|
|
48
55
|
export interface IFormFilterOptions extends ICoreEntityFilterOptions {
|
|
49
56
|
library?: string;
|
|
50
57
|
}
|
|
58
|
+
export interface IFormElementJoinLibraryContext {
|
|
59
|
+
mandatoryAttribute: IAttribute;
|
|
60
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { IKeyValue } from './shared';
|
|
1
2
|
export interface IGlobalSettings {
|
|
3
|
+
defaultApp: string;
|
|
2
4
|
name: string;
|
|
3
5
|
icon?: {
|
|
4
6
|
library: string;
|
|
@@ -8,4 +10,5 @@ export interface IGlobalSettings {
|
|
|
8
10
|
library: string;
|
|
9
11
|
recordId: string;
|
|
10
12
|
};
|
|
13
|
+
settings?: IKeyValue<any>;
|
|
11
14
|
}
|
|
@@ -3,9 +3,11 @@ import { IPreviewVersion } from './filesManager';
|
|
|
3
3
|
import { ITreePermissionsConf } from './permissions';
|
|
4
4
|
import { IRecordIdentityConf } from './record';
|
|
5
5
|
import { ISystemTranslation } from './systemTranslation';
|
|
6
|
+
import { IKeyValue } from './shared';
|
|
6
7
|
export interface ILibrary extends ICoreEntity {
|
|
7
8
|
system?: boolean;
|
|
8
9
|
behavior?: LibraryBehavior;
|
|
10
|
+
mandatoryAttribute?: string;
|
|
9
11
|
/**
|
|
10
12
|
* List of attributes usable in this library
|
|
11
13
|
*/
|
|
@@ -31,6 +33,7 @@ export interface ILibrary extends ICoreEntity {
|
|
|
31
33
|
recordId: string;
|
|
32
34
|
};
|
|
33
35
|
previewsSettings?: ILibraryPreviewsSettings[];
|
|
36
|
+
settings?: IKeyValue<any>;
|
|
34
37
|
}
|
|
35
38
|
export interface ILibraryFilterOptions extends ICoreEntityFilterOptions {
|
|
36
39
|
system?: boolean;
|
|
@@ -43,8 +46,9 @@ export interface ILibraryPreviewsSettings {
|
|
|
43
46
|
}
|
|
44
47
|
export declare enum LibraryBehavior {
|
|
45
48
|
STANDARD = "standard",
|
|
49
|
+
DIRECTORIES = "directories",
|
|
46
50
|
FILES = "files",
|
|
47
|
-
|
|
51
|
+
JOIN = "join"
|
|
48
52
|
}
|
|
49
53
|
export declare const USERS_LIBRARY = "users";
|
|
50
54
|
export declare const USERS_GROUPS_LIBRARY = "users_groups";
|
|
@@ -3,12 +3,12 @@ import { IDbProfiler } from './dbProfiler';
|
|
|
3
3
|
import { IValueVersion } from './value';
|
|
4
4
|
export interface IQueryInfos {
|
|
5
5
|
userId: string;
|
|
6
|
+
groupsId?: string[];
|
|
6
7
|
lang?: string;
|
|
7
8
|
defaultLang?: string;
|
|
8
9
|
queryId?: string;
|
|
9
10
|
version?: IValueVersion;
|
|
10
11
|
treeId?: string;
|
|
11
|
-
groupsId?: string[];
|
|
12
12
|
applicationId?: string;
|
|
13
13
|
dbProfiler?: IDbProfiler;
|
|
14
14
|
trigger?: string;
|
|
@@ -11,6 +11,7 @@ export interface ITree extends ICoreEntity {
|
|
|
11
11
|
behavior?: TreeBehavior;
|
|
12
12
|
system?: boolean;
|
|
13
13
|
permissions_conf?: ITreeNodePermissionsConf;
|
|
14
|
+
settings?: IKeyValue<any>;
|
|
14
15
|
}
|
|
15
16
|
export interface ITreeFilterOptions extends ICoreEntityFilterOptions {
|
|
16
17
|
system?: boolean;
|
|
@@ -2,6 +2,8 @@ import { AnyPrimitive, Override } from '@leav/utils';
|
|
|
2
2
|
import { IDbEdge } from 'infra/db/_types';
|
|
3
3
|
import { IRecord } from './record';
|
|
4
4
|
import { ITreeNode, TreePaths } from './tree';
|
|
5
|
+
import { EMPTY_VALUE } from 'infra/value/valueRepo';
|
|
6
|
+
import { AttributeTypes } from './attribute';
|
|
5
7
|
export type IValueFromGql = Override<Omit<IValue, 'version'>, {
|
|
6
8
|
value: IValue['payload'];
|
|
7
9
|
metadata: Array<{
|
|
@@ -28,8 +30,13 @@ export interface IDbValueVersion {
|
|
|
28
30
|
export interface IValueMetadata {
|
|
29
31
|
[fieldName: string]: IStandardValue | AnyPrimitive;
|
|
30
32
|
}
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
+
export type EmptyValue = typeof EMPTY_VALUE;
|
|
34
|
+
interface ICommonGenericSaveValue {
|
|
35
|
+
/**
|
|
36
|
+
* The id of the edge for advanced, advanced link or tree values
|
|
37
|
+
* In case of advanced reverse link from simple link, this is the id of the linked record
|
|
38
|
+
*/
|
|
39
|
+
id_value?: string | null;
|
|
33
40
|
attribute?: string;
|
|
34
41
|
created_at?: number;
|
|
35
42
|
modified_at?: number;
|
|
@@ -37,21 +44,60 @@ export interface IGenericValue {
|
|
|
37
44
|
modified_by?: string;
|
|
38
45
|
version?: IValueVersion;
|
|
39
46
|
metadata?: IValueMetadata;
|
|
47
|
+
}
|
|
48
|
+
export interface IGenericValue extends ICommonGenericSaveValue {
|
|
40
49
|
isInherited?: boolean;
|
|
41
50
|
isCalculated?: boolean;
|
|
42
51
|
}
|
|
43
52
|
export interface IStandardValue extends IGenericValue {
|
|
44
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Computed value after get actions on attribute are done
|
|
55
|
+
* TODO remove that any when possible
|
|
56
|
+
* TODO remove optional when possible
|
|
57
|
+
*/
|
|
58
|
+
payload?: any | EmptyValue;
|
|
59
|
+
/**
|
|
60
|
+
* Raw value from the database, before any computation
|
|
61
|
+
* TODO, remove that any when possible
|
|
62
|
+
*/
|
|
45
63
|
raw_payload?: any;
|
|
46
64
|
}
|
|
47
65
|
export interface ILinkValue extends IGenericValue {
|
|
66
|
+
/**
|
|
67
|
+
* Linked record
|
|
68
|
+
* TODO remove optional when possible
|
|
69
|
+
*/
|
|
48
70
|
payload?: IRecord;
|
|
49
71
|
}
|
|
50
72
|
export interface ITreeValue extends IGenericValue {
|
|
73
|
+
/**
|
|
74
|
+
* Linked tree node
|
|
75
|
+
* TODO remove optional when possible
|
|
76
|
+
*/
|
|
51
77
|
payload?: ITreeNode;
|
|
52
78
|
treeId: string;
|
|
53
79
|
}
|
|
54
80
|
export type IValue = IStandardValue | ILinkValue | ITreeValue;
|
|
81
|
+
type IGenericSaveValue = ICommonGenericSaveValue;
|
|
82
|
+
export interface ISaveStandardValue extends IGenericSaveValue {
|
|
83
|
+
/**
|
|
84
|
+
* Any base type value to save
|
|
85
|
+
*/
|
|
86
|
+
payload: number | string | boolean | EmptyValue | null;
|
|
87
|
+
}
|
|
88
|
+
export interface ISaveLinkValue extends IGenericSaveValue {
|
|
89
|
+
/**
|
|
90
|
+
* Record id to link
|
|
91
|
+
*/
|
|
92
|
+
payload: string | null;
|
|
93
|
+
}
|
|
94
|
+
export interface ISaveTreeValue extends IGenericSaveValue {
|
|
95
|
+
/**
|
|
96
|
+
* Tree node id to link
|
|
97
|
+
*/
|
|
98
|
+
payload: string | null;
|
|
99
|
+
}
|
|
100
|
+
export type ISaveValue = ISaveStandardValue | ISaveLinkValue | ISaveTreeValue;
|
|
55
101
|
export interface IDateRangeValue<T = string | number> {
|
|
56
102
|
from: T;
|
|
57
103
|
to: T;
|
|
@@ -76,3 +122,18 @@ export interface IValueEdge extends IDbEdge {
|
|
|
76
122
|
version?: IDbValueVersion;
|
|
77
123
|
metadata?: IValueMetadata;
|
|
78
124
|
}
|
|
125
|
+
export interface IValueByAttributeType {
|
|
126
|
+
[AttributeTypes.SIMPLE]: IStandardValue;
|
|
127
|
+
[AttributeTypes.SIMPLE_LINK]: ILinkValue;
|
|
128
|
+
[AttributeTypes.ADVANCED]: IStandardValue;
|
|
129
|
+
[AttributeTypes.ADVANCED_LINK]: ILinkValue;
|
|
130
|
+
[AttributeTypes.TREE]: ITreeValue;
|
|
131
|
+
}
|
|
132
|
+
export interface ISaveValueByAttributeType {
|
|
133
|
+
[AttributeTypes.SIMPLE]: ISaveStandardValue;
|
|
134
|
+
[AttributeTypes.SIMPLE_LINK]: ISaveLinkValue;
|
|
135
|
+
[AttributeTypes.ADVANCED]: ISaveStandardValue;
|
|
136
|
+
[AttributeTypes.ADVANCED_LINK]: ISaveLinkValue;
|
|
137
|
+
[AttributeTypes.TREE]: ISaveTreeValue;
|
|
138
|
+
}
|
|
139
|
+
export {};
|
|
@@ -10,48 +10,43 @@ export declare enum ViewSizes {
|
|
|
10
10
|
MEDIUM = "MEDIUM",
|
|
11
11
|
BIG = "BIG"
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
settings: IViewSettingsNameVal[];
|
|
13
|
+
interface IViewDisplay {
|
|
14
|
+
type: ViewTypes;
|
|
15
|
+
size: ViewSizes;
|
|
16
|
+
}
|
|
17
|
+
interface IViewValuesVersion {
|
|
18
|
+
[treeId: string]: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IView extends ICoreEntity {
|
|
21
|
+
shared?: boolean;
|
|
22
|
+
created_by?: string;
|
|
23
|
+
created_at?: number;
|
|
24
|
+
modified_at?: number;
|
|
25
|
+
library?: string;
|
|
26
|
+
description?: ISystemTranslation;
|
|
27
|
+
color?: string;
|
|
28
|
+
display?: IViewDisplay;
|
|
29
|
+
filters?: IRecordFilterLight[];
|
|
30
|
+
sort?: IRecordSortLight[];
|
|
31
|
+
valuesVersions?: IViewValuesVersion;
|
|
32
|
+
attributes?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface IViewValuesVersionForGraphql {
|
|
35
|
+
treeId: string;
|
|
36
|
+
treeNode: {
|
|
37
|
+
id: string;
|
|
39
38
|
};
|
|
40
|
-
interface IViewSettings {
|
|
41
|
-
[key: string]: unknown;
|
|
42
|
-
}
|
|
43
|
-
interface IViewFilterOptions extends ICoreEntityFilterOptions {
|
|
44
|
-
created_by?: string;
|
|
45
|
-
library?: string;
|
|
46
|
-
type?: ViewTypes;
|
|
47
|
-
}
|
|
48
|
-
interface IViewValuesVersion {
|
|
49
|
-
[treeId: string]: string;
|
|
50
|
-
}
|
|
51
|
-
interface IViewValuesVersionForGraphql {
|
|
52
|
-
treeId: string;
|
|
53
|
-
treeNode: {
|
|
54
|
-
id: string;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
39
|
}
|
|
40
|
+
export type ViewFromGraphQL = Omit<IView, 'valuesVersions' | 'settings'> & {
|
|
41
|
+
valuesVersions: IViewValuesVersionForGraphql[];
|
|
42
|
+
};
|
|
43
|
+
export type PartialViewFromGraphQL = Omit<IView, 'id' | 'valuesVersions' | 'settings'> & {
|
|
44
|
+
id: string;
|
|
45
|
+
valuesVersions: IViewValuesVersionForGraphql[];
|
|
46
|
+
};
|
|
47
|
+
export interface IViewFilterOptions extends ICoreEntityFilterOptions {
|
|
48
|
+
created_by?: string;
|
|
49
|
+
library?: string;
|
|
50
|
+
type?: ViewTypes;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -11,6 +11,7 @@ import { IAppGraphQLSchema } from '_types/graphql';
|
|
|
11
11
|
import { IApplicationDomain } from '../../domain/application/applicationDomain';
|
|
12
12
|
import { ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
|
|
13
13
|
import { IAuthApp } from '../auth/authApp';
|
|
14
|
+
import { IGlobalSettingsDomain } from '../../domain/globalSettings/globalSettingsDomain';
|
|
14
15
|
export interface IApplicationApp {
|
|
15
16
|
registerRoute(app: Express): void;
|
|
16
17
|
getGraphQLSchema(): Promise<IAppGraphQLSchema>;
|
|
@@ -25,8 +26,9 @@ export interface IApplicationAppDeps {
|
|
|
25
26
|
'core.domain.permission': IPermissionDomain;
|
|
26
27
|
'core.domain.record': IRecordDomain;
|
|
27
28
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
29
|
+
'core.domain.globalSettings': IGlobalSettingsDomain;
|
|
28
30
|
'core.utils.logger': winston.Winston;
|
|
29
31
|
'core.utils': IUtils;
|
|
30
32
|
config: any;
|
|
31
33
|
}
|
|
32
|
-
export default function ({ 'core.app.graphql': graphqlApp, 'core.app.auth': authApp, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.application': applicationDomain, 'core.domain.permission': permissionDomain, 'core.domain.record': recordDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.utils.logger': logger, 'core.utils': utils, config }: IApplicationAppDeps): IApplicationApp;
|
|
34
|
+
export default function ({ 'core.app.graphql': graphqlApp, 'core.app.auth': authApp, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.application': applicationDomain, 'core.domain.permission': permissionDomain, 'core.domain.record': recordDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.globalSettings': globalSettings, 'core.utils.logger': logger, 'core.utils': utils, config }: IApplicationAppDeps): IApplicationApp;
|
|
@@ -13,6 +13,7 @@ import { IOIDCClientService } from '../../infra/oidc/oidcClientService';
|
|
|
13
13
|
import { InitQueryContextFunc } from '../helpers/initQueryContext';
|
|
14
14
|
import { IConvertOIDCIdentifier } from '../helpers/convertOIDCIdentifier';
|
|
15
15
|
import { IncomingHttpHeaders } from 'http';
|
|
16
|
+
import { IRecordRepo } from '../../infra/record/recordRepo';
|
|
16
17
|
export interface IAuthApp {
|
|
17
18
|
getGraphQLSchema(): IAppGraphQLSchema;
|
|
18
19
|
validateRequestToken(params: {
|
|
@@ -26,6 +27,7 @@ export interface IAuthApp {
|
|
|
26
27
|
export interface IAuthAppDeps {
|
|
27
28
|
'core.domain.value': IValueDomain;
|
|
28
29
|
'core.domain.record': IRecordDomain;
|
|
30
|
+
'core.infra.record': IRecordRepo;
|
|
29
31
|
'core.domain.apiKey': IApiKeyDomain;
|
|
30
32
|
'core.domain.user': IUserDomain;
|
|
31
33
|
'core.infra.cache.cacheService': ICachesService;
|
|
@@ -35,4 +37,4 @@ export interface IAuthAppDeps {
|
|
|
35
37
|
'core.app.helpers.convertOIDCIdentifier': IConvertOIDCIdentifier;
|
|
36
38
|
config: IConfig;
|
|
37
39
|
}
|
|
38
|
-
export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, config }: IAuthAppDeps): IAuthApp;
|
|
40
|
+
export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.infra.record': recordRepo, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, config }: IAuthAppDeps): IAuthApp;
|
|
@@ -4,6 +4,7 @@ import { IFormDomain } from 'domain/form/formDomain';
|
|
|
4
4
|
import { ILibraryDomain } from 'domain/library/libraryDomain';
|
|
5
5
|
import { IUtils } from 'utils/utils';
|
|
6
6
|
import { IAppGraphQLSchema } from '_types/graphql';
|
|
7
|
+
import { IfLibraryJoinLinkAttribute } from 'domain/attribute/helpers/ifLibraryJoinLinkAttribute';
|
|
7
8
|
export interface ICoreFormApp {
|
|
8
9
|
getGraphQLSchema(): IAppGraphQLSchema;
|
|
9
10
|
}
|
|
@@ -12,9 +13,10 @@ interface IDeps {
|
|
|
12
13
|
'core.domain.form': IFormDomain;
|
|
13
14
|
'core.domain.library': ILibraryDomain;
|
|
14
15
|
'core.app.helpers.convertVersionFromGqlFormat': ConvertVersionFromGqlFormatFunc;
|
|
16
|
+
'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
|
|
15
17
|
'core.utils': IUtils;
|
|
16
18
|
}
|
|
17
|
-
export default function ({ 'core.domain.attribute': attributeDomain, 'core.domain.form': formDomain, 'core.domain.library': libraryDomain, 'core.app.helpers.convertVersionFromGqlFormat': convertVersionFromGqlFormat, 'core.utils': utils }: IDeps): {
|
|
19
|
+
export default function ({ 'core.domain.attribute': attributeDomain, 'core.domain.form': formDomain, 'core.domain.library': libraryDomain, 'core.app.helpers.convertVersionFromGqlFormat': convertVersionFromGqlFormat, 'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': ifLibraryJoinLinkAttribute, 'core.utils': utils }: IDeps): {
|
|
18
20
|
getGraphQLSchema(): IAppGraphQLSchema;
|
|
19
21
|
};
|
|
20
22
|
export {};
|
|
@@ -2,13 +2,15 @@ import { IRecordDomain } from 'domain/record/recordDomain';
|
|
|
2
2
|
import { IViewDomain } from 'domain/view/viewDomain';
|
|
3
3
|
import { IUtils } from 'utils/utils';
|
|
4
4
|
import { IAppGraphQLSchema } from '_types/graphql';
|
|
5
|
+
import { IAttributeDomain } from 'domain/attribute/attributeDomain';
|
|
5
6
|
interface IDeps {
|
|
6
7
|
'core.domain.record': IRecordDomain;
|
|
7
8
|
'core.domain.view': IViewDomain;
|
|
9
|
+
'core.domain.attribute': IAttributeDomain;
|
|
8
10
|
'core.utils': IUtils;
|
|
9
11
|
}
|
|
10
12
|
export interface IViewApp {
|
|
11
13
|
getGraphQLSchema(): Promise<IAppGraphQLSchema>;
|
|
12
14
|
}
|
|
13
|
-
export default function ({ 'core.domain.view': viewDomain, 'core.domain.record': recordDomain, 'core.utils': utils }: IDeps): IViewApp;
|
|
15
|
+
export default function ({ 'core.domain.view': viewDomain, 'core.domain.record': recordDomain, 'core.domain.attribute': attributeDomain, 'core.utils': utils }: IDeps): IViewApp;
|
|
14
16
|
export {};
|
|
@@ -57,6 +57,8 @@ export interface IAttributeDomain {
|
|
|
57
57
|
attributeId: string;
|
|
58
58
|
ctx: IQueryInfos;
|
|
59
59
|
}): Promise<ILibrary[]>;
|
|
60
|
+
getFormAttributes(libraryId: string, formId: string, ctx: IQueryInfos): Promise<IAttribute[]>;
|
|
61
|
+
doesCompute(attrData: IAttribute): boolean;
|
|
60
62
|
}
|
|
61
63
|
export interface IAttributeDomainDeps {
|
|
62
64
|
'core.infra.attribute': IAttributeRepo;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IAttribute } from '../../../_types/attribute';
|
|
2
|
+
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
3
|
+
import { IAttributeDomain } from 'domain/attribute/attributeDomain';
|
|
4
|
+
import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
|
|
5
|
+
export type IfLibraryJoinLinkAttributeCallback<R> = (joinLibId: string, joinAttributeProps: IAttribute) => Promise<R>;
|
|
6
|
+
export type IfLibraryJoinLinkAttribute = <R = unknown>(attributeProps: IAttribute, callback: IfLibraryJoinLinkAttributeCallback<R>, ctx: IQueryInfos) => Promise<R | void>;
|
|
7
|
+
export interface IIfLibraryJoinLinkDeps {
|
|
8
|
+
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
9
|
+
'core.domain.attribute': IAttributeDomain;
|
|
10
|
+
}
|
|
11
|
+
export default function ({ 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.attribute': attributeDomain }: IIfLibraryJoinLinkDeps): IfLibraryJoinLinkAttribute;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|