@aristid/leav-types 0.0.7-e2f8e65 → 0.0.7-e449ad3
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/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 +1 -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 +4 -2
- package/apps/core/src/_types/views.d.ts +38 -35
- 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/domain/attribute/attributeDomain.d.ts +1 -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/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 +24 -1
- 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/validateValue.d.ts +1 -1
- package/apps/core/src/domain/value/valueDomain.d.ts +8 -1
- package/apps/core/src/domain/view/viewDomain.d.ts +1 -0
- package/apps/core/src/errors/LeavError.d.ts +6 -0
- package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +2 -2
- 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/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/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 +7 -2
- 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 +1 -1
|
@@ -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 {};
|
|
@@ -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 {
|
|
@@ -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,7 @@ 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';
|
|
5
6
|
export type IValueFromGql = Override<Omit<IValue, 'version'>, {
|
|
6
7
|
value: IValue['payload'];
|
|
7
8
|
metadata: Array<{
|
|
@@ -28,6 +29,7 @@ export interface IDbValueVersion {
|
|
|
28
29
|
export interface IValueMetadata {
|
|
29
30
|
[fieldName: string]: IStandardValue | AnyPrimitive;
|
|
30
31
|
}
|
|
32
|
+
export type EmptyValue = typeof EMPTY_VALUE;
|
|
31
33
|
export interface IGenericValue {
|
|
32
34
|
id_value?: string;
|
|
33
35
|
attribute?: string;
|
|
@@ -41,8 +43,8 @@ export interface IGenericValue {
|
|
|
41
43
|
isCalculated?: boolean;
|
|
42
44
|
}
|
|
43
45
|
export interface IStandardValue extends IGenericValue {
|
|
44
|
-
payload?: any;
|
|
45
|
-
raw_payload?: any;
|
|
46
|
+
payload?: any | EmptyValue;
|
|
47
|
+
raw_payload?: any | EmptyValue;
|
|
46
48
|
}
|
|
47
49
|
export interface ILinkValue extends IGenericValue {
|
|
48
50
|
payload?: IRecord;
|
|
@@ -10,40 +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
|
-
|
|
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;
|
|
34
38
|
};
|
|
35
|
-
interface IViewFilterOptions extends ICoreEntityFilterOptions {
|
|
36
|
-
created_by?: string;
|
|
37
|
-
library?: string;
|
|
38
|
-
type?: ViewTypes;
|
|
39
|
-
}
|
|
40
|
-
interface IViewValuesVersion {
|
|
41
|
-
[treeId: string]: string;
|
|
42
|
-
}
|
|
43
|
-
interface IViewValuesVersionForGraphql {
|
|
44
|
-
treeId: string;
|
|
45
|
-
treeNode: {
|
|
46
|
-
id: string;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
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 {};
|
|
@@ -57,6 +57,7 @@ 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[]>;
|
|
60
61
|
doesCompute(attrData: IAttribute): boolean;
|
|
61
62
|
}
|
|
62
63
|
export interface IAttributeDomainDeps {
|
|
@@ -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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ifLibraryJoinLinkAttribute } from './ifLibraryJoinLinkAttribute';
|
|
@@ -3,6 +3,8 @@ import { IAdminPermissionDomain } from 'domain/permission/adminPermissionDomain'
|
|
|
3
3
|
import { IGlobalSettingsRepo } from 'infra/globalSettings/globalSettingsRepo';
|
|
4
4
|
import { IGlobalSettings } from '_types/globalSettings';
|
|
5
5
|
import { IQueryInfos } from '_types/queryInfos';
|
|
6
|
+
import { IUtils } from '../../utils/utils';
|
|
7
|
+
import { ICachesService } from '../../infra/cache/cacheService';
|
|
6
8
|
export interface IGlobalSettingsDomain {
|
|
7
9
|
saveSettings({ settings, ctx }: {
|
|
8
10
|
settings: IGlobalSettings;
|
|
@@ -14,5 +16,7 @@ export interface IGlobalSettingsDomainDeps {
|
|
|
14
16
|
'core.domain.permission.admin': IAdminPermissionDomain;
|
|
15
17
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
16
18
|
'core.infra.globalSettings': IGlobalSettingsRepo;
|
|
19
|
+
'core.infra.cache.cacheService': ICachesService;
|
|
20
|
+
'core.utils': IUtils;
|
|
17
21
|
}
|
|
18
|
-
export default function ({ 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.globalSettings': globalSettingsRepo }: IGlobalSettingsDomainDeps): IGlobalSettingsDomain;
|
|
22
|
+
export default function ({ 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.globalSettings': globalSettingsRepo, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils }: IGlobalSettingsDomainDeps): IGlobalSettingsDomain;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ActionsListValueType, IActionsListContext } from '_types/actionsList';
|
|
2
2
|
import { IVariableFunctions } from '../calculationsVariableFunctions';
|
|
3
|
+
import { ITreeNode } from '../../../_types/tree';
|
|
3
4
|
interface IDeps {
|
|
4
5
|
'core.domain.helpers.calculationsVariableFunctions': IVariableFunctions;
|
|
5
6
|
}
|
|
6
7
|
export interface IVariableValue {
|
|
7
8
|
recordId: string;
|
|
8
9
|
library: string;
|
|
9
|
-
payload: string | number | boolean | Record<string, any>;
|
|
10
|
+
payload: string | number | boolean | ITreeNode | Record<string, any>;
|
|
10
11
|
raw_payload?: string | number | boolean | Record<string, any>;
|
|
11
12
|
}
|
|
12
13
|
export interface ICalculationVariable {
|
|
@@ -28,14 +28,6 @@ export interface IGetPermissionsByActionsParams {
|
|
|
28
28
|
export type PermByActionsRes = {
|
|
29
29
|
[name: string]: boolean | null;
|
|
30
30
|
} | null;
|
|
31
|
-
export interface IGetPermissionByUserGroupsParams {
|
|
32
|
-
type: PermissionTypes;
|
|
33
|
-
action: PermissionsActions;
|
|
34
|
-
userGroupsPaths: TreePaths[];
|
|
35
|
-
applyTo?: string;
|
|
36
|
-
permissionTreeTarget?: IPermissionsTreeTarget;
|
|
37
|
-
ctx: IQueryInfos;
|
|
38
|
-
}
|
|
39
31
|
export interface IGetAdminPermissionParams {
|
|
40
32
|
action: AdminPermissionsActions;
|
|
41
33
|
userId: string;
|
|
@@ -63,7 +55,7 @@ export interface IGetTreeLibraryPermissionParams {
|
|
|
63
55
|
treeId: string;
|
|
64
56
|
libraryId: string;
|
|
65
57
|
userId: string;
|
|
66
|
-
getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => boolean |
|
|
58
|
+
getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => Promise<boolean> | boolean;
|
|
67
59
|
ctx: IQueryInfos;
|
|
68
60
|
}
|
|
69
61
|
export interface IGetApplicationPermissionParams {
|
|
@@ -12,7 +12,7 @@ interface IGetGlobalPermissionParams {
|
|
|
12
12
|
applyTo?: string;
|
|
13
13
|
userId: string;
|
|
14
14
|
action: PermissionsActions;
|
|
15
|
-
getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => boolean;
|
|
15
|
+
getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
|
|
16
16
|
}
|
|
17
17
|
interface IGetInheritedGlobalPermissionParams {
|
|
18
18
|
type: PermissionTypes;
|
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
2
|
-
import { IGetPermissionByUserGroupsParams } from '../_types';
|
|
3
2
|
import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
|
|
4
3
|
import { ISimplePermissionHelper } from './simplePermission';
|
|
5
|
-
|
|
4
|
+
import { IDefaultPermissionHelper } from './defaultPermission';
|
|
5
|
+
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
6
|
+
import { ITreeNode, TreePaths } from '../../../_types/tree';
|
|
7
|
+
import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
|
|
8
|
+
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
9
|
+
export interface IPermissionByUserGroupsHelperDeps {
|
|
6
10
|
'core.domain.permission.helpers.simplePermission': ISimplePermissionHelper;
|
|
7
11
|
'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
|
|
12
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
13
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
8
14
|
'core.infra.permission'?: IPermissionRepo;
|
|
9
15
|
}
|
|
16
|
+
interface IGetPermissionByUserGroupsParams {
|
|
17
|
+
type: PermissionTypes;
|
|
18
|
+
action: PermissionsActions;
|
|
19
|
+
userGroupsPaths: TreePaths[];
|
|
20
|
+
applyTo?: string;
|
|
21
|
+
treeTarget?: {
|
|
22
|
+
tree: string;
|
|
23
|
+
path: ITreeNode[];
|
|
24
|
+
};
|
|
25
|
+
getDefaultPermission?: () => Promise<boolean> | boolean;
|
|
26
|
+
ctx: IQueryInfos;
|
|
27
|
+
}
|
|
10
28
|
export interface IPermissionByUserGroupsHelper {
|
|
11
|
-
getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean
|
|
29
|
+
getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean>;
|
|
12
30
|
}
|
|
13
|
-
export default function (deps:
|
|
31
|
+
export default function (deps: IPermissionByUserGroupsHelperDeps): IPermissionByUserGroupsHelper;
|
|
14
32
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ErrorTypes } from '@leav/utils';
|
|
2
|
+
import { Errors } from '_types/errors';
|
|
2
3
|
import { ICursorPaginationParams, IPaginationParams } from '_types/list';
|
|
3
4
|
import { IRecord, IRecordFilterLight, IRecordSortLight } from '_types/record';
|
|
4
5
|
import { IValue, IValuesOptions, IValueVersion } from '_types/value';
|
|
@@ -11,6 +12,7 @@ export interface IFindRecordParams {
|
|
|
11
12
|
withCount?: boolean;
|
|
12
13
|
retrieveInactive?: boolean;
|
|
13
14
|
fulltextSearch?: string;
|
|
15
|
+
ignorePermissions?: boolean;
|
|
14
16
|
}
|
|
15
17
|
export interface ICreateRecordParams {
|
|
16
18
|
library: string;
|
|
@@ -20,10 +22,9 @@ export interface ICreateRecordParams {
|
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
24
|
export interface ICreateRecordValueError {
|
|
23
|
-
|
|
24
|
-
type: ErrorTypes;
|
|
25
|
+
attribute: string;
|
|
26
|
+
type: ErrorTypes | Errors;
|
|
25
27
|
message: string;
|
|
26
|
-
id_value?: string;
|
|
27
28
|
input?: any;
|
|
28
29
|
}
|
|
29
30
|
export interface ICreateRecordResult {
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
}) => Promise<ICreateRecordResult>;
|
|
15
|
+
interface IDeps {
|
|
16
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
17
|
+
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
18
|
+
'core.infra.record': IRecordRepo;
|
|
19
|
+
}
|
|
20
|
+
export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.permission.library': libraryPermissionDomain, 'core.infra.record': recordRepo }: IDeps): CreateRecordHelper;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
|
|
2
|
+
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
3
|
+
import { IRecordPermissionDomain } from 'domain/permission/recordPermissionDomain';
|
|
4
|
+
import { IValidateHelper } from 'domain/helpers/validate';
|
|
5
|
+
import { IRecordRepo } from 'infra/record/recordRepo';
|
|
6
|
+
import { ITreeRepo } from 'infra/tree/treeRepo';
|
|
7
|
+
import { IValueRepo } from 'infra/value/valueRepo';
|
|
8
|
+
import { IRecord } from '../../../_types/record';
|
|
9
|
+
export type DeleteRecordHelper = (library: string, id: string, ctx: IQueryInfos) => Promise<IRecord>;
|
|
10
|
+
interface IDeps {
|
|
11
|
+
'core.domain.helpers.validate': IValidateHelper;
|
|
12
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
13
|
+
'core.domain.permission.record': IRecordPermissionDomain;
|
|
14
|
+
'core.infra.record': IRecordRepo;
|
|
15
|
+
'core.infra.tree': ITreeRepo;
|
|
16
|
+
'core.infra.value': IValueRepo;
|
|
17
|
+
}
|
|
18
|
+
export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.helpers.validate': validateHelper, 'core.domain.permission.record': recordPermissionDomain, 'core.infra.record': recordRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo }: IDeps): DeleteRecordHelper;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IAttribute } from '_types/attribute';
|
|
2
|
+
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
+
import { ITreeNode } from '_types/tree';
|
|
4
|
+
import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
|
|
5
|
+
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
6
|
+
import { ITreeRepo } from 'infra/tree/treeRepo';
|
|
7
|
+
import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
|
|
8
|
+
interface IAccessPermissionFilterDeps {
|
|
9
|
+
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
10
|
+
'core.infra.tree': ITreeRepo;
|
|
11
|
+
'core.infra.permission': IPermissionRepo;
|
|
12
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
13
|
+
}
|
|
14
|
+
export interface IGetAccessPermissionsValue {
|
|
15
|
+
treeId: string;
|
|
16
|
+
attribute: IAttribute;
|
|
17
|
+
permissions: {
|
|
18
|
+
true: Array<ITreeNode['id']>;
|
|
19
|
+
false: Array<ITreeNode['id']>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
23
|
+
declare const getAccessPermissionsFilters: IGetAccessPermissions;
|
|
24
|
+
export default getAccessPermissionsFilters;
|
|
@@ -1 +1,4 @@
|
|
|
1
|
+
export { default as createRecord } from './createRecord';
|
|
2
|
+
export { default as deleteRecord } from './deleteRecord';
|
|
1
3
|
export { default as sendRecordUpdateEvent } from './sendRecordUpdateEvent';
|
|
4
|
+
export { default as getAccessPermissionFilters } from './getAccessPermissionFilters';
|
|
@@ -19,10 +19,19 @@ import { IAttributeDomain } from '../attribute/attributeDomain';
|
|
|
19
19
|
import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
|
|
20
20
|
import { SendRecordUpdateEventHelper } from './helpers/sendRecordUpdateEvent';
|
|
21
21
|
import { ICreateRecordResult, IFindRecordParams } from './_types';
|
|
22
|
+
import { IFormRepo } from 'infra/form/formRepo';
|
|
23
|
+
import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
|
|
24
|
+
import { IAttributePermissionDomain } from '../permission/attributePermissionDomain';
|
|
25
|
+
import { IPermissionRepo } from '../../infra/permission/permissionRepo';
|
|
26
|
+
import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
|
|
27
|
+
import { DeleteRecordHelper } from './helpers/deleteRecord';
|
|
28
|
+
import { CreateRecordHelper } from './helpers/createRecord';
|
|
29
|
+
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
22
30
|
export interface IRecordDomain {
|
|
23
31
|
createRecord(params: {
|
|
24
32
|
library: string;
|
|
25
33
|
values?: IValue[];
|
|
34
|
+
verifyRequiredAttributes?: boolean;
|
|
26
35
|
ctx: IQueryInfos;
|
|
27
36
|
}): Promise<ICreateRecordResult>;
|
|
28
37
|
/**
|
|
@@ -76,6 +85,12 @@ export interface IRecordDomain {
|
|
|
76
85
|
filters?: IRecordFilterLight[];
|
|
77
86
|
ctx: IQueryInfos;
|
|
78
87
|
}): Promise<IRecord[]>;
|
|
88
|
+
activateRecordsBatch(params: {
|
|
89
|
+
libraryId: string;
|
|
90
|
+
recordsIds?: string[];
|
|
91
|
+
filters?: IRecordFilterLight[];
|
|
92
|
+
ctx: IQueryInfos;
|
|
93
|
+
}): Promise<IRecord[]>;
|
|
79
94
|
purgeInactiveRecords(params: {
|
|
80
95
|
libraryId: string;
|
|
81
96
|
ctx: IQueryInfos;
|
|
@@ -88,15 +103,23 @@ export interface IRecordDomainDeps {
|
|
|
88
103
|
'core.domain.value': IValueDomain;
|
|
89
104
|
'core.domain.permission.record': IRecordPermissionDomain;
|
|
90
105
|
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
106
|
+
'core.domain.permission.attribute': IAttributePermissionDomain;
|
|
107
|
+
'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
|
|
108
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
91
109
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
92
110
|
'core.domain.helpers.validate': IValidateHelper;
|
|
111
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
112
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
93
113
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
94
114
|
'core.infra.library': ILibraryRepo;
|
|
95
115
|
'core.infra.tree': ITreeRepo;
|
|
116
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
96
117
|
'core.infra.value': IValueRepo;
|
|
118
|
+
'core.infra.form': IFormRepo;
|
|
119
|
+
'core.infra.permission': IPermissionRepo;
|
|
97
120
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
98
121
|
'core.infra.cache.cacheService': ICachesService;
|
|
99
122
|
'core.utils': IUtils;
|
|
100
123
|
translator: i18n;
|
|
101
124
|
}
|
|
102
|
-
export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
125
|
+
export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.permission.attribute': attrPermissionDomain, 'core.domain.permission.recordAttribute': recordAttributePermissionDomain, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.createRecord': createRecordHelper, 'core.domain.record.helpers.deleteRecord': deleteRecordHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.domain.tree.helpers.elementAncestors': elementAncestorsHelper, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.infra.permission': permissionRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
@@ -6,12 +6,12 @@ import { IQueryInfos } from '_types/queryInfos';
|
|
|
6
6
|
import { IValue } from '_types/value';
|
|
7
7
|
import { ErrorFieldDetail, Errors } from '../../../_types/errors';
|
|
8
8
|
import { RecordAttributePermissionsActions, RecordPermissionsActions } from '../../../_types/permissions';
|
|
9
|
-
interface
|
|
9
|
+
interface ICanSaveRecordValueRes {
|
|
10
10
|
canSave: boolean;
|
|
11
11
|
reason?: RecordAttributePermissionsActions | RecordPermissionsActions | Errors;
|
|
12
12
|
fields?: ErrorFieldDetail<IValue>;
|
|
13
13
|
}
|
|
14
|
-
interface
|
|
14
|
+
interface ICanSaveRecordValueParams {
|
|
15
15
|
attributeProps: IAttribute;
|
|
16
16
|
value: IValue;
|
|
17
17
|
library: string;
|
|
@@ -24,5 +24,5 @@ interface ICanSaveValueParams {
|
|
|
24
24
|
config: IConfig;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
declare const _default: (params:
|
|
27
|
+
declare const _default: (params: ICanSaveRecordValueParams) => Promise<ICanSaveRecordValueRes>;
|
|
28
28
|
export default _default;
|
|
@@ -21,6 +21,9 @@ 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;
|
|
@@ -73,6 +76,7 @@ export interface IValueDomain {
|
|
|
73
76
|
values: IValue[];
|
|
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;
|
|
@@ -4,6 +4,7 @@ import { IViewRepo } from 'infra/view/_types';
|
|
|
4
4
|
import { IUtils } from 'utils/utils';
|
|
5
5
|
import { IList } from '_types/list';
|
|
6
6
|
import { IQueryInfos } from '_types/queryInfos';
|
|
7
|
+
import { IView } from '_types/views';
|
|
7
8
|
export interface IViewDomain {
|
|
8
9
|
saveView(view: IView, ctx: IQueryInfos): Promise<IView>;
|
|
9
10
|
getViews(library: string, ctx: IQueryInfos): Promise<IList<IView>>;
|
|
@@ -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 {};
|
|
@@ -48,9 +48,9 @@ export interface IAttributeTypeRepo {
|
|
|
48
48
|
/**
|
|
49
49
|
* Check if a value is unique
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
isValueUsed?({ library, excludedRecordId, attribute, value, ctx }: {
|
|
52
52
|
library: string;
|
|
53
|
-
|
|
53
|
+
excludedRecordId?: string;
|
|
54
54
|
attribute: IAttribute;
|
|
55
55
|
value: IValue;
|
|
56
56
|
ctx: IQueryInfos;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AqlLiteral, GeneratedAqlQuery } from 'arangojs/aql';
|
|
2
2
|
import { IAttribute } from '../../../_types/attribute';
|
|
3
3
|
import { AttributeCondition } from '../../../_types/record';
|
|
4
|
-
export type GetConditionPart = (valueIdentifier: string | AqlLiteral, condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute) => GeneratedAqlQuery;
|
|
4
|
+
export type GetConditionPart = (valueIdentifier: string | AqlLiteral, condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute, isCountFilter: boolean) => GeneratedAqlQuery;
|
|
5
5
|
export default function (): GetConditionPart;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { GeneratedAqlQuery } from 'arangojs/aql';
|
|
2
2
|
import { AwilixContainer } from 'awilix';
|
|
3
|
-
import { IPluginsRepo } from 'infra/plugins/pluginsRepo';
|
|
4
3
|
import * as winston from 'winston';
|
|
5
4
|
import { IConfig } from '_types/config';
|
|
6
5
|
import { IList, IPaginationParams, ISortParams } from '_types/list';
|
|
@@ -33,8 +32,7 @@ interface IDeps {
|
|
|
33
32
|
'core.infra.db.dbService'?: IDbService;
|
|
34
33
|
'core.infra.cache.cacheService'?: ICachesService;
|
|
35
34
|
'core.utils.logger'?: winston.Winston;
|
|
36
|
-
'core.infra.plugins'?: IPluginsRepo;
|
|
37
35
|
config?: IConfig;
|
|
38
36
|
}
|
|
39
|
-
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.cache.cacheService': cacheService, 'core.utils.logger': logger,
|
|
37
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.cache.cacheService': cacheService, 'core.utils.logger': logger, config }?: IDeps): IDbUtils;
|
|
40
38
|
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,9 @@
|
|
|
1
|
+
import { type IDbService } from '../dbService';
|
|
2
|
+
import { type IMigration } from '../../../_types/migration';
|
|
3
|
+
import { IAttributeRepo } from 'infra/attribute/attributeRepo';
|
|
4
|
+
interface IDeps {
|
|
5
|
+
'core.infra.db.dbService'?: IDbService;
|
|
6
|
+
'core.infra.attribute'?: IAttributeRepo;
|
|
7
|
+
}
|
|
8
|
+
export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.attribute': attributeRepo }?: IDeps): IMigration;
|
|
9
|
+
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 {};
|
|
@@ -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 {};
|
|
@@ -12,7 +12,9 @@ export interface IOIDCClientService {
|
|
|
12
12
|
redirectUri: string;
|
|
13
13
|
queryId: string;
|
|
14
14
|
}) => Promise<string>;
|
|
15
|
-
getLogoutUrl: (
|
|
15
|
+
getLogoutUrl: (params: {
|
|
16
|
+
userId: string | null;
|
|
17
|
+
}) => Promise<string>;
|
|
16
18
|
saveOIDCTokens: (params: {
|
|
17
19
|
userId: string;
|
|
18
20
|
tokens: TokenSet;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IQueryInfos } from '_types/queryInfos';
|
|
2
|
-
import { IPermission, IPermissionsTreeTarget, PermissionTypes } from '../../_types/permissions';
|
|
2
|
+
import { IPermission, IPermissionsTreeTarget, PermissionsActions, PermissionTypes } from '../../_types/permissions';
|
|
3
3
|
import { IDbService } from '../db/dbService';
|
|
4
4
|
import { IDbUtils } from '../db/dbUtils';
|
|
5
5
|
export interface IPermissionRepo {
|
|
@@ -14,6 +14,14 @@ export interface IPermissionRepo {
|
|
|
14
14
|
permissionTreeTarget?: IPermissionsTreeTarget;
|
|
15
15
|
ctx: IQueryInfos;
|
|
16
16
|
}): Promise<IPermission | null>;
|
|
17
|
+
getAllPermissionsForTree({ type, applyTo, actionKey, treeId, groupsIds, ctx }: {
|
|
18
|
+
type: PermissionTypes;
|
|
19
|
+
applyTo: string;
|
|
20
|
+
actionKey: PermissionsActions;
|
|
21
|
+
treeId: string;
|
|
22
|
+
groupsIds: string[];
|
|
23
|
+
ctx: IQueryInfos;
|
|
24
|
+
}): Promise<IPermission[]>;
|
|
17
25
|
}
|
|
18
26
|
export declare const PERM_COLLECTION_NAME = "core_permissions";
|
|
19
27
|
export declare const USERS_GROUP_ATTRIBUTE_NAME = "user_groups";
|
|
@@ -11,6 +11,7 @@ import { IDbUtils } from '../db/dbUtils';
|
|
|
11
11
|
import { IFilterTypesHelper } from './helpers/filterTypes';
|
|
12
12
|
import { GetSearchVariableName } from './helpers/getSearchVariableName';
|
|
13
13
|
import { GetSearchVariablesQueryPart } from './helpers/getSearchVariablesQueryPart';
|
|
14
|
+
import { IGetAccessPermissionsValue } from 'domain/record/helpers/getAccessPermissionFilters';
|
|
14
15
|
export interface IFindRequestResult {
|
|
15
16
|
initialVars: GeneratedAqlQuery[];
|
|
16
17
|
queryPart: GeneratedAqlQuery;
|
|
@@ -44,6 +45,7 @@ export interface IRecordRepo {
|
|
|
44
45
|
retrieveInactive?: boolean;
|
|
45
46
|
fulltextSearch?: string;
|
|
46
47
|
ctx: IQueryInfos;
|
|
48
|
+
accessPermissionFilters?: IGetAccessPermissionsValue[];
|
|
47
49
|
}): Promise<IListWithCursor<IRecord>>;
|
|
48
50
|
}
|
|
49
51
|
export interface IRecordRepoDeps {
|
|
@@ -115,7 +115,7 @@ export interface ITreeRepo {
|
|
|
115
115
|
ctx: IQueryInfos;
|
|
116
116
|
}): Promise<IList<ITreeNode>>;
|
|
117
117
|
/**
|
|
118
|
-
* Return all ancestors of an element,
|
|
118
|
+
* Return all ancestors of an element, from root to element, but excluding tree root
|
|
119
119
|
*
|
|
120
120
|
* @param treeId
|
|
121
121
|
* @param element
|
|
@@ -5,6 +5,7 @@ import { 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";
|
|
8
|
+
export declare const EMPTY_VALUE = "__empty_value__";
|
|
8
9
|
export interface IValueRepo {
|
|
9
10
|
createValue({ library, recordId, attribute, value, ctx }: {
|
|
10
11
|
library: string;
|
|
@@ -33,9 +34,13 @@ export interface IValueRepo {
|
|
|
33
34
|
value: IValue;
|
|
34
35
|
ctx: IQueryInfos;
|
|
35
36
|
}): Promise<IValue>;
|
|
36
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Check if a value is unique expeted for the given record
|
|
39
|
+
* if recordId is null, it will check for the whole library
|
|
40
|
+
*/
|
|
41
|
+
isValueUsed({ library, excludedRecordId, attribute, value, ctx }: {
|
|
37
42
|
library: string;
|
|
38
|
-
|
|
43
|
+
excludedRecordId?: string;
|
|
39
44
|
attribute: IAttribute;
|
|
40
45
|
value: IValue;
|
|
41
46
|
ctx: IQueryInfos;
|
|
@@ -3,6 +3,7 @@ import { IDbUtils } from 'infra/db/dbUtils';
|
|
|
3
3
|
import { IList } from '_types/list';
|
|
4
4
|
import { IGetCoreEntitiesParams } from '_types/shared';
|
|
5
5
|
import { IQueryInfos } from '../../_types/queryInfos';
|
|
6
|
+
import { IView } from '_types/views';
|
|
6
7
|
export declare const VIEWS_COLLECTION_NAME = "core_views";
|
|
7
8
|
export interface IViewRepo {
|
|
8
9
|
createView(view: IView, ctx: IQueryInfos): Promise<IView>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { AwilixContainer } from 'awilix';
|
|
2
|
-
export declare const initPlugins: (
|
|
2
|
+
export declare const initPlugins: (pluginsPath: string[], depsManager: AwilixContainer) => Promise<void>;
|
|
@@ -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;
|
|
@@ -4,7 +4,8 @@ export declare enum FormUIElementTypes {
|
|
|
4
4
|
FIELDS_CONTAINER = "fields_container",
|
|
5
5
|
TAB_FIELDS_CONTAINER = "tab_fields_container",
|
|
6
6
|
TEXT_BLOCK = "text_block",
|
|
7
|
-
TABS = "tabs"
|
|
7
|
+
TABS = "tabs",
|
|
8
|
+
FRAME = "frame"
|
|
8
9
|
}
|
|
9
10
|
export declare enum FormFieldTypes {
|
|
10
11
|
TEXT_INPUT = "input_field",
|
|
@@ -41,6 +42,10 @@ export interface IFormTabsSettings {
|
|
|
41
42
|
export interface IFormTextBlockSettings {
|
|
42
43
|
content?: string;
|
|
43
44
|
}
|
|
45
|
+
export interface IFormFrameSettings {
|
|
46
|
+
url: string;
|
|
47
|
+
height?: string;
|
|
48
|
+
}
|
|
44
49
|
export interface IFormDateFieldSettings extends ICommonFieldsSettings {
|
|
45
50
|
withTime: boolean;
|
|
46
51
|
}
|
|
@@ -50,5 +55,6 @@ export interface IFormLinkFieldSettings extends ICommonFieldsSettings {
|
|
|
50
55
|
label: Record<string, string>;
|
|
51
56
|
}>;
|
|
52
57
|
displayRecordIdentity: boolean;
|
|
58
|
+
tagDisplayMode: boolean;
|
|
53
59
|
}
|
|
54
60
|
export declare const FORM_ROOT_CONTAINER_ID = "__root";
|