@aristid/leav-types 0.0.7-e9aa834 → 0.0.7-ea3c9e4
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 +2 -0
- package/apps/core/src/__tests__/mocks/actionsList.d.ts +6 -0
- package/apps/core/src/__tests__/mocks/attribute.d.ts +3 -1
- package/apps/core/src/__tests__/mocks/view.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 +2 -1
- package/apps/core/src/_types/config.d.ts +4 -0
- package/apps/core/src/_types/errors.d.ts +3 -1
- package/apps/core/src/_types/globalSettings.d.ts +1 -0
- 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/core/viewApp.d.ts +3 -1
- package/apps/core/src/domain/attribute/attributeDomain.d.ts +2 -0
- package/apps/core/src/domain/export/exportDomain.d.ts +8 -2
- package/apps/core/src/domain/helpers/calculationVariable/index.d.ts +2 -1
- package/apps/core/src/domain/record/recordDomain.d.ts +8 -1
- package/apps/core/src/domain/value/helpers/{canSaveValue.d.ts → canSaveRecordValue.d.ts} +3 -3
- package/apps/core/src/domain/value/helpers/validateValue.d.ts +1 -1
- 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 +3 -3
- 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/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/oidc/oidcClientService.d.ts +3 -1
- package/apps/core/src/infra/value/valueRepo.d.ts +6 -2
- package/apps/core/src/infra/view/_types.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +6 -1
- package/package.json +15 -3
|
@@ -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
1
|
import { AttributeFormats, AttributeTypes, 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,7 +29,6 @@ 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;
|
|
31
33
|
label?: import("../../_types/systemTranslation").ISystemTranslation | string;
|
|
32
34
|
};
|
|
@@ -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 {
|
|
@@ -8,6 +8,8 @@ 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,7 +23,6 @@ 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;
|
|
26
27
|
}
|
|
27
28
|
export declare enum ValueVersionMode {
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -19,12 +19,18 @@ export interface IExportParams {
|
|
|
19
19
|
}
|
|
20
20
|
export interface IExportDomain {
|
|
21
21
|
exportExcel(params: IExportParams, task?: ITaskFuncParams): Promise<string>;
|
|
22
|
-
exportData(
|
|
22
|
+
exportData(mapping: IExportMapping, elements: Array<{
|
|
23
23
|
[libraryId: string]: string;
|
|
24
24
|
}>, ctx: IQueryInfos): Promise<Array<{
|
|
25
|
-
[
|
|
25
|
+
[key: string]: any;
|
|
26
26
|
}>>;
|
|
27
27
|
}
|
|
28
|
+
export interface IExportMapping {
|
|
29
|
+
[key: string]: {
|
|
30
|
+
attribute: string;
|
|
31
|
+
rawValue?: boolean;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
28
34
|
export interface IExportDomainDeps {
|
|
29
35
|
'core.domain.record': IRecordDomain;
|
|
30
36
|
'core.domain.attribute': IAttributeDomain;
|
|
@@ -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 {
|
|
@@ -19,10 +19,14 @@ 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';
|
|
22
25
|
export interface IRecordDomain {
|
|
23
26
|
createRecord(params: {
|
|
24
27
|
library: string;
|
|
25
28
|
values?: IValue[];
|
|
29
|
+
verifyRequiredAttributes?: boolean;
|
|
26
30
|
ctx: IQueryInfos;
|
|
27
31
|
}): Promise<ICreateRecordResult>;
|
|
28
32
|
/**
|
|
@@ -88,15 +92,18 @@ export interface IRecordDomainDeps {
|
|
|
88
92
|
'core.domain.value': IValueDomain;
|
|
89
93
|
'core.domain.permission.record': IRecordPermissionDomain;
|
|
90
94
|
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
95
|
+
'core.domain.permission.attribute': IAttributePermissionDomain;
|
|
96
|
+
'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
|
|
91
97
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
92
98
|
'core.domain.helpers.validate': IValidateHelper;
|
|
93
99
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
94
100
|
'core.infra.library': ILibraryRepo;
|
|
95
101
|
'core.infra.tree': ITreeRepo;
|
|
96
102
|
'core.infra.value': IValueRepo;
|
|
103
|
+
'core.infra.form': IFormRepo;
|
|
97
104
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
98
105
|
'core.infra.cache.cacheService': ICachesService;
|
|
99
106
|
'core.utils': IUtils;
|
|
100
107
|
translator: i18n;
|
|
101
108
|
}
|
|
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;
|
|
109
|
+
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.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
@@ -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;
|
|
@@ -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>>;
|
|
@@ -3,7 +3,7 @@ export declare enum ApplicationErrorType {
|
|
|
3
3
|
UNKNOWN_APP_ERROR = "unknown_app",
|
|
4
4
|
FORBIDDEN_ERROR = "forbidden"
|
|
5
5
|
}
|
|
6
|
-
export default class ApplicationError extends LeavError<{}> {
|
|
6
|
+
export default class ApplicationError extends LeavError<{}, ApplicationErrorType> {
|
|
7
7
|
applicationErrorType: ApplicationErrorType;
|
|
8
8
|
appEndpoint: string;
|
|
9
9
|
statusCode: number;
|
|
@@ -7,13 +7,13 @@ interface ILeavErrorDetails {
|
|
|
7
7
|
fields?: ErrorFieldDetail<any>;
|
|
8
8
|
record?: ILeavErrorRecord;
|
|
9
9
|
}
|
|
10
|
-
export default class LeavError<T> extends Error {
|
|
10
|
+
export default class LeavError<T, E = ErrorTypes> extends Error {
|
|
11
11
|
/**
|
|
12
12
|
* Details about fields concerned by this permission
|
|
13
13
|
*/
|
|
14
14
|
fields?: ErrorFieldDetail<T>;
|
|
15
|
-
type:
|
|
15
|
+
type: E;
|
|
16
16
|
record?: ILeavErrorRecord;
|
|
17
|
-
constructor(type:
|
|
17
|
+
constructor(type: E, message?: string, details?: ILeavErrorDetails);
|
|
18
18
|
}
|
|
19
19
|
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;
|
|
@@ -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 {};
|
|
@@ -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;
|
|
17
|
+
}) => Promise<string>;
|
|
16
18
|
saveOIDCTokens: (params: {
|
|
17
19
|
userId: string;
|
|
18
20
|
tokens: TokenSet;
|
|
@@ -33,9 +33,13 @@ export interface IValueRepo {
|
|
|
33
33
|
value: IValue;
|
|
34
34
|
ctx: IQueryInfos;
|
|
35
35
|
}): Promise<IValue>;
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Check if a value is unique expeted for the given record
|
|
38
|
+
* if recordId is null, it will check for the whole library
|
|
39
|
+
*/
|
|
40
|
+
isValueUsed({ library, excludedRecordId, attribute, value, ctx }: {
|
|
37
41
|
library: string;
|
|
38
|
-
|
|
42
|
+
excludedRecordId?: string;
|
|
39
43
|
attribute: IAttribute;
|
|
40
44
|
value: IValue;
|
|
41
45
|
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>;
|
|
@@ -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
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aristid/leav-types",
|
|
3
|
-
"version": "0.0.7-
|
|
3
|
+
"version": "0.0.7-ea3c9e4",
|
|
4
4
|
"description": "Shared Leav types",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"tscheck": "",
|
|
@@ -9,5 +9,17 @@
|
|
|
9
9
|
"publish-types": "npm publish --access public"
|
|
10
10
|
},
|
|
11
11
|
"license": "LGPL3",
|
|
12
|
-
"repository": "https://github.com/leav-solutions/leav-engine"
|
|
13
|
-
|
|
12
|
+
"repository": "https://github.com/leav-solutions/leav-engine",
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@leav/utils": "0.0.3",
|
|
15
|
+
"@types/amqplib": "^0",
|
|
16
|
+
"@types/express": "5.0.0",
|
|
17
|
+
"@types/jest": "29.5.14",
|
|
18
|
+
"amqplib": "0.10.5",
|
|
19
|
+
"arangojs": "8.1.0",
|
|
20
|
+
"awilix": "12.0.4",
|
|
21
|
+
"i18next": "24.2.0",
|
|
22
|
+
"jest": "29.7.0",
|
|
23
|
+
"winston": "2.4.6"
|
|
24
|
+
}
|
|
25
|
+
}
|