@aristid/leav-types 0.0.7-e3e32e8 → 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 +1 -0
- package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
- package/apps/core/src/__tests__/mocks/attribute.d.ts +2 -1
- package/apps/core/src/__tests__/mocks/cache.d.ts +4 -0
- package/apps/core/src/_constants/attributes.d.ts +1 -0
- package/apps/core/src/_types/attribute.d.ts +6 -0
- package/apps/core/src/_types/forms.d.ts +10 -0
- package/apps/core/src/_types/library.d.ts +3 -1
- package/apps/core/src/_types/queryInfos.d.ts +1 -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/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/record/_types.d.ts +4 -3
- package/apps/core/src/domain/record/helpers/createRecord.d.ts +21 -0
- package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
- package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +1 -1
- package/apps/core/src/domain/record/helpers/index.d.ts +2 -0
- package/apps/core/src/domain/record/recordDomain.d.ts +14 -2
- package/apps/core/src/domain/value/valueDomain.d.ts +8 -1
- package/apps/core/src/errors/LeavError.d.ts +6 -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 +1 -1
- package/apps/core/src/utils/utils.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
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
3
|
export declare const mockUniqueAttrSimple: IAttribute;
|
|
4
4
|
export declare const mockAttrId: IAttribute;
|
|
@@ -31,6 +31,7 @@ export declare const mockAttrTree: {
|
|
|
31
31
|
unique?: boolean;
|
|
32
32
|
description?: import("../../_types/systemTranslation").ISystemTranslation;
|
|
33
33
|
settings?: import("../../_types/shared").IKeyValue<any>;
|
|
34
|
+
multi_link_display_option?: MultiLinkDisplayOption;
|
|
34
35
|
label?: import("../../_types/systemTranslation").ISystemTranslation | string;
|
|
35
36
|
};
|
|
36
37
|
export declare const mockAttrTreeVersionable: IAttribute;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const baseAttributes: string[];
|
|
@@ -25,6 +25,7 @@ export interface IAttribute extends ICoreEntity {
|
|
|
25
25
|
unique?: boolean;
|
|
26
26
|
description?: ISystemTranslation;
|
|
27
27
|
settings?: IKeyValue<any>;
|
|
28
|
+
multi_link_display_option?: MultiLinkDisplayOption;
|
|
28
29
|
}
|
|
29
30
|
export declare enum ValueVersionMode {
|
|
30
31
|
SIMPLE = "simple",
|
|
@@ -88,6 +89,11 @@ export declare enum AttributeFormats {
|
|
|
88
89
|
COLOR = "color",
|
|
89
90
|
RICH_TEXT = "rich_text"
|
|
90
91
|
}
|
|
92
|
+
export declare enum MultiLinkDisplayOption {
|
|
93
|
+
AVATAR = "avatar",
|
|
94
|
+
TAG = "tag",
|
|
95
|
+
BADGE_QTY = "badge_qty"
|
|
96
|
+
}
|
|
91
97
|
export declare enum IOTypes {
|
|
92
98
|
STRING = "string",
|
|
93
99
|
NUMBER = "number",
|
|
@@ -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
|
+
}
|
|
@@ -7,6 +7,7 @@ import { IKeyValue } from './shared';
|
|
|
7
7
|
export interface ILibrary extends ICoreEntity {
|
|
8
8
|
system?: boolean;
|
|
9
9
|
behavior?: LibraryBehavior;
|
|
10
|
+
mandatoryAttribute?: string;
|
|
10
11
|
/**
|
|
11
12
|
* List of attributes usable in this library
|
|
12
13
|
*/
|
|
@@ -45,8 +46,9 @@ export interface ILibraryPreviewsSettings {
|
|
|
45
46
|
}
|
|
46
47
|
export declare enum LibraryBehavior {
|
|
47
48
|
STANDARD = "standard",
|
|
49
|
+
DIRECTORIES = "directories",
|
|
48
50
|
FILES = "files",
|
|
49
|
-
|
|
51
|
+
JOIN = "join"
|
|
50
52
|
}
|
|
51
53
|
export declare const USERS_LIBRARY = "users";
|
|
52
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;
|
|
@@ -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 {};
|
|
@@ -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,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 {};
|
|
@@ -19,6 +19,6 @@ export interface IGetAccessPermissionsValue {
|
|
|
19
19
|
false: Array<ITreeNode['id']>;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
export type IGetAccessPermissions = (groupsIds: string[], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
22
|
+
export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
23
23
|
declare const getAccessPermissionsFilters: IGetAccessPermissions;
|
|
24
24
|
export default getAccessPermissionsFilters;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export { default as createRecord } from './createRecord';
|
|
2
|
+
export { default as deleteRecord } from './deleteRecord';
|
|
1
3
|
export { default as sendRecordUpdateEvent } from './sendRecordUpdateEvent';
|
|
2
4
|
export { default as getAccessPermissionFilters } from './getAccessPermissionFilters';
|
|
@@ -22,8 +22,11 @@ import { ICreateRecordResult, IFindRecordParams } from './_types';
|
|
|
22
22
|
import { IFormRepo } from 'infra/form/formRepo';
|
|
23
23
|
import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
|
|
24
24
|
import { IAttributePermissionDomain } from '../permission/attributePermissionDomain';
|
|
25
|
-
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
25
|
+
import { IPermissionRepo } from '../../infra/permission/permissionRepo';
|
|
26
26
|
import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
|
|
27
|
+
import { DeleteRecordHelper } from './helpers/deleteRecord';
|
|
28
|
+
import { CreateRecordHelper } from './helpers/createRecord';
|
|
29
|
+
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
27
30
|
export interface IRecordDomain {
|
|
28
31
|
createRecord(params: {
|
|
29
32
|
library: string;
|
|
@@ -82,6 +85,12 @@ export interface IRecordDomain {
|
|
|
82
85
|
filters?: IRecordFilterLight[];
|
|
83
86
|
ctx: IQueryInfos;
|
|
84
87
|
}): Promise<IRecord[]>;
|
|
88
|
+
activateRecordsBatch(params: {
|
|
89
|
+
libraryId: string;
|
|
90
|
+
recordsIds?: string[];
|
|
91
|
+
filters?: IRecordFilterLight[];
|
|
92
|
+
ctx: IQueryInfos;
|
|
93
|
+
}): Promise<IRecord[]>;
|
|
85
94
|
purgeInactiveRecords(params: {
|
|
86
95
|
libraryId: string;
|
|
87
96
|
ctx: IQueryInfos;
|
|
@@ -99,9 +108,12 @@ export interface IRecordDomainDeps {
|
|
|
99
108
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
100
109
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
101
110
|
'core.domain.helpers.validate': IValidateHelper;
|
|
111
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
112
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
102
113
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
103
114
|
'core.infra.library': ILibraryRepo;
|
|
104
115
|
'core.infra.tree': ITreeRepo;
|
|
116
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
105
117
|
'core.infra.value': IValueRepo;
|
|
106
118
|
'core.infra.form': IFormRepo;
|
|
107
119
|
'core.infra.permission': IPermissionRepo;
|
|
@@ -110,4 +122,4 @@ export interface IRecordDomainDeps {
|
|
|
110
122
|
'core.utils': IUtils;
|
|
111
123
|
translator: i18n;
|
|
112
124
|
}
|
|
113
|
-
export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.permission.attribute': attrPermissionDomain, 'core.domain.permission.recordAttribute': recordAttributePermissionDomain, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.infra.permission': permissionRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
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;
|
|
@@ -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;
|
|
@@ -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 {};
|
|
@@ -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 {};
|
|
@@ -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;
|