@aristid/leav-types 0.0.7-e091028 → 0.0.7-e1cc27f1

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.
Files changed (103) hide show
  1. package/apps/core/config/default.d.ts +12 -0
  2. package/apps/core/config/development.d.ts +1 -0
  3. package/apps/core/config/test.d.ts +1 -0
  4. package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
  5. package/apps/core/src/__tests__/e2e/api/globalSetup.d.ts +6 -1
  6. package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
  7. package/apps/core/src/__tests__/integration/globalSetup.d.ts +1 -0
  8. package/apps/core/src/__tests__/integration/globalSetupHook.d.ts +1 -0
  9. package/apps/core/src/__tests__/integration/infra/attributeAdvancedLinkRepo.test.d.ts +1 -0
  10. package/apps/core/src/__tests__/integration/infra/attributeAdvancedRepo.test.d.ts +1 -0
  11. package/apps/core/src/__tests__/integration/infra/attributeSimpleLinkRepo.test.d.ts +1 -0
  12. package/apps/core/src/__tests__/integration/infra/attributeSimpleRepo.test.d.ts +1 -0
  13. package/apps/core/src/__tests__/integration/infra/attributeTreeRepo.test.d.ts +1 -0
  14. package/apps/core/src/__tests__/integration/infra/integrationTestRepoUtils.d.ts +7 -0
  15. package/apps/core/src/__tests__/integration/infra/recordRepo.test.d.ts +1 -0
  16. package/apps/core/src/__tests__/integration/infra/treeRepo.test.d.ts +1 -0
  17. package/apps/core/src/__tests__/integration/teardown.d.ts +1 -0
  18. package/apps/core/src/__tests__/mockers/amqp.d.ts +1 -1
  19. package/apps/core/src/__tests__/mockers/logger.d.ts +4 -4
  20. package/apps/core/src/__tests__/mocks/attribute.d.ts +2 -1
  21. package/apps/core/src/_constants/attributes.d.ts +1 -0
  22. package/apps/core/src/_types/attribute.d.ts +6 -0
  23. package/apps/core/src/_types/config.d.ts +29 -1
  24. package/apps/core/src/_types/dbProfiler.d.ts +20 -1
  25. package/apps/core/src/_types/events.d.ts +45 -0
  26. package/apps/core/src/_types/forms.d.ts +10 -0
  27. package/apps/core/src/_types/library.d.ts +10 -1
  28. package/apps/core/src/_types/permissions.d.ts +3 -1
  29. package/apps/core/src/_types/queryInfos.d.ts +5 -0
  30. package/apps/core/src/_types/record.d.ts +4 -4
  31. package/apps/core/src/_types/tree.d.ts +1 -1
  32. package/apps/core/src/_types/value.d.ts +64 -5
  33. package/apps/core/src/app/application/applicationApp.d.ts +3 -7
  34. package/apps/core/src/app/auth/authApp.d.ts +7 -6
  35. package/apps/core/src/app/core/actionListApp.d.ts +2 -4
  36. package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
  37. package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
  38. package/apps/core/src/app/core/coreApp.d.ts +2 -4
  39. package/apps/core/src/app/core/exportApp.d.ts +2 -4
  40. package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
  41. package/apps/core/src/app/core/formApp/formApp.d.ts +6 -5
  42. package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
  43. package/apps/core/src/app/core/importApp.d.ts +2 -4
  44. package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
  45. package/apps/core/src/app/core/logApp.d.ts +2 -4
  46. package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
  47. package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
  48. package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
  49. package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
  50. package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
  51. package/apps/core/src/app/core/userDataApp.d.ts +2 -4
  52. package/apps/core/src/app/core/valueApp.d.ts +2 -4
  53. package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
  54. package/apps/core/src/app/core/viewApp.d.ts +2 -4
  55. package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
  56. package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
  57. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
  58. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
  59. package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
  60. package/apps/core/src/domain/eventsManager/eventsManagerDomain.d.ts +3 -2
  61. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
  62. package/apps/core/src/domain/import/importDomain.d.ts +12 -2
  63. package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
  64. package/apps/core/src/domain/log/logDomain.d.ts +3 -1
  65. package/apps/core/src/domain/permission/_types.d.ts +10 -2
  66. package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +3 -12
  67. package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +7 -7
  68. package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
  69. package/apps/core/src/domain/permission/permissionDomain.d.ts +1 -0
  70. package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
  71. package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +2 -2
  72. package/apps/core/src/domain/record/_types.d.ts +4 -3
  73. package/apps/core/src/domain/record/helpers/createRecord.d.ts +22 -0
  74. package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
  75. package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +1 -1
  76. package/apps/core/src/domain/record/helpers/index.d.ts +2 -0
  77. package/apps/core/src/domain/record/recordDomain.d.ts +24 -4
  78. package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
  79. package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
  80. package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
  81. package/apps/core/src/domain/value/helpers/validateValue.d.ts +3 -3
  82. package/apps/core/src/domain/value/valueDomain.d.ts +10 -4
  83. package/apps/core/src/errors/LeavError.d.ts +6 -0
  84. package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
  85. package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
  86. package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
  87. package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
  88. package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
  89. package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +52 -22
  90. package/apps/core/src/infra/db/migrations/009-addDisplayMultiLinkOptAttributeProperty.d.ts +11 -0
  91. package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +8 -0
  92. package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
  93. package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
  94. package/apps/core/src/infra/record/recordRepo.d.ts +9 -0
  95. package/apps/core/src/infra/tree/treeRepo.d.ts +3 -2
  96. package/apps/core/src/infra/value/valueRepo.d.ts +10 -8
  97. package/apps/core/src/interface/server.d.ts +7 -0
  98. package/apps/core/src/utils/dataloader.d.ts +9 -0
  99. package/apps/core/src/utils/dataloader.spec.d.ts +1 -0
  100. package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
  101. package/apps/core/src/utils/index.d.ts +1 -0
  102. package/libs/utils/src/types/forms.d.ts +1 -0
  103. package/package.json +5 -2
