@aristid/leav-types 0.0.7-dad3a4f5 → 0.0.7-db24ded0
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/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
- package/apps/core/src/__tests__/mockers/amqp.d.ts +1 -1
- package/apps/core/src/__tests__/mockers/logger.d.ts +4 -4
- package/apps/core/src/_types/dbProfiler.d.ts +20 -1
- package/apps/core/src/_types/forms.d.ts +7 -7
- package/apps/core/src/_types/queryInfos.d.ts +5 -0
- package/apps/core/src/_types/record.d.ts +4 -4
- package/apps/core/src/_types/tree.d.ts +1 -1
- package/apps/core/src/_types/value.d.ts +2 -2
- package/apps/core/src/app/core/formApp/_types.d.ts +10 -0
- package/apps/core/src/app/core/formApp/formApp.d.ts +0 -2
- package/apps/core/src/app/core/treeApp/treeApp.d.ts +3 -1
- package/apps/core/src/app/graphql/graphqlApp.d.ts +4 -0
- package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
- package/apps/core/src/domain/form/formDomain.d.ts +9 -1
- package/apps/core/src/domain/import/importDomain.d.ts +1 -1
- package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
- package/apps/core/src/domain/permission/_types.d.ts +10 -2
- package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +2 -2
- package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
- package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
- package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
- package/apps/core/src/infra/tree/treeRepo.d.ts +2 -2
- package/apps/core/src/utils/dataloader.d.ts +8 -0
- package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
- package/apps/core/src/utils/index.d.ts +1 -0
- package/libs/utils/src/types/forms.d.ts +2 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
info: jest.Mock<any, any
|
|
3
|
-
warn: jest.Mock<any, any
|
|
4
|
-
error: jest.Mock<any, any
|
|
5
|
-
debug: jest.Mock<any, any
|
|
2
|
+
info: jest.Mock<any, any>;
|
|
3
|
+
warn: jest.Mock<any, any>;
|
|
4
|
+
error: jest.Mock<any, any>;
|
|
5
|
+
debug: jest.Mock<any, any>;
|
|
6
6
|
};
|
|
7
7
|
export default _default;
|
|
@@ -2,7 +2,26 @@ import { AqlQuery } from 'arangojs/aql';
|
|
|
2
2
|
export interface IDbProfilerQuery {
|
|
3
3
|
count: number;
|
|
4
4
|
query: string | AqlQuery;
|
|
5
|
-
callers:
|
|
5
|
+
callers: Record<string, {
|
|
6
|
+
/**
|
|
7
|
+
* Stacktrace of caller
|
|
8
|
+
*/
|
|
9
|
+
stack: string;
|
|
10
|
+
count: number;
|
|
11
|
+
/**
|
|
12
|
+
* Stats for each call for that query
|
|
13
|
+
*/
|
|
14
|
+
stats: Array<{
|
|
15
|
+
/**
|
|
16
|
+
* Arangodb query execution time in ms
|
|
17
|
+
*/
|
|
18
|
+
executionTimeMs: number | null;
|
|
19
|
+
/**
|
|
20
|
+
* Time spent in nodejs to process the query in ms
|
|
21
|
+
*/
|
|
22
|
+
nodejsTimeMs: number;
|
|
23
|
+
}>;
|
|
24
|
+
}>;
|
|
6
25
|
}
|
|
7
26
|
export interface IDbProfiler {
|
|
8
27
|
totalCount: number;
|
|
@@ -18,11 +18,12 @@ export interface IRecordForm {
|
|
|
18
18
|
system: boolean;
|
|
19
19
|
recordId: string;
|
|
20
20
|
dependencyAttributes?: string[];
|
|
21
|
-
elements:
|
|
21
|
+
elements: IFormElement[];
|
|
22
22
|
sidePanel: IFormSidePanel;
|
|
23
23
|
}
|
|
24
24
|
export declare enum FormElementTypes {
|
|
25
25
|
field = "field",
|
|
26
|
+
tabs = "tabs",
|
|
26
27
|
layout = "layout"
|
|
27
28
|
}
|
|
28
29
|
export type IFormStrict = Required<IForm>;
|
|
@@ -41,16 +42,15 @@ export interface IFormElement {
|
|
|
41
42
|
uiElementType: string;
|
|
42
43
|
containerId: string;
|
|
43
44
|
settings?: IKeyValue<any>;
|
|
45
|
+
children?: IFormElement[];
|
|
44
46
|
}
|
|
45
|
-
export interface
|
|
46
|
-
|
|
47
|
+
export interface IFormElementValues {
|
|
48
|
+
id: string;
|
|
49
|
+
values: IValue[];
|
|
47
50
|
valueError?: string;
|
|
48
51
|
}
|
|
49
|
-
export type IFormElementWithValuesAndChildren = IFormElementWithValues & {
|
|
50
|
-
children: IFormElementWithValuesAndChildren[];
|
|
51
|
-
};
|
|
52
52
|
/**
|
|
53
|
-
* Accepted fields to filter
|
|
53
|
+
* Accepted fields to filter an attribute list
|
|
54
54
|
*/
|
|
55
55
|
export interface IFormFilterOptions extends ICoreEntityFilterOptions {
|
|
56
56
|
library?: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import DataLoader from 'dataloader';
|
|
1
2
|
import type LeavError from 'errors/LeavError';
|
|
2
3
|
import { IDbProfiler } from './dbProfiler';
|
|
3
4
|
import { IValueVersion } from './value';
|
|
@@ -13,4 +14,8 @@ export interface IQueryInfos {
|
|
|
13
14
|
dbProfiler?: IDbProfiler;
|
|
14
15
|
trigger?: string;
|
|
15
16
|
errors?: Array<LeavError<unknown>>;
|
|
17
|
+
/**
|
|
18
|
+
* For request duration store dataloader on demand with getOrCreateDataLoaderInCtx
|
|
19
|
+
*/
|
|
20
|
+
dataLoaders?: Record<string, DataLoader<unknown, unknown>>;
|
|
16
21
|
}
|
|
@@ -75,10 +75,10 @@ export interface IQueryField {
|
|
|
75
75
|
export interface IRecordIdentity {
|
|
76
76
|
id: string;
|
|
77
77
|
library: ILibrary;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
getLabel?: () => Promise<string | null>;
|
|
79
|
+
getSubLabel?: () => Promise<string | null>;
|
|
80
|
+
getColor?: () => Promise<string | null>;
|
|
81
|
+
getPreview?: () => Promise<IPreview | null>;
|
|
82
82
|
}
|
|
83
83
|
export interface IRecordIdentityConf {
|
|
84
84
|
label?: string;
|
|
@@ -38,7 +38,7 @@ export type ITreeNodeLight = Pick<ITreeNode, 'id' | 'order'>;
|
|
|
38
38
|
export interface ITreeNodeWithTreeId extends ITreeNode {
|
|
39
39
|
treeId: string;
|
|
40
40
|
}
|
|
41
|
-
export type
|
|
41
|
+
export type TreePath = ITreeNode[];
|
|
42
42
|
export declare enum TreeBehavior {
|
|
43
43
|
STANDARD = "standard",
|
|
44
44
|
FILES = "files"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyPrimitive, Override } from '@leav/utils';
|
|
2
2
|
import { IDbEdge } from 'infra/db/_types';
|
|
3
3
|
import { IRecord } from './record';
|
|
4
|
-
import { ITreeNode,
|
|
4
|
+
import { ITreeNode, TreePath } from './tree';
|
|
5
5
|
import { EMPTY_VALUE } from 'infra/value/valueRepo';
|
|
6
6
|
import { AttributeTypes } from './attribute';
|
|
7
7
|
export type IValueFromGql = Override<Omit<IValue, 'version'>, {
|
|
@@ -111,7 +111,7 @@ export interface IValuesOptions {
|
|
|
111
111
|
export interface IFindValueTree {
|
|
112
112
|
name: string;
|
|
113
113
|
currentIndex: number;
|
|
114
|
-
elements:
|
|
114
|
+
elements: TreePath;
|
|
115
115
|
}
|
|
116
116
|
export interface IValueEdge extends IDbEdge {
|
|
117
117
|
attribute: string;
|
|
@@ -29,6 +29,16 @@ export interface IGetRecordFormArgs {
|
|
|
29
29
|
treeNodeId: string;
|
|
30
30
|
}>;
|
|
31
31
|
}
|
|
32
|
+
export interface IGetElementFormValuesArgs {
|
|
33
|
+
recordId: string;
|
|
34
|
+
libraryId: string;
|
|
35
|
+
formId: string;
|
|
36
|
+
version?: Array<{
|
|
37
|
+
treeId: string;
|
|
38
|
+
treeNodeId: string;
|
|
39
|
+
}>;
|
|
40
|
+
elementIds: string[];
|
|
41
|
+
}
|
|
32
42
|
export interface ISaveFormArgs {
|
|
33
43
|
form: IFormForGraphql;
|
|
34
44
|
}
|
|
@@ -5,8 +5,6 @@ import { ILibraryDomain } from 'domain/library/libraryDomain';
|
|
|
5
5
|
import { IUtils } from 'utils/utils';
|
|
6
6
|
import { IAppGraphQLSchema } from '_types/graphql';
|
|
7
7
|
import { IfLibraryJoinLinkAttribute } from 'domain/attribute/helpers/ifLibraryJoinLinkAttribute';
|
|
8
|
-
import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
|
|
9
|
-
export type ICoreFormApp = IGraphqlAppModule;
|
|
10
8
|
interface IDeps {
|
|
11
9
|
'core.domain.attribute': IAttributeDomain;
|
|
12
10
|
'core.domain.form': IFormDomain;
|
|
@@ -6,6 +6,7 @@ import { ITreeDomain } from '../../../domain/tree/treeDomain';
|
|
|
6
6
|
import { IGraphqlAppModule, IGraphqlApp } from '../../graphql/graphqlApp';
|
|
7
7
|
import { ICoreApp } from '../coreApp';
|
|
8
8
|
import { ICoreSubscriptionsHelpersApp } from '../helpers/subscriptions';
|
|
9
|
+
import { IRecordPermissionDomain } from '../../../domain/permission/recordPermissionDomain';
|
|
9
10
|
export type ITreeAttributeApp = IGraphqlAppModule;
|
|
10
11
|
interface IDeps {
|
|
11
12
|
'core.domain.tree': ITreeDomain;
|
|
@@ -16,6 +17,7 @@ interface IDeps {
|
|
|
16
17
|
'core.app.core': ICoreApp;
|
|
17
18
|
'core.app.core.subscriptionsHelper': ICoreSubscriptionsHelpersApp;
|
|
18
19
|
'core.domain.library': ILibraryDomain;
|
|
20
|
+
'core.domain.permission.record': IRecordPermissionDomain;
|
|
19
21
|
}
|
|
20
|
-
export default function ({ 'core.domain.tree': treeDomain, 'core.domain.attribute': attributeDomain, 'core.domain.permission': permissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.app.core': coreApp, 'core.app.graphql': graphqlApp, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.library': libraryDomain }: IDeps): ITreeAttributeApp;
|
|
22
|
+
export default function ({ 'core.domain.tree': treeDomain, 'core.domain.attribute': attributeDomain, 'core.domain.permission': permissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.app.core': coreApp, 'core.app.graphql': graphqlApp, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.library': libraryDomain, 'core.domain.permission.record': recordPermissionDomain }: IDeps): ITreeAttributeApp;
|
|
21
23
|
export {};
|
|
@@ -5,6 +5,10 @@ import { IAppGraphQLSchema } from '_types/graphql';
|
|
|
5
5
|
import { IAppModule } from '_types/shared';
|
|
6
6
|
import { IQueryField } from '../../_types/record';
|
|
7
7
|
export interface IGraphqlApp extends IAppModule {
|
|
8
|
+
/**
|
|
9
|
+
* Parse all registered GraphQL schemas and return a single schema
|
|
10
|
+
* Very costly operation, should be called only once at application startup
|
|
11
|
+
*/
|
|
8
12
|
getSchema(): Promise<GraphQLSchema>;
|
|
9
13
|
getQueryFields(info: GraphQLResolveInfo): IQueryField[];
|
|
10
14
|
}
|
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>;
|
|
@@ -13,7 +13,7 @@ import winston from 'winston';
|
|
|
13
13
|
import { IQueryInfos } from '_types/queryInfos';
|
|
14
14
|
import { IGetCoreEntitiesParams } from '_types/shared';
|
|
15
15
|
import { IValueVersion } from '_types/value';
|
|
16
|
-
import { IForm, IRecordForm } from '../../_types/forms';
|
|
16
|
+
import { IForm, IFormElementValues, IRecordForm } from '../../_types/forms';
|
|
17
17
|
import { IList } from '../../_types/list';
|
|
18
18
|
export interface IFormDomain {
|
|
19
19
|
getFormsByLib({ library, params, ctx }: {
|
|
@@ -28,6 +28,14 @@ export interface IFormDomain {
|
|
|
28
28
|
version?: IValueVersion;
|
|
29
29
|
ctx: IQueryInfos;
|
|
30
30
|
}): Promise<IRecordForm>;
|
|
31
|
+
getRecordFormElementsValues(params: {
|
|
32
|
+
recordId: string;
|
|
33
|
+
libraryId: string;
|
|
34
|
+
formId: string;
|
|
35
|
+
version?: IValueVersion;
|
|
36
|
+
ctx: IQueryInfos;
|
|
37
|
+
elementIds: string[];
|
|
38
|
+
}): Promise<IFormElementValues[]>;
|
|
31
39
|
getFormProperties({ library, id, ctx }: {
|
|
32
40
|
library: string;
|
|
33
41
|
id: string;
|
|
@@ -42,7 +42,7 @@ interface IImportConfigParams {
|
|
|
42
42
|
forceNoTask?: boolean;
|
|
43
43
|
}
|
|
44
44
|
export interface IImportDomain {
|
|
45
|
-
importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string>;
|
|
45
|
+
importConfig(params: IImportConfigParams, task?: ITaskFuncParams): Promise<string | undefined>;
|
|
46
46
|
importData(params: IImportDataParams, task?: ITaskFuncParams): Promise<string>;
|
|
47
47
|
importExcel({ filename, sheets, startAt }: IImportExcelParams, ctx: IQueryInfos): Promise<string>;
|
|
48
48
|
}
|
|
@@ -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 {};
|
|
@@ -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 {
|
|
@@ -163,7 +163,7 @@ export interface IGetDefaultPermissionParams {
|
|
|
163
163
|
action?: any;
|
|
164
164
|
applyTo?: string;
|
|
165
165
|
userId?: string;
|
|
166
|
-
userGroups?:
|
|
166
|
+
userGroups?: TreePath[];
|
|
167
167
|
}
|
|
168
168
|
export interface IGetTreeBasedPermissionParams {
|
|
169
169
|
type: PermissionTypes;
|
|
@@ -199,3 +199,11 @@ export interface IGetInheritedRecordPermissionParams {
|
|
|
199
199
|
permTreeNode: string;
|
|
200
200
|
ctx: IQueryInfos;
|
|
201
201
|
}
|
|
202
|
+
export interface IEstimateTreeValueRecordPermissionParams {
|
|
203
|
+
action: RecordPermissionsActions;
|
|
204
|
+
userId: string;
|
|
205
|
+
libraryId: string;
|
|
206
|
+
attributeId: string;
|
|
207
|
+
nodeId: string;
|
|
208
|
+
ctx: IQueryInfos;
|
|
209
|
+
}
|
|
@@ -3,7 +3,7 @@ import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
|
|
|
3
3
|
import { ISimplePermissionHelper } from './simplePermission';
|
|
4
4
|
import { IDefaultPermissionHelper } from './defaultPermission';
|
|
5
5
|
import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
|
|
6
|
-
import { ITreeNode,
|
|
6
|
+
import { ITreeNode, TreePath } from '../../../_types/tree';
|
|
7
7
|
import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
|
|
8
8
|
import { IQueryInfos } from '../../../_types/queryInfos';
|
|
9
9
|
export interface IPermissionByUserGroupsHelperDeps {
|
|
@@ -16,7 +16,7 @@ export interface IPermissionByUserGroupsHelperDeps {
|
|
|
16
16
|
interface IGetPermissionByUserGroupsParams {
|
|
17
17
|
type: PermissionTypes;
|
|
18
18
|
action: PermissionsActions;
|
|
19
|
-
userGroupsPaths:
|
|
19
|
+
userGroupsPaths: TreePath[];
|
|
20
20
|
applyTo?: string;
|
|
21
21
|
treeTarget?: {
|
|
22
22
|
tree: string;
|
|
@@ -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;
|
|
@@ -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
|
*/
|
|
@@ -3,6 +3,6 @@ import { IFilterTypesHelper } from './filterTypes';
|
|
|
3
3
|
interface IDeps {
|
|
4
4
|
'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
|
|
5
5
|
}
|
|
6
|
-
export type GetSearchVariableName = (filter: IRecordFilterOption) => string;
|
|
6
|
+
export type GetSearchVariableName = (filter: IRecordFilterOption) => string | undefined;
|
|
7
7
|
export default function ({ 'core.infra.record.helpers.filterTypes': filterTypesHelper }: IDeps): GetSearchVariableName;
|
|
8
8
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IList, IPaginationParams } from '_types/list';
|
|
2
2
|
import { IQueryInfos } from '_types/queryInfos';
|
|
3
3
|
import { IRecord } from '_types/record';
|
|
4
|
-
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight,
|
|
4
|
+
import { IGetCoreTreesParams, ITree, ITreeElement, ITreeNode, ITreeNodeLight, TreePath } from '_types/tree';
|
|
5
5
|
import { IDbService } from '../db/dbService';
|
|
6
6
|
import { IDbUtils } from '../db/dbUtils';
|
|
7
7
|
export interface ITreeRepo {
|
|
@@ -124,7 +124,7 @@ export interface ITreeRepo {
|
|
|
124
124
|
treeId: string;
|
|
125
125
|
nodeId: string;
|
|
126
126
|
ctx: IQueryInfos;
|
|
127
|
-
}): Promise<
|
|
127
|
+
}): Promise<TreePath>;
|
|
128
128
|
getLinkedRecords(params: {
|
|
129
129
|
treeId: string;
|
|
130
130
|
attribute: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import DataLoader from 'dataloader';
|
|
2
|
+
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
+
/**
|
|
4
|
+
* Get or create a DataLoader in the request context.
|
|
5
|
+
* Each usage (not each call) of this function should use a unique name to avoid conflicts among different DataLoaders.
|
|
6
|
+
* Name is used has key to store the DataLoader in ctx.dataLoaders.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getOrCreateDataLoaderInCtx<DL extends DataLoader<unknown, unknown>>(ctx: IQueryInfos, name: string, create: () => DL): DL;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IConfig } from '_types/config';
|
|
2
|
+
import { IQueryInfos } from '_types/queryInfos';
|
|
3
|
+
interface IDeps {
|
|
4
|
+
config?: IConfig;
|
|
5
|
+
}
|
|
6
|
+
export type GetSystemQueryContext = () => IQueryInfos;
|
|
7
|
+
export default function ({ config }: IDeps): GetSystemQueryContext;
|
|
8
|
+
export {};
|
|
@@ -5,7 +5,8 @@ export declare enum FormUIElementTypes {
|
|
|
5
5
|
TAB_FIELDS_CONTAINER = "tab_fields_container",
|
|
6
6
|
TEXT_BLOCK = "text_block",
|
|
7
7
|
TABS = "tabs",
|
|
8
|
-
FRAME = "frame"
|
|
8
|
+
FRAME = "frame",
|
|
9
|
+
LINK = "link"
|
|
9
10
|
}
|
|
10
11
|
export declare enum FormFieldTypes {
|
|
11
12
|
TEXT_INPUT = "input_field",
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aristid/leav-types",
|
|
3
|
-
"version": "0.0.7-
|
|
3
|
+
"version": "0.0.7-db24ded0",
|
|
4
4
|
"description": "Shared Leav types",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"tscheck": "",
|
|
7
7
|
"test:ci": "",
|
|
8
8
|
"test:commit": "",
|
|
9
9
|
"publish-types": "npm publish --access public",
|
|
10
|
-
"generate": "yarn workspace core
|
|
10
|
+
"generate": "yarn workspace core build-types && mv ../../apps/core/dist-types/* . && rmdir ../../apps/core/dist-types",
|
|
11
11
|
"get-version": "jq -r '.version' package.json",
|
|
12
12
|
"set-version": "jq --arg v $1 '.version = $v' package.json > package.tmp.json && mv package.tmp.json package.json"
|
|
13
13
|
},
|