@aristid/leav-types 0.0.7-4e6e650 → 0.0.7-4e7841b3

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 (77) hide show
  1. package/apps/core/config/default.d.ts +1 -0
  2. package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
  3. package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
  4. package/apps/core/src/__tests__/mockers/amqp.d.ts +1 -1
  5. package/apps/core/src/__tests__/mockers/logger.d.ts +4 -4
  6. package/apps/core/src/_types/config.d.ts +1 -0
  7. package/apps/core/src/_types/dbProfiler.d.ts +20 -1
  8. package/apps/core/src/_types/forms.d.ts +11 -7
  9. package/apps/core/src/_types/permissions.d.ts +2 -1
  10. package/apps/core/src/_types/queryInfos.d.ts +5 -0
  11. package/apps/core/src/_types/record.d.ts +4 -4
  12. package/apps/core/src/_types/tree.d.ts +1 -1
  13. package/apps/core/src/_types/value.d.ts +64 -5
  14. package/apps/core/src/app/application/applicationApp.d.ts +3 -7
  15. package/apps/core/src/app/auth/authApp.d.ts +4 -5
  16. package/apps/core/src/app/core/actionListApp.d.ts +2 -4
  17. package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
  18. package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
  19. package/apps/core/src/app/core/coreApp.d.ts +2 -4
  20. package/apps/core/src/app/core/exportApp.d.ts +2 -4
  21. package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
  22. package/apps/core/src/app/core/formApp/_types.d.ts +10 -0
  23. package/apps/core/src/app/core/formApp/formApp.d.ts +4 -5
  24. package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
  25. package/apps/core/src/app/core/importApp.d.ts +2 -4
  26. package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
  27. package/apps/core/src/app/core/logApp.d.ts +2 -4
  28. package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
  29. package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
  30. package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
  31. package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
  32. package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
  33. package/apps/core/src/app/core/userDataApp.d.ts +2 -4
  34. package/apps/core/src/app/core/valueApp.d.ts +2 -4
  35. package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
  36. package/apps/core/src/app/core/viewApp.d.ts +2 -4
  37. package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
  38. package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
  39. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
  40. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
  41. package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
  42. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
  43. package/apps/core/src/domain/form/formDomain.d.ts +9 -1
  44. package/apps/core/src/domain/import/importDomain.d.ts +1 -1
  45. package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
  46. package/apps/core/src/domain/permission/_types.d.ts +10 -2
  47. package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +1 -10
  48. package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +7 -7
  49. package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
  50. package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
  51. package/apps/core/src/domain/record/_types.d.ts +1 -0
  52. package/apps/core/src/domain/record/helpers/createRecord.d.ts +21 -0
  53. package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
  54. package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +1 -1
  55. package/apps/core/src/domain/record/helpers/index.d.ts +2 -0
  56. package/apps/core/src/domain/record/recordDomain.d.ts +10 -4
  57. package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
  58. package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
  59. package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
  60. package/apps/core/src/domain/value/helpers/validateValue.d.ts +3 -3
  61. package/apps/core/src/domain/value/valueDomain.d.ts +10 -4
  62. package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
  63. package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
  64. package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
  65. package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
  66. package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
  67. package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +27 -21
  68. package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
  69. package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
  70. package/apps/core/src/infra/tree/treeRepo.d.ts +2 -2
  71. package/apps/core/src/infra/value/valueRepo.d.ts +3 -3
  72. package/apps/core/src/interface/server.d.ts +7 -0
  73. package/apps/core/src/utils/dataloader.d.ts +8 -0
  74. package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
  75. package/apps/core/src/utils/index.d.ts +1 -0
  76. package/libs/utils/src/types/forms.d.ts +2 -1
  77. package/package.json +5 -2
