@aristid/leav-types 0.0.7-9ec784a → 0.0.7-a04a265e
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 +16 -1
- package/apps/core/config/development.d.ts +1 -0
- package/apps/core/config/test.d.ts +2 -0
- package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +6 -1
- package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/globalSetup.d.ts +1 -0
- package/apps/core/src/__tests__/integration/globalSetupHook.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedLinkRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeAdvancedRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeSimpleLinkRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeSimpleRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/attributeTreeRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +7 -0
- package/apps/core/src/__tests__/integration/infra/recordRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/infra/treeRepo.test.d.ts +1 -0
- package/apps/core/src/__tests__/integration/teardown.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 +5 -2
- 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 +9 -2
- package/apps/core/src/_types/config.d.ts +39 -2
- package/apps/core/src/_types/dbProfiler.d.ts +20 -1
- package/apps/core/src/_types/errors.d.ts +3 -1
- package/apps/core/src/_types/events.d.ts +45 -0
- package/apps/core/src/_types/forms.d.ts +10 -0
- package/apps/core/src/_types/globalSettings.d.ts +2 -0
- package/apps/core/src/_types/library.d.ts +12 -1
- package/apps/core/src/_types/permissions.d.ts +3 -1
- package/apps/core/src/_types/queryInfos.d.ts +6 -1
- package/apps/core/src/_types/record.d.ts +4 -4
- package/apps/core/src/_types/tree.d.ts +2 -1
- package/apps/core/src/_types/value.d.ts +66 -5
- package/apps/core/src/_types/views.d.ts +5 -1
- package/apps/core/src/app/application/applicationApp.d.ts +3 -7
- package/apps/core/src/app/auth/authApp.d.ts +7 -6
- package/apps/core/src/app/core/actionListApp.d.ts +2 -4
- package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
- package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
- package/apps/core/src/app/core/coreApp.d.ts +2 -4
- package/apps/core/src/app/core/exportApp.d.ts +2 -4
- package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
- package/apps/core/src/app/core/formApp/formApp.d.ts +6 -5
- package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
- package/apps/core/src/app/core/importApp.d.ts +2 -4
- package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
- package/apps/core/src/app/core/logApp.d.ts +2 -4
- package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
- package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
- package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
- package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
- package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
- package/apps/core/src/app/core/userDataApp.d.ts +2 -4
- package/apps/core/src/app/core/valueApp.d.ts +2 -4
- package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
- package/apps/core/src/app/core/viewApp.d.ts +2 -4
- package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
- package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
- package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
- package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
- package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
- package/apps/core/src/domain/eventsManager/eventsManagerDomain.d.ts +3 -2
- package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
- 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/import/importDomain.d.ts +12 -2
- package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
- package/apps/core/src/domain/log/logDomain.d.ts +3 -1
- package/apps/core/src/domain/permission/_types.d.ts +11 -11
- package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +4 -13
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +24 -6
- package/apps/core/src/domain/permission/helpers/reducePermissionsArray.d.ts +1 -1
- package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
- package/apps/core/src/domain/permission/permissionDomain.d.ts +1 -0
- package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
- package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +2 -2
- package/apps/core/src/domain/record/_types.d.ts +4 -3
- package/apps/core/src/domain/record/helpers/createRecord.d.ts +22 -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 +44 -3
- package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
- package/apps/core/src/domain/value/helpers/{canSaveValue.d.ts → canSaveRecordValue.d.ts} +3 -3
- package/apps/core/src/domain/value/helpers/isEmptyValue.d.ts +5 -0
- package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
- package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
- package/apps/core/src/domain/value/helpers/validateValue.d.ts +4 -4
- package/apps/core/src/domain/value/valueDomain.d.ts +11 -4
- package/apps/core/src/errors/LeavError.d.ts +6 -0
- package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
- package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
- package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
- package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +54 -24
- package/apps/core/src/infra/db/dbUtils.d.ts +1 -3
- package/apps/core/src/infra/db/migrations/008-addSkeletonApp.d.ts +7 -0
- package/apps/core/src/infra/db/migrations/009-addDisplayMultiLinkOptAttributeProperty.d.ts +11 -0
- package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +8 -0
- package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
- package/apps/core/src/infra/oidc/oidcClientService.d.ts +3 -1
- package/apps/core/src/infra/permission/permissionRepo.d.ts +9 -1
- package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
- package/apps/core/src/infra/record/recordRepo.d.ts +11 -0
- package/apps/core/src/infra/tree/treeRepo.d.ts +4 -3
- package/apps/core/src/infra/value/valueRepo.d.ts +17 -10
- package/apps/core/src/interface/server.d.ts +7 -0
- package/apps/core/src/pluginsLoader.d.ts +1 -1
- package/apps/core/src/utils/dataloader.d.ts +9 -0
- package/apps/core/src/utils/dataloader.spec.d.ts +1 -0
- package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
- package/apps/core/src/utils/index.d.ts +1 -0
- package/apps/core/src/utils/utils.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +7 -1
- package/package.json +5 -2
package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IQueryInfos } from '_types/queryInfos';
|
|
2
2
|
import { IFileEventData } from '../../../../_types/filesManager';
|
|
3
3
|
import { IHandleFileSystemEventDeps, IHandleFileSystemEventResources } from './_types';
|
|
4
|
-
export declare const handleMoveEvent: (scanMsg: IFileEventData, { library }: IHandleFileSystemEventResources, deps: IHandleFileSystemEventDeps, ctx: IQueryInfos) => Promise<boolean>;
|
|
4
|
+
export declare const handleMoveEvent: (scanMsg: IFileEventData, { library }: IHandleFileSystemEventResources, deps: IHandleFileSystemEventDeps, ctx: IQueryInfos) => Promise<boolean | void>;
|
|
@@ -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 {
|
|
@@ -6,15 +6,19 @@ import { IRecordDomain } from 'domain/record/recordDomain';
|
|
|
6
6
|
import { ITasksManagerDomain } from 'domain/tasksManager/tasksManagerDomain';
|
|
7
7
|
import { ITreeDomain } from 'domain/tree/treeDomain';
|
|
8
8
|
import { IValueDomain } from 'domain/value/valueDomain';
|
|
9
|
+
import { IPermissionDomain } from 'domain/permission/permissionDomain';
|
|
10
|
+
import { AwilixContainer } from 'awilix';
|
|
9
11
|
import { i18n } from 'i18next';
|
|
10
12
|
import { IUtils } from 'utils/utils';
|
|
11
13
|
import * as Config from '_types/config';
|
|
12
14
|
import { ICachesService } from '../../infra/cache/cacheService';
|
|
15
|
+
import { IDbUtils } from '../../infra/db/dbUtils';
|
|
13
16
|
import { ImportMode, ImportType } from '../../_types/import';
|
|
14
17
|
import { IQueryInfos } from '../../_types/queryInfos';
|
|
15
18
|
import { ITaskFuncParams } from '../../_types/tasksManager';
|
|
16
19
|
import { IValidateHelper } from '../helpers/validate';
|
|
17
20
|
import { IVersionProfileDomain } from '../versionProfile/versionProfileDomain';
|
|
21
|
+
import winston from 'winston';
|
|
18
22
|
export declare const IMPORT_DATA_SCHEMA_PATH: string;
|
|
19
23
|
export declare const IMPORT_CONFIG_SCHEMA_PATH: string;
|
|
20
24
|
export interface IImportExcelParams {
|
|
@@ -40,9 +44,11 @@ interface IImportConfigParams {
|
|
|
40
44
|
filepath: string;
|
|
41
45
|
ctx: IQueryInfos;
|
|
42
46
|
forceNoTask?: boolean;
|
|
47
|
+
clearDatabase?: boolean;
|
|
48
|
+
dbMigrate?: boolean;
|
|
43
49
|
}
|
|
44
50
|
export interface IImportDomain {
|
|
45
|
-
importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string>;
|
|
51
|
+
importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string | undefined>;
|
|
46
52
|
importData(params: IImportDataParams, task?: ITaskFuncParams): Promise<string>;
|
|
47
53
|
importExcel({ filename, sheets, startAt }: IImportExcelParams, ctx: IQueryInfos): Promise<string>;
|
|
48
54
|
}
|
|
@@ -61,12 +67,16 @@ export interface IImportDomainDeps {
|
|
|
61
67
|
'core.domain.tree': ITreeDomain;
|
|
62
68
|
'core.domain.versionProfile': IVersionProfileDomain;
|
|
63
69
|
'core.domain.tasksManager': ITasksManagerDomain;
|
|
70
|
+
'core.domain.permission': IPermissionDomain;
|
|
64
71
|
'core.domain.helpers.updateTaskProgress': UpdateTaskProgress;
|
|
65
72
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
66
73
|
'core.infra.cache.cacheService': ICachesService;
|
|
74
|
+
'core.infra.db.dbUtils': IDbUtils;
|
|
75
|
+
'core.depsManager': AwilixContainer;
|
|
67
76
|
config: Config.IConfig;
|
|
68
77
|
translator: i18n;
|
|
69
78
|
'core.utils': IUtils;
|
|
79
|
+
'core.utils.logger'?: winston.Winston;
|
|
70
80
|
}
|
|
71
|
-
export default function ({ 'core.domain.library': libraryDomain, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.tree': treeDomain, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, config, translator }: IImportDomainDeps): IImportDomain;
|
|
81
|
+
export default function ({ 'core.domain.library': libraryDomain, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.tree': treeDomain, 'core.domain.versionProfile': versionProfileDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.permission': permissionDomain, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.infra.cache.cacheService': cacheService, 'core.infra.db.dbUtils': dbUtils, 'core.depsManager': depsManager, 'core.utils': utils, 'core.utils.logger': logger, config, translator }: IImportDomainDeps): IImportDomain;
|
|
72
82
|
export {};
|
|
@@ -11,6 +11,7 @@ import * as Config from '_types/config';
|
|
|
11
11
|
import { IQueryInfos } from '_types/queryInfos';
|
|
12
12
|
import { IIndexationService } from '../../infra/indexation/indexationService';
|
|
13
13
|
import { ITaskFuncParams } from '../../_types/tasksManager';
|
|
14
|
+
import { GetSystemQueryContext } from '../../utils/helpers/getSystemQueryContext';
|
|
14
15
|
interface IIndexDatabaseParams {
|
|
15
16
|
findRecordParams: IFindRecordParams | IFindRecordParams[];
|
|
16
17
|
attributes?: {
|
|
@@ -22,7 +23,7 @@ interface IIndexDatabaseParams {
|
|
|
22
23
|
}
|
|
23
24
|
export interface IIndexationManagerDomain {
|
|
24
25
|
init(): Promise<void>;
|
|
25
|
-
indexDatabase(params: IIndexDatabaseParams, task?: ITaskFuncParams): Promise<
|
|
26
|
+
indexDatabase(params: IIndexDatabaseParams, task?: ITaskFuncParams): Promise<void>;
|
|
26
27
|
}
|
|
27
28
|
export interface IIndexationManagerDomainDeps {
|
|
28
29
|
config: Config.IConfig;
|
|
@@ -34,7 +35,8 @@ export interface IIndexationManagerDomainDeps {
|
|
|
34
35
|
'core.domain.tasksManager': ITasksManagerDomain;
|
|
35
36
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
36
37
|
'core.utils.logger': winston.Winston;
|
|
38
|
+
'core.utils.getSystemQueryContext': GetSystemQueryContext;
|
|
37
39
|
translator: i18n;
|
|
38
40
|
}
|
|
39
|
-
export default function ({ config, 'core.infra.amqpService': amqpService, 'core.domain.record': recordDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.infra.indexation.indexationService': indexationService, 'core.domain.eventsManager': eventsManager, 'core.utils.logger': logger, translator }: IIndexationManagerDomainDeps): IIndexationManagerDomain;
|
|
41
|
+
export default function ({ config, 'core.infra.amqpService': amqpService, 'core.domain.record': recordDomain, 'core.domain.library': libraryDomain, 'core.domain.attribute': attributeDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.infra.indexation.indexationService': indexationService, 'core.domain.eventsManager': eventsManager, 'core.utils.logger': logger, 'core.utils.getSystemQueryContext': getSystemQueryContext, translator }: IIndexationManagerDomainDeps): IIndexationManagerDomain;
|
|
40
42
|
export {};
|
|
@@ -2,6 +2,7 @@ import { Log } from '@leav/utils';
|
|
|
2
2
|
import { ILogRepo } from 'infra/log/logRepo';
|
|
3
3
|
import { ILogFilters, ILogPagination, ILogSort } from '_types/log';
|
|
4
4
|
import { IQueryInfos } from '_types/queryInfos';
|
|
5
|
+
import { IPermissionDomain } from 'domain/permission/permissionDomain';
|
|
5
6
|
export interface ILogDomain {
|
|
6
7
|
getLogs: (params: {
|
|
7
8
|
filters?: ILogFilters;
|
|
@@ -11,6 +12,7 @@ export interface ILogDomain {
|
|
|
11
12
|
}
|
|
12
13
|
interface IDeps {
|
|
13
14
|
'core.infra.log': ILogRepo;
|
|
15
|
+
'core.domain.permission': IPermissionDomain;
|
|
14
16
|
}
|
|
15
|
-
export default function ({ 'core.infra.log': logRepo }: IDeps): ILogDomain;
|
|
17
|
+
export default function ({ 'core.infra.log': logRepo, 'core.domain.permission': permissionDomain }: IDeps): ILogDomain;
|
|
16
18
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AdminPermissionsActions, ApplicationPermissionsActions, AttributePermissionsActions, IPermissionsTreeTarget, ITreePermissionsConf, LibraryPermissionsActions, PermissionsActions, PermissionTypes, RecordAttributePermissionsActions, RecordPermissionsActions, TreeNodePermissionsActions, TreePermissionsActions } from '_types/permissions';
|
|
2
2
|
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
-
import {
|
|
3
|
+
import { TreePath } from '_types/tree';
|
|
4
4
|
export declare const PERMISSIONS_CACHE_HEADER = "permissions";
|
|
5
5
|
export declare const PERMISSIONS_NULL_PLACEHOLDER = "__null__";
|
|
6
6
|
export interface IPermissionTarget {
|
|
@@ -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 {
|
|
@@ -171,7 +163,7 @@ export interface IGetDefaultPermissionParams {
|
|
|
171
163
|
action?: any;
|
|
172
164
|
applyTo?: string;
|
|
173
165
|
userId?: string;
|
|
174
|
-
userGroups?:
|
|
166
|
+
userGroups?: TreePath[];
|
|
175
167
|
}
|
|
176
168
|
export interface IGetTreeBasedPermissionParams {
|
|
177
169
|
type: PermissionTypes;
|
|
@@ -207,3 +199,11 @@ export interface IGetInheritedRecordPermissionParams {
|
|
|
207
199
|
permTreeNode: string;
|
|
208
200
|
ctx: IQueryInfos;
|
|
209
201
|
}
|
|
202
|
+
export interface IEstimateTreeValueRecordPermissionParams {
|
|
203
|
+
action: RecordPermissionsActions;
|
|
204
|
+
userId: string;
|
|
205
|
+
libraryId: string;
|
|
206
|
+
attributeId: string;
|
|
207
|
+
nodeId: string;
|
|
208
|
+
ctx: IQueryInfos;
|
|
209
|
+
}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import { IAttributeRepo } from 'infra/attribute/attributeRepo';
|
|
2
|
-
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
3
|
-
import { ITreeRepo } from 'infra/tree/treeRepo';
|
|
4
|
-
import { IValueRepo } from 'infra/value/valueRepo';
|
|
5
1
|
import { IQueryInfos } from '_types/queryInfos';
|
|
6
|
-
import { ICachesService } from '../../../infra/cache/cacheService';
|
|
7
2
|
import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
|
|
8
3
|
import { IDefaultPermissionHelper } from './defaultPermission';
|
|
9
4
|
import { IPermissionByUserGroupsHelper } from './permissionByUserGroups';
|
|
5
|
+
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
10
6
|
interface IGetGlobalPermissionParams {
|
|
11
7
|
type: PermissionTypes;
|
|
12
8
|
applyTo?: string;
|
|
13
|
-
userId: string;
|
|
14
9
|
action: PermissionsActions;
|
|
15
|
-
getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => boolean;
|
|
10
|
+
getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
|
|
16
11
|
}
|
|
17
12
|
interface IGetInheritedGlobalPermissionParams {
|
|
18
13
|
type: PermissionTypes;
|
|
@@ -35,11 +30,7 @@ export interface IGlobalPermissionHelper {
|
|
|
35
30
|
export interface IGlobalPermissionDeps {
|
|
36
31
|
'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
|
|
37
32
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
38
|
-
'core.
|
|
39
|
-
'core.infra.attribute': IAttributeRepo;
|
|
40
|
-
'core.infra.tree': ITreeRepo;
|
|
41
|
-
'core.infra.value': IValueRepo;
|
|
42
|
-
'core.infra.cache.cacheService': ICachesService;
|
|
33
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
43
34
|
}
|
|
44
|
-
export default function ({ 'core.domain.permission.helpers.permissionByUserGroups': permByUserGroupsHelper, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.
|
|
35
|
+
export default function ({ 'core.domain.permission.helpers.permissionByUserGroups': permByUserGroupsHelper, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.tree.helpers.elementAncestors': elementAncestorsHelper }: IGlobalPermissionDeps): IGlobalPermissionHelper;
|
|
45
36
|
export {};
|
|
@@ -1,14 +1,32 @@
|
|
|
1
|
-
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
2
|
-
import { IGetPermissionByUserGroupsParams } from '../_types';
|
|
3
1
|
import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
|
|
4
2
|
import { ISimplePermissionHelper } from './simplePermission';
|
|
5
|
-
|
|
3
|
+
import { IDefaultPermissionHelper } from './defaultPermission';
|
|
4
|
+
import { TreePath } from '../../../_types/tree';
|
|
5
|
+
import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
|
|
6
|
+
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
7
|
+
import { ICachesService } from '../../../infra/cache/cacheService';
|
|
8
|
+
import { IConfig } from '_types/config';
|
|
9
|
+
export interface IPermissionByUserGroupsHelperDeps {
|
|
6
10
|
'core.domain.permission.helpers.simplePermission': ISimplePermissionHelper;
|
|
7
11
|
'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
|
|
8
|
-
'core.
|
|
12
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
13
|
+
'core.infra.cache.cacheService': ICachesService;
|
|
14
|
+
config: IConfig;
|
|
15
|
+
}
|
|
16
|
+
interface IGetPermissionByUserGroupsParams {
|
|
17
|
+
type: PermissionTypes;
|
|
18
|
+
action: PermissionsActions;
|
|
19
|
+
userGroupsPaths: TreePath[];
|
|
20
|
+
applyTo?: string;
|
|
21
|
+
treeTarget?: {
|
|
22
|
+
tree: string;
|
|
23
|
+
path: TreePath;
|
|
24
|
+
};
|
|
25
|
+
getDefaultPermission?: () => Promise<boolean> | boolean;
|
|
26
|
+
ctx: IQueryInfos;
|
|
9
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 {};
|
|
@@ -2,19 +2,15 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
|
|
|
2
2
|
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
3
3
|
import { IPermissionRepo } from 'infra/permission/permissionRepo';
|
|
4
4
|
import { IQueryInfos } from '_types/queryInfos';
|
|
5
|
-
import { ICachesService } from '../../../infra/cache/cacheService';
|
|
6
5
|
import { IGetInheritedTreeBasedPermissionParams, IGetTreeBasedPermissionParams } from '../_types';
|
|
7
|
-
import { IDefaultPermissionHelper } from './defaultPermission';
|
|
8
6
|
import { IPermissionByUserGroupsHelper } from './permissionByUserGroups';
|
|
9
7
|
import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
|
|
10
8
|
export interface ITreeBasedPermissionsDeps {
|
|
11
9
|
'core.domain.attribute': IAttributeDomain;
|
|
12
10
|
'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
|
|
13
|
-
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
14
11
|
'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
|
|
15
12
|
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
16
13
|
'core.infra.permission': IPermissionRepo;
|
|
17
|
-
'core.infra.cache.cacheService': ICachesService;
|
|
18
14
|
}
|
|
19
15
|
export interface ITreeBasedPermissionHelper {
|
|
20
16
|
getTreeBasedPermission(params: IGetTreeBasedPermissionParams, ctx: IQueryInfos): Promise<boolean>;
|
|
@@ -25,6 +25,7 @@ export interface IPermissionDomain {
|
|
|
25
25
|
isAllowed({ type, action, userId, applyTo, target, ctx }: IIsAllowedParams): Promise<boolean>;
|
|
26
26
|
getActionsByType(params: IGetActionsByTypeParams): ILabeledPermissionsAction[];
|
|
27
27
|
registerActions(type: PermissionTypes, actions: string[], applyOn?: string[]): void;
|
|
28
|
+
isAdminOrSystemUser(ctx: IQueryInfos): boolean;
|
|
28
29
|
}
|
|
29
30
|
export interface IPermissionDomainDeps {
|
|
30
31
|
'core.domain.permission.admin': IAdminPermissionDomain;
|
|
@@ -5,10 +5,12 @@ import { IDefaultPermissionHelper } from './helpers/defaultPermission';
|
|
|
5
5
|
import { IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
|
|
6
6
|
import { ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
|
|
7
7
|
import { ILibraryPermissionDomain } from './libraryPermissionDomain';
|
|
8
|
-
import { IGetInheritedRecordPermissionParams, IGetRecordPermissionParams } from './_types';
|
|
8
|
+
import { IGetInheritedRecordPermissionParams, IGetRecordPermissionParams, IEstimateTreeValueRecordPermissionParams } from './_types';
|
|
9
|
+
import { ITreeRepo } from '../../infra/tree/treeRepo';
|
|
9
10
|
export interface IRecordPermissionDomain {
|
|
10
11
|
getRecordPermission(params: IGetRecordPermissionParams): Promise<boolean>;
|
|
11
12
|
getInheritedRecordPermission(params: IGetInheritedRecordPermissionParams): Promise<boolean>;
|
|
13
|
+
evaluateTreeValueRecordPermission(params: IEstimateTreeValueRecordPermissionParams): Promise<boolean>;
|
|
12
14
|
}
|
|
13
15
|
export interface IRecordPermissionDomainDeps {
|
|
14
16
|
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
@@ -18,5 +20,6 @@ export interface IRecordPermissionDomainDeps {
|
|
|
18
20
|
'core.domain.attribute': IAttributeDomain;
|
|
19
21
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
20
22
|
'core.infra.value': IValueRepo;
|
|
23
|
+
'core.infra.tree': ITreeRepo;
|
|
21
24
|
}
|
|
22
25
|
export default function (deps: IRecordPermissionDomainDeps): IRecordPermissionDomain;
|
|
@@ -2,12 +2,12 @@ import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
|
|
|
2
2
|
import { ITreeRepo } from 'infra/tree/treeRepo';
|
|
3
3
|
import { IValueRepo } from 'infra/value/valueRepo';
|
|
4
4
|
import { IAttributeDomain } from '../attribute/attributeDomain';
|
|
5
|
-
import { IDefaultPermissionHelper } from './helpers/defaultPermission';
|
|
6
5
|
import { IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
|
|
7
6
|
import { ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
|
|
8
7
|
import { ITreeLibraryPermissionDomain } from './treeLibraryPermissionDomain';
|
|
9
8
|
import { ITreePermissionDomain } from './treePermissionDomain';
|
|
10
9
|
import { IGetInheritedTreeNodePermissionParams, IGetTreeNodePermissionParams } from './_types';
|
|
10
|
+
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
11
11
|
export interface ITreeNodePermissionDomain {
|
|
12
12
|
getTreeNodePermission(params: IGetTreeNodePermissionParams): Promise<boolean>;
|
|
13
13
|
getInheritedTreeNodePermission(params: IGetInheritedTreeNodePermissionParams): Promise<boolean>;
|
|
@@ -17,7 +17,7 @@ export interface ITreeNodePermissionDomainDeps {
|
|
|
17
17
|
'core.domain.permission.treeLibrary': ITreeLibraryPermissionDomain;
|
|
18
18
|
'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
|
|
19
19
|
'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
|
|
20
|
-
'core.domain.
|
|
20
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
21
21
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
22
22
|
'core.infra.tree': ITreeRepo;
|
|
23
23
|
'core.domain.attribute': IAttributeDomain;
|
|
@@ -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,22 @@
|
|
|
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
|
+
active?: boolean;
|
|
15
|
+
}) => Promise<ICreateRecordResult>;
|
|
16
|
+
interface IDeps {
|
|
17
|
+
'core.domain.eventsManager': IEventsManagerDomain;
|
|
18
|
+
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
19
|
+
'core.infra.record': IRecordRepo;
|
|
20
|
+
}
|
|
21
|
+
export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.permission.library': libraryPermissionDomain, 'core.infra.record': recordRepo }: IDeps): CreateRecordHelper;
|
|
22
|
+
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';
|
|
@@ -11,7 +11,7 @@ import { IValueRepo } from 'infra/value/valueRepo';
|
|
|
11
11
|
import { IUtils } from 'utils/utils';
|
|
12
12
|
import * as Config from '_types/config';
|
|
13
13
|
import { IListWithCursor } from '_types/list';
|
|
14
|
-
import { IValue, IValuesOptions } from '_types/value';
|
|
14
|
+
import { ISaveValue, IValue, IValuesOptions } from '_types/value';
|
|
15
15
|
import { ICachesService } from '../../infra/cache/cacheService';
|
|
16
16
|
import { IQueryInfos } from '../../_types/queryInfos';
|
|
17
17
|
import { IRecord, IRecordFilterLight, IRecordIdentity } from '../../_types/record';
|
|
@@ -20,10 +20,32 @@ import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
|
|
|
20
20
|
import { SendRecordUpdateEventHelper } from './helpers/sendRecordUpdateEvent';
|
|
21
21
|
import { ICreateRecordResult, IFindRecordParams } from './_types';
|
|
22
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';
|
|
30
|
+
import winston from 'winston';
|
|
23
31
|
export interface IRecordDomain {
|
|
32
|
+
/**
|
|
33
|
+
* Create empty record
|
|
34
|
+
* Used when create a record, set active to false and inCreation to true
|
|
35
|
+
*/
|
|
36
|
+
createEmptyRecord(params: {
|
|
37
|
+
library: string;
|
|
38
|
+
ctx: IQueryInfos;
|
|
39
|
+
}): Promise<ICreateRecordResult>;
|
|
40
|
+
activateNewRecord(params: {
|
|
41
|
+
library: string;
|
|
42
|
+
recordId: string;
|
|
43
|
+
formId?: string;
|
|
44
|
+
ctx: IQueryInfos;
|
|
45
|
+
}): Promise<ICreateRecordResult>;
|
|
24
46
|
createRecord(params: {
|
|
25
47
|
library: string;
|
|
26
|
-
values?:
|
|
48
|
+
values?: ISaveValue[];
|
|
27
49
|
verifyRequiredAttributes?: boolean;
|
|
28
50
|
ctx: IQueryInfos;
|
|
29
51
|
}): Promise<ICreateRecordResult>;
|
|
@@ -78,10 +100,21 @@ export interface IRecordDomain {
|
|
|
78
100
|
filters?: IRecordFilterLight[];
|
|
79
101
|
ctx: IQueryInfos;
|
|
80
102
|
}): Promise<IRecord[]>;
|
|
103
|
+
activateRecordsBatch(params: {
|
|
104
|
+
libraryId: string;
|
|
105
|
+
recordsIds?: string[];
|
|
106
|
+
filters?: IRecordFilterLight[];
|
|
107
|
+
ctx: IQueryInfos;
|
|
108
|
+
}): Promise<IRecord[]>;
|
|
81
109
|
purgeInactiveRecords(params: {
|
|
82
110
|
libraryId: string;
|
|
83
111
|
ctx: IQueryInfos;
|
|
84
112
|
}): Promise<IRecord[]>;
|
|
113
|
+
purgeRecord(params: {
|
|
114
|
+
libraryId: string;
|
|
115
|
+
recordId: string;
|
|
116
|
+
ctx: IQueryInfos;
|
|
117
|
+
}): Promise<IRecord>;
|
|
85
118
|
}
|
|
86
119
|
export interface IRecordDomainDeps {
|
|
87
120
|
config: Config.IConfig;
|
|
@@ -90,16 +123,24 @@ export interface IRecordDomainDeps {
|
|
|
90
123
|
'core.domain.value': IValueDomain;
|
|
91
124
|
'core.domain.permission.record': IRecordPermissionDomain;
|
|
92
125
|
'core.domain.permission.library': ILibraryPermissionDomain;
|
|
126
|
+
'core.domain.permission.attribute': IAttributePermissionDomain;
|
|
127
|
+
'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
|
|
128
|
+
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
93
129
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
94
130
|
'core.domain.helpers.validate': IValidateHelper;
|
|
131
|
+
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
132
|
+
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
95
133
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
96
134
|
'core.infra.library': ILibraryRepo;
|
|
97
135
|
'core.infra.tree': ITreeRepo;
|
|
136
|
+
'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
|
|
98
137
|
'core.infra.value': IValueRepo;
|
|
99
138
|
'core.infra.form': IFormRepo;
|
|
139
|
+
'core.infra.permission': IPermissionRepo;
|
|
100
140
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
101
141
|
'core.infra.cache.cacheService': ICachesService;
|
|
142
|
+
'core.utils.logger': winston.Winston;
|
|
102
143
|
'core.utils': IUtils;
|
|
103
144
|
translator: i18n;
|
|
104
145
|
}
|
|
105
|
-
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.infra.form': formRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
146
|
+
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.logger': logger, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
|
|
@@ -11,7 +11,7 @@ import { IQueryInfos } from '_types/queryInfos';
|
|
|
11
11
|
import { ICachesService } from '../../infra/cache/cacheService';
|
|
12
12
|
import { IList, IPaginationParams } from '../../_types/list';
|
|
13
13
|
import { IRecord } from '../../_types/record';
|
|
14
|
-
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight,
|
|
14
|
+
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight, TreePath } from '../../_types/tree';
|
|
15
15
|
import { IAttributeDomain } from '../attribute/attributeDomain';
|
|
16
16
|
import { IRecordDomain } from '../record/recordDomain';
|
|
17
17
|
import { IElementAncestorsHelper } from './helpers/elementAncestors';
|
|
@@ -112,7 +112,7 @@ export interface ITreeDomain {
|
|
|
112
112
|
treeId: string;
|
|
113
113
|
nodeId: string;
|
|
114
114
|
ctx: IQueryInfos;
|
|
115
|
-
}): Promise<
|
|
115
|
+
}): Promise<TreePath>;
|
|
116
116
|
/**
|
|
117
117
|
* Retrieve all records linked to an element via given attribute
|
|
118
118
|
*/
|
|
@@ -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;
|
|
@@ -3,10 +3,10 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
|
|
|
3
3
|
import { IUtils } from 'utils/utils';
|
|
4
4
|
import { IAttribute } from '_types/attribute';
|
|
5
5
|
import { IQueryInfos } from '_types/queryInfos';
|
|
6
|
-
import {
|
|
6
|
+
import { ISaveValue } from '_types/value';
|
|
7
7
|
interface IPrepareValueParams {
|
|
8
8
|
attributeProps: IAttribute;
|
|
9
|
-
value:
|
|
9
|
+
value: ISaveValue;
|
|
10
10
|
library: string;
|
|
11
11
|
recordId: string;
|
|
12
12
|
infos?: IQueryInfos;
|
|
@@ -18,5 +18,5 @@ interface IPrepareValueParams {
|
|
|
18
18
|
};
|
|
19
19
|
ctx: IQueryInfos;
|
|
20
20
|
}
|
|
21
|
-
declare const _default: (params: IPrepareValueParams) => Promise<
|
|
21
|
+
declare const _default: (params: IPrepareValueParams) => Promise<ISaveValue[]>;
|
|
22
22
|
export default _default;
|