@@ -6,12 +6,9 @@ import { IRecordDomain } from 'domain/record/recordDomain';
6
6
  import { ITreeDomain } from 'domain/tree/treeDomain';
7
7
  import { IVersionProfileDomain } from 'domain/versionProfile/versionProfileDomain';
8
8
  import { IUtils } from 'utils/utils';
9
- import { IAppGraphQLSchema } from '_types/graphql';
10
- import { IGraphqlApp } from '../../graphql/graphqlApp';
9
+ import { IGraphqlAppModule, IGraphqlApp } from '../../graphql/graphqlApp';
11
10
  import { ICoreApp } from '../coreApp';
12
- export interface ICoreAttributeApp {
13
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
14
- }
11
+ export type ICoreAttributeApp = IGraphqlAppModule;
15
12
  interface IDeps {
16
13
  'core.domain.attribute': IAttributeDomain;
17
14
  'core.domain.library': ILibraryDomain;
@@ -3,12 +3,10 @@ import { ICoreDomain } from 'domain/core/coreDomain';
3
3
  import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
4
4
  import { GraphQLScalarType } from 'graphql';
5
5
  import { i18n } from 'i18next';
6
- import { IAppGraphQLSchema } from '_types/graphql';
7
6
  import { IAppModule } from '_types/shared';
8
7
  import { ISystemTranslation } from '_types/systemTranslation';
9
- import { IGraphqlApp } from '../graphql/graphqlApp';
10
- export interface ICoreApp extends IAppModule {
11
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
8
+ import { IGraphqlAppModule, IGraphqlApp } from '../graphql/graphqlApp';
9
+ export interface ICoreApp extends IAppModule, IGraphqlAppModule {
12
10
  filterSysTranslationField(fieldData: ISystemTranslation, requestedLangs: string[]): ISystemTranslation | null;
13
11
  initPubSubEventsConsumer(): Promise<void>;
14
12
  }
@@ -1,8 +1,6 @@
1
1
  import { IExportDomain } from 'domain/export/exportDomain';
2
- import { IAppGraphQLSchema } from '_types/graphql';
3
- export interface ICoreExportApp {
4
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
5
- }
2
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
3
+ export type ICoreExportApp = IGraphqlAppModule;
6
4
  interface IDeps {
7
5
  'core.domain.export': IExportDomain;
8
6
  }
@@ -1,14 +1,12 @@
1
1
  import { InitQueryContextFunc } from 'app/helpers/initQueryContext';
2
2
  import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
3
- import { Express } from 'express';
4
3
  import { IConfig } from '_types/config';
5
- import { IAppGraphQLSchema } from '_types/graphql';
6
4
  import { IFilesManagerDomain } from '../../domain/filesManager/filesManagerDomain';
7
5
  import { ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
8
- export interface IFilesManagerApp {
6
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
7
+ import { IServerRouteAppModule } from 'interface/server';
8
+ export interface IFilesManagerApp extends IGraphqlAppModule, IServerRouteAppModule {
9
9
  init(): Promise<void>;
10
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
11
- registerRoute(app: Express): void;
12
10
  }
13
11
  interface IDeps {
14
12
  'core.app.helpers.initQueryContext': InitQueryContextFunc;
@@ -4,17 +4,18 @@ 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
- export interface ICoreFormApp {
8
- getGraphQLSchema(): IAppGraphQLSchema;
9
- }
7
+ import { IfLibraryJoinLinkAttribute } from 'domain/attribute/helpers/ifLibraryJoinLinkAttribute';
8
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
9
+ export type ICoreFormApp = IGraphqlAppModule;
10
10
  interface IDeps {
11
11
  'core.domain.attribute': IAttributeDomain;
12
12
  'core.domain.form': IFormDomain;
13
13
  'core.domain.library': ILibraryDomain;
14
14
  'core.app.helpers.convertVersionFromGqlFormat': ConvertVersionFromGqlFormatFunc;
15
+ 'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
15
16
  'core.utils': IUtils;
16
17
  }
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): {
18
- getGraphQLSchema(): IAppGraphQLSchema;
18
+ 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): {
19
+ getGraphQLSchema(): Promise<IAppGraphQLSchema>;
19
20
  };
20
21
  export {};
@@ -1,16 +1,13 @@
1
1
  import { InitQueryContextFunc } from 'app/helpers/initQueryContext';
2
2
  import { IRecordDomain } from 'domain/record/recordDomain';
3
- import { Express } from 'express';
4
3
  import { IUtils } from 'utils/utils';
5
4
  import winston from 'winston';
6
5
  import { IConfig } from '_types/config';
7
- import { IAppGraphQLSchema } from '_types/graphql';
8
6
  import { IAppModule } from '_types/shared';
9
7
  import { IGlobalSettingsDomain } from '../../domain/globalSettings/globalSettingsDomain';
10
- export interface ICoreApp extends IAppModule {
11
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
12
- registerRoute(app: Express): void;
13
- }
8
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
9
+ import { IServerRouteAppModule } from 'interface/server';
10
+ export type ICoreApp = IAppModule & IGraphqlAppModule & IServerRouteAppModule;
14
11
  interface IDeps {
15
12
  'core.app.helpers.initQueryContext': InitQueryContextFunc;
16
13
  'core.domain.globalSettings': IGlobalSettingsDomain;
@@ -4,10 +4,8 @@ import { IImportDomain } from 'domain/import/importDomain';
4
4
  import { IDbUtils } from 'infra/db/dbUtils';
5
5
  import { IUtils } from 'utils/utils';
6
6
  import * as Config from '_types/config';
7
- import { IAppGraphQLSchema } from '_types/graphql';
8
- import { IGraphqlApp } from '../graphql/graphqlApp';
9
- export interface ICoreImportApp {
10
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
7
+ import { IGraphqlAppModule, IGraphqlApp } from '../graphql/graphqlApp';
8
+ export interface ICoreImportApp extends IGraphqlAppModule {
11
9
  importConfig(filepath: string, clear: boolean): Promise<void>;
12
10
  importData(filepath: string): Promise<void>;
13
11
  }
@@ -4,12 +4,9 @@ import { IPermissionDomain } from 'domain/permission/permissionDomain';
4
4
  import { IRecordDomain } from 'domain/record/recordDomain';
5
5
  import { ITreeDomain } from 'domain/tree/treeDomain';
6
6
  import { IViewDomain } from 'domain/view/viewDomain';
7
- import { IAppGraphQLSchema } from '_types/graphql';
8
- import { IGraphqlApp } from '../../graphql/graphqlApp';
7
+ import { IGraphqlAppModule, IGraphqlApp } from '../../graphql/graphqlApp';
9
8
  import { ICoreApp } from '../coreApp';
10
- export interface ICoreLibraryApp {
11
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
12
- }
9
+ export type ICoreLibraryApp = IGraphqlAppModule;
13
10
  interface IDeps {
14
11
  'core.domain.library'?: ILibraryDomain;
15
12
  'core.domain.record'?: IRecordDomain;
@@ -5,11 +5,9 @@ import { ILibraryDomain } from 'domain/library/libraryDomain';
5
5
  import { ILogDomain } from 'domain/log/logDomain';
6
6
  import { ITreeDomain } from 'domain/tree/treeDomain';
7
7
  import { IVersionProfileDomain } from 'domain/versionProfile/versionProfileDomain';
8
- import { IAppGraphQLSchema } from '_types/graphql';
9
8
  import { IAppModule } from '_types/shared';
10
- export interface ICoreLogApp extends IAppModule {
11
- getGraphQLSchema(): IAppGraphQLSchema;
12
- }
9
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
10
+ export type ICoreLogApp = IAppModule & IGraphqlAppModule;
13
11
  interface IDeps {
14
12
  'core.domain.log': ILogDomain;
15
13
  'core.domain.eventsManager': IEventsManagerDomain;
@@ -1,16 +1,14 @@
1
1
  import { IAttributeDomain } from 'domain/attribute/attributeDomain';
2
2
  import { IPermissionDomain } from 'domain/permission/permissionDomain';
3
- import { IAppGraphQLSchema } from '_types/graphql';
4
3
  import { IAppModule } from '_types/shared';
5
4
  import { PermissionTypes } from '../../../_types/permissions';
5
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
6
6
  export interface IPluginPermission {
7
7
  name: string;
8
8
  type: PermissionTypes;
9
9
  applyOn?: string[];
10
10
  }
11
- export interface ICorePermissionApp extends IAppModule {
12
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
13
- }
11
+ export type ICorePermissionApp = IAppModule & IGraphqlAppModule;
14
12
  interface IDeps {
15
13
  'core.domain.permission'?: IPermissionDomain;
16
14
  'core.domain.attribute'?: IAttributeDomain;
@@ -1,9 +1,8 @@
1
1
  import { IPluginsDomain } from 'domain/plugins/pluginsDomain';
2
- import { IAppGraphQLSchema } from '_types/graphql';
3
2
  import { IPluginInfos } from '../../_types/plugin';
4
- export interface ICorePluginsApp {
3
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
4
+ export interface ICorePluginsApp extends IGraphqlAppModule {
5
5
  registerPlugin(path: string, plugin: IPluginInfos): void;
6
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
7
6
  }
8
7
  interface IDeps {
9
8
  'core.domain.plugins': IPluginsDomain;
@@ -5,14 +5,11 @@ import { IPermissionDomain } from 'domain/permission/permissionDomain';
5
5
  import { IRecordDomain } from 'domain/record/recordDomain';
6
6
  import { ITreeDomain } from 'domain/tree/treeDomain';
7
7
  import { IUtils } from 'utils/utils';
8
- import { IAppGraphQLSchema } from '_types/graphql';
9
- import { IGraphqlApp } from '../../graphql/graphqlApp';
8
+ import { IGraphqlAppModule, IGraphqlApp } from '../../graphql/graphqlApp';
10
9
  import { ICoreSubscriptionsHelpersApp } from '../helpers/subscriptions';
11
10
  import { IIndexationManagerApp } from '../indexationManagerApp';
12
11
  import { IAttributeDomain } from 'domain/attribute/attributeDomain';
13
- export interface ICoreRecordApp {
14
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
15
- }
12
+ export type ICoreRecordApp = IGraphqlAppModule;
16
13
  interface IDeps {
17
14
  'core.domain.record': IRecordDomain;
18
15
  'core.domain.tree': ITreeDomain;
@@ -3,14 +3,13 @@ import { IRecordDomain } from 'domain/record/recordDomain';
3
3
  import { IUtils } from 'utils/utils';
4
4
  import winston from 'winston';
5
5
  import { IConfig } from '_types/config';
6
- import { IAppGraphQLSchema } from '_types/graphql';
7
6
  import { IPaginationParams, ISortParams } from '_types/list';
8
7
  import { ITasksManagerDomain } from '../../domain/tasksManager/tasksManagerDomain';
9
8
  import { TaskStatus } from '../../_types/tasksManager';
10
- export interface ITasksManagerApp {
9
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
10
+ export interface ITasksManagerApp extends IGraphqlAppModule {
11
11
  initMaster(): Promise<NodeJS.Timer>;
12
12
  initWorker(): Promise<void>;
13
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
14
13
  }
15
14
  interface IDeps {
16
15
  'core.domain.tasksManager'?: ITasksManagerDomain;
@@ -2,14 +2,12 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
2
2
  import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
3
3
  import { ILibraryDomain } from 'domain/library/libraryDomain';
4
4
  import { IPermissionDomain } from 'domain/permission/permissionDomain';
5
- import { IAppGraphQLSchema } from '_types/graphql';
6
5
  import { ITreeDomain } from '../../../domain/tree/treeDomain';
7
- import { IGraphqlApp } from '../../graphql/graphqlApp';
6
+ import { IGraphqlAppModule, IGraphqlApp } from '../../graphql/graphqlApp';
8
7
  import { ICoreApp } from '../coreApp';
9
8
  import { ICoreSubscriptionsHelpersApp } from '../helpers/subscriptions';
10
- export interface ITreeAttributeApp {
11
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
12
- }
9
+ import { IRecordPermissionDomain } from '../../../domain/permission/recordPermissionDomain';
10
+ export type ITreeAttributeApp = IGraphqlAppModule;
13
11
  interface IDeps {
14
12
  'core.domain.tree': ITreeDomain;
15
13
  'core.domain.attribute': IAttributeDomain;
@@ -19,6 +17,7 @@ interface IDeps {
19
17
  'core.app.core': ICoreApp;
20
18
  'core.app.core.subscriptionsHelper': ICoreSubscriptionsHelpersApp;
21
19
  'core.domain.library': ILibraryDomain;
20
+ 'core.domain.permission.record': IRecordPermissionDomain;
22
21
  }
23
- 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;
24
23
  export {};
@@ -1,8 +1,6 @@
1
1
  import { IUserDomain } from '../../domain/user/userDomain';
2
- import { IAppGraphQLSchema } from '_types/graphql';
3
- export interface ICoreImportApp {
4
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
5
- }
2
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
3
+ export type ICoreImportApp = IGraphqlAppModule;
6
4
  interface IDeps {
7
5
  'core.domain.user': IUserDomain;
8
6
  }
@@ -3,10 +3,8 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
3
3
  import { IRecordDomain } from 'domain/record/recordDomain';
4
4
  import { IValueDomain } from 'domain/value/valueDomain';
5
5
  import { IUtils } from 'utils/utils';
6
- import { IAppGraphQLSchema } from '_types/graphql';
7
- export interface ICoreValueApp {
8
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
9
- }
6
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
7
+ export type ICoreValueApp = IGraphqlAppModule;
10
8
  interface IDeps {
11
9
  'core.domain.value': IValueDomain;
12
10
  'core.domain.attribute': IAttributeDomain;
@@ -1,9 +1,7 @@
1
1
  import { ITreeDomain } from 'domain/tree/treeDomain';
2
2
  import { IVersionProfileDomain } from 'domain/versionProfile/versionProfileDomain';
3
- import { IAppGraphQLSchema } from '_types/graphql';
4
- export interface ICoreVersionProfileApp {
5
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
6
- }
3
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
4
+ export type ICoreVersionProfileApp = IGraphqlAppModule;
7
5
  interface IDeps {
8
6
  'core.domain.versionProfile'?: IVersionProfileDomain;
9
7
  'core.domain.tree'?: ITreeDomain;
@@ -1,16 +1,14 @@
1
1
  import { IRecordDomain } from 'domain/record/recordDomain';
2
2
  import { IViewDomain } from 'domain/view/viewDomain';
3
3
  import { IUtils } from 'utils/utils';
4
- import { IAppGraphQLSchema } from '_types/graphql';
5
4
  import { IAttributeDomain } from 'domain/attribute/attributeDomain';
5
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
6
6
  interface IDeps {
7
7
  'core.domain.record': IRecordDomain;
8
8
  'core.domain.view': IViewDomain;
9
9
  'core.domain.attribute': IAttributeDomain;
10
10
  'core.utils': IUtils;
11
11
  }
12
- export interface IViewApp {
13
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
14
- }
12
+ export type IViewApp = IGraphqlAppModule;
15
13
  export default function ({ 'core.domain.view': viewDomain, 'core.domain.record': recordDomain, 'core.domain.attribute': attributeDomain, 'core.utils': utils }: IDeps): IViewApp;
16
14
  export {};
@@ -1,17 +1,12 @@
1
- import type { Express, RequestHandler } from 'express';
1
+ import type { RequestHandler } from 'express';
2
2
  import type { IAppModule } from '../../_types/shared';
3
3
  import type { ExpressAppMethod } from '../../_types/endpoint';
4
4
  import type { InitQueryContextFunc } from '../helpers/initQueryContext';
5
5
  import type { ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
6
6
  import { IConfig } from '_types/config';
7
7
  import { IValueDomain } from 'domain/value/valueDomain';
8
- interface IEndpointApp extends IAppModule {
9
- /**
10
- * Method call automatically by the LEAV Core: server.ts
11
- * @param app Express instance, can be used to extend the app
12
- */
13
- registerRoute(app: Express): void;
14
- }
8
+ import { IServerRouteAppModule } from 'interface/server';
9
+ type IEndpointApp = IAppModule & IServerRouteAppModule;
15
10
  export interface IPluginRoute {
16
11
  path: string;
17
12
  method: ExpressAppMethod;
@@ -1,12 +1,20 @@
1
1
  import { AwilixContainer } from 'awilix';
2
2
  import { GraphQLResolveInfo, GraphQLSchema } from 'graphql';
3
3
  import { IUtils } from 'utils/utils';
4
+ import { IAppGraphQLSchema } from '_types/graphql';
4
5
  import { IAppModule } from '_types/shared';
5
6
  import { IQueryField } from '../../_types/record';
6
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
+ */
7
12
  getSchema(): Promise<GraphQLSchema>;
8
13
  getQueryFields(info: GraphQLResolveInfo): IQueryField[];
9
14
  }
15
+ export interface IGraphqlAppModule {
16
+ getGraphQLSchema(): Promise<IAppGraphQLSchema>;
17
+ }
10
18
  interface IDeps {
11
19
  'core.depsManager'?: AwilixContainer;
12
20
  'core.utils'?: IUtils;
@@ -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 { default as ifLibraryJoinLinkAttribute } from './ifLibraryJoinLinkAttribute';
@@ -1,12 +1,13 @@
1
1
  import { IAmqpService } from '@leav/message-broker';
2
- import { IDbPayload, IPubSubPayload } from '@leav/utils';
2
+ import { EventAction, IPubSubPayload } from '@leav/utils';
3
3
  import * as amqp from 'amqplib';
4
4
  import { IUtils } from 'utils/utils';
5
5
  import winston from 'winston';
6
6
  import * as Config from '_types/config';
7
7
  import { IQueryInfos } from '_types/queryInfos';
8
+ import { IDbPayloadInternal } from '_types/events';
8
9
  export interface IEventsManagerDomain {
9
- sendDatabaseEvent(payload: IDbPayload, ctx: IQueryInfos): Promise<boolean>;
10
+ sendDatabaseEvent<DBPayloadAction extends EventAction>(payload: IDbPayloadInternal<DBPayloadAction>, ctx: IQueryInfos): Promise<boolean>;
10
11
  sendPubSubEvent(payload: IPubSubPayload, ctx: IQueryInfos): Promise<boolean>;
11
12
  subscribe(triggersName: string[]): AsyncIterator<any>;
12
13
  initPubSubEventsConsumer(): Promise<void>;
@@ -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>;
@@ -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<string>;
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 { TreePaths } from '_types/tree';
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?: TreePaths[];
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
+ }
@@ -1,16 +1,11 @@
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
10
  getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
16
11
  }
@@ -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.infra.permission': IPermissionRepo;
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.infra.attribute': attributeRepo, 'core.infra.value': valueRepo, 'core.infra.tree': treeRepo, 'core.infra.cache.cacheService': cacheService }: IGlobalPermissionDeps): IGlobalPermissionHelper;
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,26 +1,26 @@
1
- import { IPermissionRepo } from 'infra/permission/permissionRepo';
2
1
  import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
3
2
  import { ISimplePermissionHelper } from './simplePermission';
4
3
  import { IDefaultPermissionHelper } from './defaultPermission';
5
- import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
6
- import { ITreeNode, TreePaths } from '../../../_types/tree';
4
+ import { TreePath } from '../../../_types/tree';
7
5
  import { PermissionsActions, PermissionTypes } from '../../../_types/permissions';
8
6
  import { IQueryInfos } from '../../../_types/queryInfos';
7
+ import { ICachesService } from '../../../infra/cache/cacheService';
8
+ import { IConfig } from '_types/config';
9
9
  export interface IPermissionByUserGroupsHelperDeps {
10
10
  'core.domain.permission.helpers.simplePermission': ISimplePermissionHelper;
11
11
  'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
12
12
  'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
13
- 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
14
- 'core.infra.permission'?: IPermissionRepo;
13
+ 'core.infra.cache.cacheService': ICachesService;
14
+ config: IConfig;
15
15
  }
16
16
  interface IGetPermissionByUserGroupsParams {
17
17
  type: PermissionTypes;
18
18
  action: PermissionsActions;
19
- userGroupsPaths: TreePaths[];
19
+ userGroupsPaths: TreePath[];
20
20
  applyTo?: string;
21
21
  treeTarget?: {
22
22
  tree: string;
23
- path: ITreeNode[];
23
+ path: TreePath;
24
24
  };
25
25
  getDefaultPermission?: () => Promise<boolean> | boolean;
26
26
  ctx: IQueryInfos;
@@ -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>;