@@ -74,6 +74,7 @@ export declare namespace logs {
74
74
  export declare namespace permissions {
75
75
  let _default_1: boolean;
76
76
  export { _default_1 as default };
77
+ export let enableCache: string | boolean;
77
78
  }
78
79
  export declare namespace amqp {
79
80
  namespace connOpt {
@@ -1,7 +1,7 @@
1
1
  declare const _default: {
2
2
  consumer: {
3
3
  channel: {
4
- ack: jest.Mock<any, any, any>;
4
+ ack: jest.Mock<any, any>;
5
5
  };
6
6
  };
7
7
  };
@@ -1,7 +1,7 @@
1
1
  declare const _default: {
2
- info: jest.Mock<any, any, any>;
3
- warn: jest.Mock<any, any, any>;
4
- error: jest.Mock<any, any, any>;
5
- debug: jest.Mock<any, 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;
@@ -107,6 +107,7 @@ export interface ILogs {
107
107
  }
108
108
  export interface IPermissions {
109
109
  default: boolean;
110
+ enableCache: boolean;
110
111
  }
111
112
  export interface IAmqp {
112
113
  connOpt: Options.Connect;
@@ -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: Set<string>;
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;
@@ -1,3 +1,4 @@
1
+ import { IAttribute } from './attribute';
1
2
  import { IKeyValue } from './shared';
2
3
  import { IValue } from './value';
3
4
  export interface IForm extends ICoreEntity {
@@ -17,11 +18,12 @@ export interface IRecordForm {
17
18
  system: boolean;
18
19
  recordId: string;
19
20
  dependencyAttributes?: string[];
20
- elements: IFormElementWithValues[];
21
+ elements: IFormElement[];
21
22
  sidePanel: IFormSidePanel;
22
23
  }
23
24
  export declare enum FormElementTypes {
24
25
  field = "field",
26
+ tabs = "tabs",
25
27
  layout = "layout"
26
28
  }
27
29
  export type IFormStrict = Required<IForm>;
@@ -40,17 +42,19 @@ export interface IFormElement {
40
42
  uiElementType: string;
41
43
  containerId: string;
42
44
  settings?: IKeyValue<any>;
45
+ children?: IFormElement[];
43
46
  }
44
- export interface IFormElementWithValues extends IFormElement {
45
- values?: IValue[];
47
+ export interface IFormElementValues {
48
+ id: string;
49
+ values: IValue[];
46
50
  valueError?: string;
47
51
  }
48
- export type IFormElementWithValuesAndChildren = IFormElementWithValues & {
49
- children: IFormElementWithValuesAndChildren[];
50
- };
51
52
  /**
52
- * Accepted fields to filter attributes list
53
+ * Accepted fields to filter an attribute list
53
54
  */
54
55
  export interface IFormFilterOptions extends ICoreEntityFilterOptions {
55
56
  library?: string;
56
57
  }
58
+ export interface IFormElementJoinLibraryContext {
59
+ mandatoryAttribute: IAttribute;
60
+ }
@@ -76,7 +76,8 @@ export declare enum AdminPermissionsActions {
76
76
  CREATE_API_KEY = "admin_create_api_key",
77
77
  EDIT_API_KEY = "admin_edit_api_key",
78
78
  DELETE_API_KEY = "admin_delete_api_key",
79
- EDIT_GLOBAL_SETTINGS = "admin_edit_global_settings"
79
+ EDIT_GLOBAL_SETTINGS = "admin_edit_global_settings",
80
+ ACCESS_LOGS = "admin_access_logs"
80
81
  }
81
82
  export type PermissionsActions = LibraryPermissionsActions | RecordPermissionsActions | RecordAttributePermissionsActions | AdminPermissionsActions | AttributePermissionsActions | TreePermissionsActions | TreeNodePermissionsActions | ApplicationPermissionsActions;
82
83
  export interface ILabeledPermissionsAction {
@@ -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
- label?: string;
79
- subLabel?: string;
80
- color?: string;
81
- preview?: IPreview;
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 TreePaths = ITreeNode[];
41
+ export type TreePath = ITreeNode[];
42
42
  export declare enum TreeBehavior {
43
43
  STANDARD = "standard",
44
44
  FILES = "files"
@@ -1,8 +1,9 @@
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, TreePaths } from './tree';
4
+ import { ITreeNode, TreePath } from './tree';
5
5
  import { EMPTY_VALUE } from 'infra/value/valueRepo';
6
+ import { AttributeTypes } from './attribute';
6
7
  export type IValueFromGql = Override<Omit<IValue, 'version'>, {
7
8
  value: IValue['payload'];
8
9
  metadata: Array<{
@@ -30,8 +31,12 @@ export interface IValueMetadata {
30
31
  [fieldName: string]: IStandardValue | AnyPrimitive;
31
32
  }
32
33
  export type EmptyValue = typeof EMPTY_VALUE;
33
- export interface IGenericValue {
34
- id_value?: string;
34
+ interface ICommonGenericSaveValue {
35
+ /**
36
+ * The id of the edge for advanced, advanced link or tree values
37
+ * In case of advanced reverse link from simple link, this is the id of the linked record
38
+ */
39
+ id_value?: string | null;
35
40
  attribute?: string;
36
41
  created_at?: number;
37
42
  modified_at?: number;
@@ -39,21 +44,60 @@ export interface IGenericValue {
39
44
  modified_by?: string;
40
45
  version?: IValueVersion;
41
46
  metadata?: IValueMetadata;
47
+ }
48
+ export interface IGenericValue extends ICommonGenericSaveValue {
42
49
  isInherited?: boolean;
43
50
  isCalculated?: boolean;
44
51
  }
45
52
  export interface IStandardValue extends IGenericValue {
53
+ /**
54
+ * Computed value after get actions on attribute are done
55
+ * TODO remove that any when possible
56
+ * TODO remove optional when possible
57
+ */
46
58
  payload?: any | EmptyValue;
47
- raw_payload?: any | EmptyValue;
59
+ /**
60
+ * Raw value from the database, before any computation
61
+ * TODO, remove that any when possible
62
+ */
63
+ raw_payload?: any;
48
64
  }
49
65
  export interface ILinkValue extends IGenericValue {
66
+ /**
67
+ * Linked record
68
+ * TODO remove optional when possible
69
+ */
50
70
  payload?: IRecord;
51
71
  }
52
72
  export interface ITreeValue extends IGenericValue {
73
+ /**
74
+ * Linked tree node
75
+ * TODO remove optional when possible
76
+ */
53
77
  payload?: ITreeNode;
54
78
  treeId: string;
55
79
  }
56
80
  export type IValue = IStandardValue | ILinkValue | ITreeValue;
81
+ type IGenericSaveValue = ICommonGenericSaveValue;
82
+ export interface ISaveStandardValue extends IGenericSaveValue {
83
+ /**
84
+ * Any base type value to save
85
+ */
86
+ payload: number | string | boolean | EmptyValue | null;
87
+ }
88
+ export interface ISaveLinkValue extends IGenericSaveValue {
89
+ /**
90
+ * Record id to link
91
+ */
92
+ payload: string | null;
93
+ }
94
+ export interface ISaveTreeValue extends IGenericSaveValue {
95
+ /**
96
+ * Tree node id to link
97
+ */
98
+ payload: string | null;
99
+ }
100
+ export type ISaveValue = ISaveStandardValue | ISaveLinkValue | ISaveTreeValue;
57
101
  export interface IDateRangeValue<T = string | number> {
58
102
  from: T;
59
103
  to: T;
@@ -67,7 +111,7 @@ export interface IValuesOptions {
67
111
  export interface IFindValueTree {
68
112
  name: string;
69
113
  currentIndex: number;
70
- elements: TreePaths;
114
+ elements: TreePath;
71
115
  }
72
116
  export interface IValueEdge extends IDbEdge {
73
117
  attribute: string;
@@ -78,3 +122,18 @@ export interface IValueEdge extends IDbEdge {
78
122
  version?: IDbValueVersion;
79
123
  metadata?: IValueMetadata;
80
124
  }
125
+ export interface IValueByAttributeType {
126
+ [AttributeTypes.SIMPLE]: IStandardValue;
127
+ [AttributeTypes.SIMPLE_LINK]: ILinkValue;
128
+ [AttributeTypes.ADVANCED]: IStandardValue;
129
+ [AttributeTypes.ADVANCED_LINK]: ILinkValue;
130
+ [AttributeTypes.TREE]: ITreeValue;
131
+ }
132
+ export interface ISaveValueByAttributeType {
133
+ [AttributeTypes.SIMPLE]: ISaveStandardValue;
134
+ [AttributeTypes.SIMPLE_LINK]: ISaveLinkValue;
135
+ [AttributeTypes.ADVANCED]: ISaveStandardValue;
136
+ [AttributeTypes.ADVANCED_LINK]: ISaveLinkValue;
137
+ [AttributeTypes.TREE]: ISaveTreeValue;
138
+ }
139
+ export {};
@@ -1,21 +1,17 @@
1
1
  import { ICoreSubscriptionsHelpersApp } from 'app/core/helpers/subscriptions';
2
- import { IGraphqlApp } from 'app/graphql/graphqlApp';
2
+ import { IGraphqlAppModule, IGraphqlApp } from 'app/graphql/graphqlApp';
3
3
  import { InitQueryContextFunc } from 'app/helpers/initQueryContext';
4
4
  import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
5
5
  import { IPermissionDomain } from 'domain/permission/permissionDomain';
6
6
  import { IRecordDomain } from 'domain/record/recordDomain';
7
- import { Express } from 'express';
8
7
  import { IUtils } from 'utils/utils';
9
8
  import winston from 'winston';
10
- import { IAppGraphQLSchema } from '_types/graphql';
11
9
  import { IApplicationDomain } from '../../domain/application/applicationDomain';
12
10
  import { ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
13
11
  import { IAuthApp } from '../auth/authApp';
14
12
  import { IGlobalSettingsDomain } from '../../domain/globalSettings/globalSettingsDomain';
15
- export interface IApplicationApp {
16
- registerRoute(app: Express): void;
17
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
18
- }
13
+ import { IServerRouteAppModule } from 'interface/server';
14
+ export type IApplicationApp = IGraphqlAppModule & IServerRouteAppModule;
19
15
  export interface IApplicationAppDeps {
20
16
  'core.app.graphql': IGraphqlApp;
21
17
  'core.app.auth': IAuthApp;
@@ -2,9 +2,8 @@ import { IApiKeyDomain } from 'domain/apiKey/apiKeyDomain';
2
2
  import { IRecordDomain } from 'domain/record/recordDomain';
3
3
  import { IUserDomain } from 'domain/user/userDomain';
4
4
  import { IValueDomain } from 'domain/value/valueDomain';
5
- import { Express, Response } from 'express';
5
+ import { Response } from 'express';
6
6
  import { IConfig } from '_types/config';
7
- import { IAppGraphQLSchema } from '_types/graphql';
8
7
  import { ICachesService } from '../../infra/cache/cacheService';
9
8
  import { ITokenUserData } from '../../_types/auth';
10
9
  import { IRequestWithContext } from '../../_types/express';
@@ -14,14 +13,14 @@ import { InitQueryContextFunc } from '../helpers/initQueryContext';
14
13
  import { IConvertOIDCIdentifier } from '../helpers/convertOIDCIdentifier';
15
14
  import { IncomingHttpHeaders } from 'http';
16
15
  import { IRecordRepo } from '../../infra/record/recordRepo';
17
- export interface IAuthApp {
18
- getGraphQLSchema(): IAppGraphQLSchema;
16
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
17
+ import { IServerRouteAppModule } from 'interface/server';
18
+ export interface IAuthApp extends IGraphqlAppModule, IServerRouteAppModule {
19
19
  validateRequestToken(params: {
20
20
  apiKey?: string;
21
21
  headers: IncomingHttpHeaders;
22
22
  cookies?: {};
23
23
  }, res: Response<unknown>): Promise<ITokenUserData>;
24
- registerRoute(app: Express): void;
25
24
  authenticateWithOIDCService(req: IRequestWithContext, res: Response<unknown>): Promise<void | Response>;
26
25
  }
27
26
  export interface IAuthAppDeps {
@@ -1,10 +1,8 @@
1
1
  import { IActionsListDomain } from 'domain/actionsList/actionsListDomain';
2
2
  import { i18n } from 'i18next';
3
- import { IAppGraphQLSchema } from '_types/graphql';
4
3
  import { IAppModule } from '_types/shared';
5
- export interface ICoreActionListApp extends IAppModule {
6
- getGraphQLSchema(): Promise<IAppGraphQLSchema>;
7
- }
4
+ import { IGraphqlAppModule } from 'app/graphql/graphqlApp';
5
+ export type ICoreActionListApp = IAppModule & IGraphqlAppModule;
8
6
  interface IDeps {
9
7
  'core.domain.actionsList': IActionsListDomain;
10
8
  translator: i18n;
@@ -1,9 +1,7 @@
1
1
  import { IApiKeyDomain } from 'domain/apiKey/apiKeyDomain';
2
2
  import { IRecordDomain } from 'domain/record/recordDomain';
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.apiKey': IApiKeyDomain;
9
7
  'core.domain.record': IRecordDomain;
@@ -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;
@@ -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
  }
@@ -4,17 +4,16 @@ 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';
10
8
  interface IDeps {
11
9
  'core.domain.attribute': IAttributeDomain;
12
10
  'core.domain.form': IFormDomain;
13
11
  'core.domain.library': ILibraryDomain;
14
12
  'core.app.helpers.convertVersionFromGqlFormat': ConvertVersionFromGqlFormatFunc;
13
+ 'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
15
14
  'core.utils': IUtils;
16
15
  }
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;
16
+ 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): {
17
+ getGraphQLSchema(): Promise<IAppGraphQLSchema>;
19
18
  };
20
19
  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 {};