@aristid/leav-types 0.0.7-dc9cdc7 → 0.0.7-dd6e343f

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 (96) hide show
  1. package/apps/core/config/default.d.ts +12 -1
  2. package/apps/core/config/test.d.ts +1 -0
  3. package/apps/core/src/__tests__/e2e/api/getConditionPart/getConditionPart.test.d.ts +1 -0
  4. package/apps/core/src/__tests__/e2e/api/joinLibraries/joinLibraries.test.d.ts +1 -0
  5. package/apps/core/src/__tests__/mockers/amqp.d.ts +8 -0
  6. package/apps/core/src/__tests__/mockers/logger.d.ts +7 -0
  7. package/apps/core/src/__tests__/mocks/attribute.d.ts +2 -1
  8. package/apps/core/src/__tests__/mocks/cache.d.ts +4 -0
  9. package/apps/core/src/_constants/attributes.d.ts +1 -0
  10. package/apps/core/src/_types/attribute.d.ts +6 -0
  11. package/apps/core/src/_types/config.d.ts +27 -2
  12. package/apps/core/src/_types/dbProfiler.d.ts +20 -1
  13. package/apps/core/src/_types/forms.d.ts +17 -7
  14. package/apps/core/src/_types/globalSettings.d.ts +2 -0
  15. package/apps/core/src/_types/library.d.ts +3 -1
  16. package/apps/core/src/_types/permissions.d.ts +2 -1
  17. package/apps/core/src/_types/queryInfos.d.ts +6 -1
  18. package/apps/core/src/_types/record.d.ts +4 -4
  19. package/apps/core/src/_types/tree.d.ts +1 -1
  20. package/apps/core/src/_types/value.d.ts +64 -5
  21. package/apps/core/src/app/application/applicationApp.d.ts +3 -7
  22. package/apps/core/src/app/auth/authApp.d.ts +7 -6
  23. package/apps/core/src/app/core/actionListApp.d.ts +2 -4
  24. package/apps/core/src/app/core/apiKeyApp/apiKeyApp.d.ts +2 -4
  25. package/apps/core/src/app/core/attributeApp/attributeApp.d.ts +2 -5
  26. package/apps/core/src/app/core/coreApp.d.ts +2 -4
  27. package/apps/core/src/app/core/exportApp.d.ts +2 -4
  28. package/apps/core/src/app/core/filesManagerApp.d.ts +3 -5
  29. package/apps/core/src/app/core/formApp/_types.d.ts +10 -0
  30. package/apps/core/src/app/core/formApp/formApp.d.ts +4 -5
  31. package/apps/core/src/app/core/globalSettingsApp.d.ts +3 -6
  32. package/apps/core/src/app/core/importApp.d.ts +2 -4
  33. package/apps/core/src/app/core/libraryApp/libraryApp.d.ts +2 -5
  34. package/apps/core/src/app/core/logApp.d.ts +2 -4
  35. package/apps/core/src/app/core/permissionApp/permissionApp.d.ts +2 -4
  36. package/apps/core/src/app/core/pluginsApp.d.ts +2 -3
  37. package/apps/core/src/app/core/recordApp/recordApp.d.ts +2 -5
  38. package/apps/core/src/app/core/tasksManagerApp.d.ts +2 -3
  39. package/apps/core/src/app/core/treeApp/treeApp.d.ts +5 -6
  40. package/apps/core/src/app/core/userDataApp.d.ts +2 -4
  41. package/apps/core/src/app/core/valueApp.d.ts +2 -4
  42. package/apps/core/src/app/core/versionProfileApp/versionProfileApp.d.ts +2 -4
  43. package/apps/core/src/app/core/viewApp.d.ts +2 -4
  44. package/apps/core/src/app/endpoint/endpointApp.d.ts +3 -8
  45. package/apps/core/src/app/graphql/graphqlApp.d.ts +8 -0
  46. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.d.ts +11 -0
  47. package/apps/core/src/domain/attribute/helpers/ifLibraryJoinLinkAttribute.spec.d.ts +1 -0
  48. package/apps/core/src/domain/attribute/helpers/index.d.ts +1 -0
  49. package/apps/core/src/domain/filesManager/helpers/handleFileSystemEvent/handleMoveEvent.d.ts +1 -1
  50. package/apps/core/src/domain/form/formDomain.d.ts +9 -1
  51. package/apps/core/src/domain/globalSettings/globalSettingsDomain.d.ts +5 -1
  52. package/apps/core/src/domain/import/importDomain.d.ts +1 -1
  53. package/apps/core/src/domain/indexationManager/indexationManagerDomain.d.ts +4 -2
  54. package/apps/core/src/domain/permission/_types.d.ts +10 -14
  55. package/apps/core/src/domain/permission/helpers/globalPermission.d.ts +3 -12
  56. package/apps/core/src/domain/permission/helpers/permissionByUserGroups.d.ts +20 -5
  57. package/apps/core/src/domain/permission/helpers/treeBasedPermissions.d.ts +0 -4
  58. package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +4 -1
  59. package/apps/core/src/domain/permission/treeNodePermissionDomain.d.ts +2 -2
  60. package/apps/core/src/domain/record/_types.d.ts +4 -3
  61. package/apps/core/src/domain/record/helpers/createRecord.d.ts +22 -0
  62. package/apps/core/src/domain/record/helpers/deleteRecord.d.ts +19 -0
  63. package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +24 -0
  64. package/apps/core/src/domain/record/helpers/index.d.ts +3 -0
  65. package/apps/core/src/domain/record/recordDomain.d.ts +27 -3
  66. package/apps/core/src/domain/tree/treeDomain.d.ts +2 -2
  67. package/apps/core/src/domain/value/helpers/prepareValue.d.ts +3 -3
  68. package/apps/core/src/domain/value/helpers/saveOneValue.d.ts +2 -2
  69. package/apps/core/src/domain/value/helpers/validateValue.d.ts +3 -3
  70. package/apps/core/src/domain/value/valueDomain.d.ts +11 -4
  71. package/apps/core/src/errors/LeavError.d.ts +6 -0
  72. package/apps/core/src/infra/attributeTypes/attributeAdvancedLinkRepo.d.ts +5 -2
  73. package/apps/core/src/infra/attributeTypes/attributeAdvancedRepo.d.ts +3 -1
  74. package/apps/core/src/infra/attributeTypes/attributeSimpleLinkRepo.d.ts +5 -2
  75. package/apps/core/src/infra/attributeTypes/attributeSimpleRepo.d.ts +3 -1
  76. package/apps/core/src/infra/attributeTypes/attributeTreeRepo.d.ts +3 -1
  77. package/apps/core/src/infra/attributeTypes/attributeTypesRepo.d.ts +52 -22
  78. package/apps/core/src/infra/db/dbUtils.d.ts +1 -3
  79. package/apps/core/src/infra/db/migrations/008-addSkeletonApp.d.ts +7 -0
  80. package/apps/core/src/infra/db/migrations/009-addDisplayMultiLinkOptAttributeProperty.d.ts +11 -0
  81. package/apps/core/src/infra/db/migrations/010-formSidePanel.d.ts +8 -0
  82. package/apps/core/src/infra/db/migrations/011-moveSkeletonApptoAppStudio.d.ts +7 -0
  83. package/apps/core/src/infra/oidc/oidcClientService.d.ts +1 -1
  84. package/apps/core/src/infra/permission/permissionRepo.d.ts +9 -1
  85. package/apps/core/src/infra/record/helpers/getSearchVariableName.d.ts +1 -1
  86. package/apps/core/src/infra/record/recordRepo.d.ts +11 -0
  87. package/apps/core/src/infra/tree/treeRepo.d.ts +3 -2
  88. package/apps/core/src/infra/value/valueRepo.d.ts +10 -8
  89. package/apps/core/src/interface/server.d.ts +7 -0
  90. package/apps/core/src/pluginsLoader.d.ts +1 -1
  91. package/apps/core/src/utils/dataloader.d.ts +8 -0
  92. package/apps/core/src/utils/helpers/getSystemQueryContext.d.ts +8 -0
  93. package/apps/core/src/utils/index.d.ts +1 -0
  94. package/apps/core/src/utils/utils.d.ts +1 -0
  95. package/libs/utils/src/types/forms.d.ts +3 -1
  96. package/package.json +5 -2
@@ -0,0 +1,22 @@
1
+ import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
2
+ import { ILibraryPermissionDomain } from 'domain/permission/libraryPermissionDomain';
3
+ import { IRecordRepo } from 'infra/record/recordRepo';
4
+ import { IQueryInfos } from '../../../_types/queryInfos';
5
+ import { ICreateRecordResult, ICreateRecordValueError } from '../_types';
6
+ export type IPreCreateRecordCallback = () => Promise<ICreateRecordValueError[]>;
7
+ export type CreateRecordHelper = (params: {
8
+ library: string;
9
+ /**
10
+ * Can be use to validate potential values to post create insert to record
11
+ */
12
+ preCreateCallback?: IPreCreateRecordCallback;
13
+ ctx: IQueryInfos;
14
+ active?: boolean;
15
+ }) => Promise<ICreateRecordResult>;
16
+ interface IDeps {
17
+ 'core.domain.eventsManager': IEventsManagerDomain;
18
+ 'core.domain.permission.library': ILibraryPermissionDomain;
19
+ 'core.infra.record': IRecordRepo;
20
+ }
21
+ export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.permission.library': libraryPermissionDomain, 'core.infra.record': recordRepo }: IDeps): CreateRecordHelper;
22
+ export {};
@@ -0,0 +1,19 @@
1
+ import { IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
2
+ import { IQueryInfos } from '../../../_types/queryInfos';
3
+ import { IRecordPermissionDomain } from 'domain/permission/recordPermissionDomain';
4
+ import { IValidateHelper } from 'domain/helpers/validate';
5
+ import { IRecordRepo } from 'infra/record/recordRepo';
6
+ import { ITreeRepo } from 'infra/tree/treeRepo';
7
+ import { IValueRepo } from 'infra/value/valueRepo';
8
+ import { IRecord } from '../../../_types/record';
9
+ export type DeleteRecordHelper = (library: string, id: string, ctx: IQueryInfos) => Promise<IRecord>;
10
+ interface IDeps {
11
+ 'core.domain.helpers.validate': IValidateHelper;
12
+ 'core.domain.eventsManager': IEventsManagerDomain;
13
+ 'core.domain.permission.record': IRecordPermissionDomain;
14
+ 'core.infra.record': IRecordRepo;
15
+ 'core.infra.tree': ITreeRepo;
16
+ 'core.infra.value': IValueRepo;
17
+ }
18
+ export default function ({ 'core.domain.eventsManager': eventsManager, 'core.domain.helpers.validate': validateHelper, 'core.domain.permission.record': recordPermissionDomain, 'core.infra.record': recordRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo }: IDeps): DeleteRecordHelper;
19
+ export {};
@@ -0,0 +1,24 @@
1
+ import { IAttribute } from '_types/attribute';
2
+ import { IQueryInfos } from '_types/queryInfos';
3
+ import { ITreeNode } from '_types/tree';
4
+ import { GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
5
+ import { IPermissionRepo } from 'infra/permission/permissionRepo';
6
+ import { ITreeRepo } from 'infra/tree/treeRepo';
7
+ import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
8
+ interface IAccessPermissionFilterDeps {
9
+ 'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
10
+ 'core.infra.tree': ITreeRepo;
11
+ 'core.infra.permission': IPermissionRepo;
12
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
13
+ }
14
+ export interface IGetAccessPermissionsValue {
15
+ treeId: string;
16
+ attribute: IAttribute;
17
+ permissions: {
18
+ true: Array<ITreeNode['id']>;
19
+ false: Array<ITreeNode['id']>;
20
+ };
21
+ }
22
+ export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
23
+ declare const getAccessPermissionsFilters: IGetAccessPermissions;
24
+ export default getAccessPermissionsFilters;
@@ -1 +1,4 @@
1
+ export { default as createRecord } from './createRecord';
2
+ export { default as deleteRecord } from './deleteRecord';
1
3
  export { default as sendRecordUpdateEvent } from './sendRecordUpdateEvent';
4
+ export { default as getAccessPermissionFilters } from './getAccessPermissionFilters';
@@ -11,7 +11,7 @@ import { IValueRepo } from 'infra/value/valueRepo';
11
11
  import { IUtils } from 'utils/utils';
12
12
  import * as Config from '_types/config';
13
13
  import { IListWithCursor } from '_types/list';
14
- import { IValue, IValuesOptions } from '_types/value';
14
+ import { ISaveValue, IValue, IValuesOptions } from '_types/value';
15
15
  import { ICachesService } from '../../infra/cache/cacheService';
16
16
  import { IQueryInfos } from '../../_types/queryInfos';
17
17
  import { IRecord, IRecordFilterLight, IRecordIdentity } from '../../_types/record';
@@ -22,10 +22,23 @@ import { ICreateRecordResult, IFindRecordParams } from './_types';
22
22
  import { IFormRepo } from 'infra/form/formRepo';
23
23
  import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
24
24
  import { IAttributePermissionDomain } from '../permission/attributePermissionDomain';
25
+ import { IPermissionRepo } from '../../infra/permission/permissionRepo';
26
+ import { IDefaultPermissionHelper } from 'domain/permission/helpers/defaultPermission';
27
+ import { DeleteRecordHelper } from './helpers/deleteRecord';
28
+ import { CreateRecordHelper } from './helpers/createRecord';
29
+ import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
25
30
  export interface IRecordDomain {
31
+ /**
32
+ * Create empty record
33
+ * Used when create a record, set active to false and inCreation to true
34
+ */
35
+ createEmptyRecord(params: {
36
+ library: string;
37
+ ctx: IQueryInfos;
38
+ }): Promise<ICreateRecordResult>;
26
39
  createRecord(params: {
27
40
  library: string;
28
- values?: IValue[];
41
+ values?: ISaveValue[];
29
42
  verifyRequiredAttributes?: boolean;
30
43
  ctx: IQueryInfos;
31
44
  }): Promise<ICreateRecordResult>;
@@ -80,6 +93,12 @@ export interface IRecordDomain {
80
93
  filters?: IRecordFilterLight[];
81
94
  ctx: IQueryInfos;
82
95
  }): Promise<IRecord[]>;
96
+ activateRecordsBatch(params: {
97
+ libraryId: string;
98
+ recordsIds?: string[];
99
+ filters?: IRecordFilterLight[];
100
+ ctx: IQueryInfos;
101
+ }): Promise<IRecord[]>;
83
102
  purgeInactiveRecords(params: {
84
103
  libraryId: string;
85
104
  ctx: IQueryInfos;
@@ -94,16 +113,21 @@ export interface IRecordDomainDeps {
94
113
  'core.domain.permission.library': ILibraryPermissionDomain;
95
114
  'core.domain.permission.attribute': IAttributePermissionDomain;
96
115
  'core.domain.permission.recordAttribute': IRecordAttributePermissionDomain;
116
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
97
117
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
98
118
  'core.domain.helpers.validate': IValidateHelper;
119
+ 'core.domain.record.helpers.createRecord': CreateRecordHelper;
120
+ 'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
99
121
  'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
100
122
  'core.infra.library': ILibraryRepo;
101
123
  'core.infra.tree': ITreeRepo;
124
+ 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
102
125
  'core.infra.value': IValueRepo;
103
126
  'core.infra.form': IFormRepo;
127
+ 'core.infra.permission': IPermissionRepo;
104
128
  'core.domain.eventsManager': IEventsManagerDomain;
105
129
  'core.infra.cache.cacheService': ICachesService;
106
130
  'core.utils': IUtils;
107
131
  translator: i18n;
108
132
  }
109
- export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.permission.attribute': attrPermissionDomain, 'core.domain.permission.recordAttribute': recordAttributePermissionDomain, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
133
+ export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.permission.attribute': attrPermissionDomain, 'core.domain.permission.recordAttribute': recordAttributePermissionDomain, 'core.domain.permission.helpers.defaultPermission': defaultPermHelper, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.createRecord': createRecordHelper, 'core.domain.record.helpers.deleteRecord': deleteRecordHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.domain.tree.helpers.elementAncestors': elementAncestorsHelper, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.infra.permission': permissionRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
@@ -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, TreePaths } from '../../_types/tree';
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<TreePaths>;
115
+ }): Promise<TreePath>;
116
116
  /**
117
117
  * Retrieve all records linked to an element via given attribute
118
118
  */
@@ -3,10 +3,10 @@ import { IAttributeDomain } from 'domain/attribute/attributeDomain';
3
3
  import { IUtils } from 'utils/utils';
4
4
  import { IAttribute } from '_types/attribute';
5
5
  import { IQueryInfos } from '_types/queryInfos';
6
- import { IValue } from '_types/value';
6
+ import { ISaveValue } from '_types/value';
7
7
  interface IPrepareValueParams {
8
8
  attributeProps: IAttribute;
9
- value: IValue;
9
+ value: ISaveValue;
10
10
  library: string;
11
11
  recordId: string;
12
12
  infos?: IQueryInfos;
@@ -18,5 +18,5 @@ interface IPrepareValueParams {
18
18
  };
19
19
  ctx: IQueryInfos;
20
20
  }
21
- declare const _default: (params: IPrepareValueParams) => Promise<IValue[]>;
21
+ declare const _default: (params: IPrepareValueParams) => Promise<ISaveValue[]>;
22
22
  export default _default;
@@ -7,7 +7,7 @@ import { ITreeRepo } from 'infra/tree/treeRepo';
7
7
  import { IValueRepo } from 'infra/value/valueRepo';
8
8
  import { IQueryInfos } from '_types/queryInfos';
9
9
  import { IAttribute } from '../../../_types/attribute';
10
- import { IValue } from '../../../_types/value';
10
+ import { ISaveValue, IValue } from '../../../_types/value';
11
11
  interface ISaveOneValueDeps {
12
12
  valueRepo: IValueRepo;
13
13
  recordRepo: IRecordRepo;
@@ -17,5 +17,5 @@ interface ISaveOneValueDeps {
17
17
  attributeDomain: IAttributeDomain;
18
18
  versionProfileDomain: IVersionProfileDomain;
19
19
  }
20
- declare const _default: (library: string, recordId: string, attribute: IAttribute, value: IValue, deps: ISaveOneValueDeps, ctx: IQueryInfos) => Promise<IValue>;
20
+ declare const _default: (library: string, recordId: string, attribute: IAttribute, value: ISaveValue, deps: ISaveOneValueDeps, ctx: IQueryInfos) => Promise<IValue>;
21
21
  export default _default;
@@ -5,10 +5,10 @@ import { IValueRepo } from 'infra/value/valueRepo';
5
5
  import { IAttribute } from '../../../_types/attribute';
6
6
  import { ErrorFieldDetail } from '../../../_types/errors';
7
7
  import { IQueryInfos } from '../../../_types/queryInfos';
8
- import { IValue } from '../../../_types/value';
8
+ import { ISaveValue } from '../../../_types/value';
9
9
  interface IValidateValueParams {
10
10
  attributeProps: IAttribute;
11
- value: IValue;
11
+ value: ISaveValue;
12
12
  library: string;
13
13
  recordId?: string;
14
14
  infos?: IQueryInfos;
@@ -21,5 +21,5 @@ interface IValidateValueParams {
21
21
  };
22
22
  ctx: IQueryInfos;
23
23
  }
24
- declare const _default: (params: IValidateValueParams) => Promise<ErrorFieldDetail<IValue>>;
24
+ declare const _default: (params: IValidateValueParams) => Promise<ErrorFieldDetail<ISaveValue>>;
25
25
  export default _default;
@@ -14,13 +14,16 @@ import * as Config from '_types/config';
14
14
  import { IRecord } from '_types/record';
15
15
  import { IAttribute } from '../../_types/attribute';
16
16
  import { IQueryInfos } from '../../_types/queryInfos';
17
- import { IValue, IValuesOptions } from '../../_types/value';
17
+ import { ISaveValue, IValue, IValuesOptions } from '../../_types/value';
18
18
  import { IActionsListDomain } from '../actionsList/actionsListDomain';
19
19
  import { IAttributeDomain } from '../attribute/attributeDomain';
20
20
  import { IValidateHelper } from '../helpers/validate';
21
21
  import { IRecordAttributePermissionDomain } from '../permission/recordAttributePermissionDomain';
22
22
  import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
23
23
  import { IDeleteValueParams, IRunActionListParams } from './_types';
24
+ import { DeleteRecordHelper } from 'domain/record/helpers/deleteRecord';
25
+ import { CreateRecordHelper } from 'domain/record/helpers/createRecord';
26
+ import { IfLibraryJoinLinkAttribute } from '../attribute/helpers/ifLibraryJoinLinkAttribute';
24
27
  export interface ISaveBatchValueError {
25
28
  type: string;
26
29
  message: string;
@@ -58,7 +61,7 @@ export interface IValueDomain {
58
61
  library: string;
59
62
  recordId: string;
60
63
  attribute: string;
61
- value: IValue;
64
+ value: ISaveValue;
62
65
  ctx: IQueryInfos;
63
66
  }): Promise<IValue[]>;
64
67
  /**
@@ -70,9 +73,10 @@ export interface IValueDomain {
70
73
  saveValueBatch(params: {
71
74
  library: string;
72
75
  recordId: string;
73
- values: IValue[];
76
+ values: ISaveValue[];
74
77
  ctx: IQueryInfos;
75
78
  keepEmpty?: boolean;
79
+ skipPermission?: boolean;
76
80
  }): Promise<ISaveBatchValueResult>;
77
81
  deleteValue(params: IDeleteValueParams): Promise<IValue[]>;
78
82
  formatValue(params: {
@@ -101,6 +105,9 @@ export interface IValueDomainDeps {
101
105
  'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
102
106
  'core.domain.tree.helpers.getDefaultElement': IGetDefaultElementHelper;
103
107
  'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
108
+ 'core.domain.record.helpers.createRecord': CreateRecordHelper;
109
+ 'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
110
+ 'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
104
111
  'core.domain.versionProfile': IVersionProfileDomain;
105
112
  'core.infra.record': IRecordRepo;
106
113
  'core.infra.tree': ITreeRepo;
@@ -109,5 +116,5 @@ export interface IValueDomainDeps {
109
116
  'core.utils.logger': winston.Winston;
110
117
  'core.domain.tree': ITreeDomain;
111
118
  }
112
- declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
119
+ declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.record.helpers.createRecord": createRecordHelper, "core.domain.record.helpers.deleteRecord": deleteRecordHelper, "core.domain.attribute.helpers.ifLibraryJoinLinkAttribute": ifLibraryJoinLinkAttribute, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
113
120
  export default valueDomain;
@@ -14,6 +14,12 @@ export default class LeavError<T, E = ErrorTypes> extends Error {
14
14
  fields?: ErrorFieldDetail<T>;
15
15
  type: E;
16
16
  record?: ILeavErrorRecord;
17
+ /**
18
+ * Use this ID to identify the error in logs or for debugging purposes.
19
+ * It is generated using uuid v1, which includes a timestamp and a unique identifier.
20
+ * This allows for tracking the error across different systems and logs.
21
+ */
22
+ errorId: string;
17
23
  constructor(type: E, message?: string, details?: ILeavErrorDetails);
18
24
  }
19
25
  export {};
@@ -1,16 +1,19 @@
1
1
  import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
2
2
  import { IUtils } from 'utils/utils';
3
+ import { AttributeTypes } from '../../_types/attribute';
3
4
  import { IDbService } from '../db/dbService';
4
5
  import { IDbUtils } from '../db/dbUtils';
5
6
  import { IAttributeTypeRepo } from './attributeTypesRepo';
6
7
  import { GetConditionPart } from './helpers/getConditionPart';
8
+ import { IAttributeSimpleLinkRepo } from './attributeSimpleLinkRepo';
9
+ export type IAttributeAdvancedLinkRepo = IAttributeTypeRepo<AttributeTypes.ADVANCED_LINK>;
7
10
  interface IDeps {
8
11
  'core.infra.db.dbService'?: IDbService;
9
12
  'core.infra.db.dbUtils'?: IDbUtils;
10
- 'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeTypeRepo;
13
+ 'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeSimpleLinkRepo;
11
14
  'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
12
15
  'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
13
16
  'core.utils'?: IUtils;
14
17
  }
15
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeTypeRepo;
18
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeAdvancedLinkRepo;
16
19
  export {};
@@ -1,5 +1,6 @@
1
1
  import { IDbUtils } from 'infra/db/dbUtils';
2
2
  import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
3
+ import { AttributeTypes } from '../../_types/attribute';
3
4
  import { IDbService } from '../db/dbService';
4
5
  import { IAttributeTypeRepo } from './attributeTypesRepo';
5
6
  import { GetConditionPart } from './helpers/getConditionPart';
@@ -9,4 +10,5 @@ export interface IAttributeAdvancedRepoDeps {
9
10
  'core.infra.attributeTypes.helpers.getConditionPart': GetConditionPart;
10
11
  'core.infra.record.helpers.filterTypes': IFilterTypesHelper;
11
12
  }
12
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }: IAttributeAdvancedRepoDeps): IAttributeTypeRepo;
13
+ export type IAttributeAdvancedRepo = IAttributeTypeRepo<AttributeTypes.ADVANCED>;
14
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }: IAttributeAdvancedRepoDeps): IAttributeAdvancedRepo;
@@ -1,14 +1,17 @@
1
1
  import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
2
+ import { AttributeTypes } from '../../_types/attribute';
2
3
  import { IDbService } from '../db/dbService';
3
4
  import { IDbUtils } from '../db/dbUtils';
4
5
  import { IAttributeTypeRepo } from './attributeTypesRepo';
5
6
  import { GetConditionPart } from './helpers/getConditionPart';
7
+ import { IAttributeSimpleRepo } from './attributeSimpleRepo';
6
8
  interface IDeps {
7
9
  'core.infra.db.dbService'?: IDbService;
8
10
  'core.infra.db.dbUtils'?: IDbUtils;
9
- 'core.infra.attributeTypes.attributeSimple'?: IAttributeTypeRepo;
11
+ 'core.infra.attributeTypes.attributeSimple'?: IAttributeSimpleRepo;
10
12
  'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
11
13
  'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
12
14
  }
13
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimple': attributeSimpleRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeTypeRepo;
15
+ export type IAttributeSimpleLinkRepo = IAttributeTypeRepo<AttributeTypes.SIMPLE_LINK>;
16
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.attributeSimple': attributeSimpleRepo, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeSimpleLinkRepo;
14
17
  export {};
@@ -1,4 +1,5 @@
1
1
  import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
2
+ import { AttributeTypes } from '../../_types/attribute';
2
3
  import { IDbService } from '../db/dbService';
3
4
  import { IAttributeTypeRepo } from './attributeTypesRepo';
4
5
  import { GetConditionPart } from './helpers/getConditionPart';
@@ -7,5 +8,6 @@ interface IDeps {
7
8
  'core.infra.attributeTypes.helpers.getConditionPart'?: GetConditionPart;
8
9
  'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
9
10
  }
10
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeTypeRepo;
11
+ export type IAttributeSimpleRepo = IAttributeTypeRepo<AttributeTypes.SIMPLE>;
12
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypesHelper }?: IDeps): IAttributeSimpleRepo;
11
13
  export {};
@@ -1,5 +1,6 @@
1
1
  import { IFilterTypesHelper } from 'infra/record/helpers/filterTypes';
2
2
  import { IUtils } from 'utils/utils';
3
+ import { AttributeTypes } from '../../_types/attribute';
3
4
  import { IDbService } from '../db/dbService';
4
5
  import { IDbUtils } from '../db/dbUtils';
5
6
  import { IAttributeTypeRepo } from './attributeTypesRepo';
@@ -11,5 +12,6 @@ interface IDeps {
11
12
  'core.infra.record.helpers.filterTypes'?: IFilterTypesHelper;
12
13
  'core.utils'?: IUtils;
13
14
  }
14
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeTypeRepo;
15
+ export type IAttributeTreeRepo = IAttributeTypeRepo<AttributeTypes.TREE>;
16
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.db.dbUtils': dbUtils, 'core.infra.attributeTypes.helpers.getConditionPart': getConditionPart, 'core.infra.record.helpers.filterTypes': filterTypes, 'core.utils': utils }?: IDeps): IAttributeTreeRepo;
15
17
  export {};
@@ -1,30 +1,37 @@
1
1
  import { AqlLiteral, GeneratedAqlQuery } from 'arangojs/aql';
2
2
  import { IQueryInfos } from '_types/queryInfos';
3
- import { IAttribute } from '../../_types/attribute';
3
+ import { AttributeTypes, IAttribute } from '../../_types/attribute';
4
4
  import { AttributeCondition, IRecordFilterOption } from '../../_types/record';
5
- import { IValue, IValuesOptions } from '../../_types/value';
6
- export interface IAttributeWithRepo extends IAttributeWithRevLink {
5
+ import { ISaveValueByAttributeType, IValueByAttributeType, IValuesOptions } from '../../_types/value';
6
+ import { IAttributeSimpleRepo } from './attributeSimpleRepo';
7
+ import { IAttributeSimpleLinkRepo } from './attributeSimpleLinkRepo';
8
+ import { IAttributeAdvancedRepo } from './attributeAdvancedRepo';
9
+ import { IAttributeAdvancedLinkRepo } from './attributeAdvancedLinkRepo';
10
+ import { IAttributeTreeRepo } from './attributeTreeRepo';
11
+ export type IAttributeWithRepo = IAttributeWithRevLink & {
7
12
  _repo: IAttributeTypeRepo;
8
- }
13
+ };
14
+ type IAttributeRepoByType<AttributeType extends AttributeTypes | unknown> = AttributeType extends AttributeTypes.SIMPLE ? IAttributeSimpleRepo : AttributeType extends AttributeTypes.SIMPLE_LINK ? IAttributeSimpleLinkRepo : AttributeType extends AttributeTypes.ADVANCED ? IAttributeAdvancedRepo : AttributeType extends AttributeTypes.ADVANCED_LINK ? IAttributeAdvancedLinkRepo : AttributeType extends AttributeTypes.TREE ? IAttributeTreeRepo : IAttributeTypeRepo;
9
15
  export interface IAttributeTypesRepo {
10
- getTypeRepo?(attribute: IAttribute): IAttributeTypeRepo;
16
+ getTypeRepo<AttributeType extends AttributeTypes | unknown>(attribute: IAttribute): IAttributeRepoByType<AttributeType>;
11
17
  }
12
18
  export interface IAttributeWithRevLink extends IAttribute {
13
19
  reverse_link?: IAttribute;
14
20
  }
15
21
  export type GetConditionPartParentFunc = (condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute) => GetConditionPartFunc;
22
+ export type IGetValuesOptions = Pick<IValuesOptions, 'forceGetAllValues' | 'version'>;
16
23
  export type GetConditionPartFunc = (valueIdentifier: string | AqlLiteral) => GeneratedAqlQuery;
17
24
  /**
18
25
  * Define interface used for all attribute type specific files
19
26
  */
20
- export interface IAttributeTypeRepo {
27
+ export interface IAttributeTypeRepo<AttributeType extends AttributeTypes = AttributeTypes, Value = IValueByAttributeType[AttributeType]> {
21
28
  createValue({ library, recordId, attribute, value, ctx }: {
22
29
  library: string;
23
30
  recordId: string;
24
31
  attribute: IAttributeWithRevLink;
25
- value: IValue;
32
+ value: ISaveValueByAttributeType[AttributeType];
26
33
  ctx: IQueryInfos;
27
- }): Promise<IValue>;
34
+ }): Promise<Value>;
28
35
  /**
29
36
  * Update an existing value. Field "id" is expected on the value
30
37
  */
@@ -32,9 +39,9 @@ export interface IAttributeTypeRepo {
32
39
  library: string;
33
40
  recordId: string;
34
41
  attribute: IAttributeWithRevLink;
35
- value: IValue;
42
+ value: ISaveValueByAttributeType[AttributeType];
36
43
  ctx: IQueryInfos;
37
- }): Promise<IValue>;
44
+ }): Promise<Value>;
38
45
  /**
39
46
  * Delete an existing value. Field "id" is expected on the value
40
47
  */
@@ -42,9 +49,9 @@ export interface IAttributeTypeRepo {
42
49
  library: string;
43
50
  recordId: string;
44
51
  attribute: IAttributeWithRevLink;
45
- value: IValue;
52
+ value: Value;
46
53
  ctx: IQueryInfos;
47
- }): Promise<IValue>;
54
+ }): Promise<Value>;
48
55
  /**
49
56
  * Check if a value is unique
50
57
  */
@@ -52,7 +59,7 @@ export interface IAttributeTypeRepo {
52
59
  library: string;
53
60
  excludedRecordId?: string;
54
61
  attribute: IAttribute;
55
- value: IValue;
62
+ value: Value;
56
63
  ctx: IQueryInfos;
57
64
  }): Promise<boolean>;
58
65
  /**
@@ -65,9 +72,21 @@ export interface IAttributeTypeRepo {
65
72
  recordId: string;
66
73
  attribute: IAttributeWithRevLink;
67
74
  forceGetAllValues?: boolean;
68
- options?: IValuesOptions;
75
+ options?: IGetValuesOptions;
76
+ ctx: IQueryInfos;
77
+ }): Promise<Value[]>;
78
+ /**
79
+ * Get all values for given records and attribute
80
+ *
81
+ * @return Array<{}> Return an empty array if no value found for each record
82
+ */
83
+ getValuesBatch({ library, attribute, recordIds, options, ctx }: {
84
+ library: string;
85
+ attribute: IAttributeWithRevLink;
86
+ recordIds: string[];
87
+ options?: IGetValuesOptions;
69
88
  ctx: IQueryInfos;
70
- }): Promise<IValue[]>;
89
+ }): Promise<Value[][]>;
71
90
  /**
72
91
  * Get all reverse values for given attribute / value
73
92
  *
@@ -78,7 +97,18 @@ export interface IAttributeTypeRepo {
78
97
  value: string;
79
98
  forceGetAllValues: boolean;
80
99
  ctx: IQueryInfos;
81
- }): Promise<IValue[]>;
100
+ }): Promise<Value[]>;
101
+ /**
102
+ * Get all reverse values for given attribute / values
103
+ *
104
+ * @return Array<{}> Return an empty array if no value found for each record
105
+ */
106
+ getReverseValuesBatch?({ advancedLinkAttr, ctx }: {
107
+ advancedLinkAttr: IAttributeWithRevLink;
108
+ values: string[];
109
+ forceGetAllValues: boolean;
110
+ ctx: IQueryInfos;
111
+ }): Promise<Value[][]>;
82
112
  /**
83
113
  * Return a specific value based on its ID. Field "id" is expect on the value
84
114
  *
@@ -90,7 +120,7 @@ export interface IAttributeTypeRepo {
90
120
  attribute: IAttribute;
91
121
  valueId: string;
92
122
  ctx: IQueryInfos;
93
- }): Promise<IValue>;
123
+ }): Promise<Value>;
94
124
  /**
95
125
  * Return AQL query part to retrieve value for this attribute.
96
126
  * If will be concatenate with other filters and full query
@@ -118,11 +148,11 @@ export declare const ATTRIB_COLLECTION_NAME = "core_attributes";
118
148
  export declare const BASE_QUERY_IDENTIFIER = "r";
119
149
  export declare const isValuesCountCondition: (condition: AttributeCondition) => boolean;
120
150
  interface IDeps {
121
- 'core.infra.attributeTypes.attributeSimple'?: IAttributeTypeRepo;
122
- 'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeTypeRepo;
123
- 'core.infra.attributeTypes.attributeAdvanced'?: IAttributeTypeRepo;
124
- 'core.infra.attributeTypes.attributeAdvancedLink'?: IAttributeTypeRepo;
125
- 'core.infra.attributeTypes.attributeTree'?: IAttributeTypeRepo;
151
+ 'core.infra.attributeTypes.attributeSimple'?: IAttributeSimpleRepo;
152
+ 'core.infra.attributeTypes.attributeSimpleLink'?: IAttributeSimpleLinkRepo;
153
+ 'core.infra.attributeTypes.attributeAdvanced'?: IAttributeAdvancedRepo;
154
+ 'core.infra.attributeTypes.attributeAdvancedLink'?: IAttributeAdvancedLinkRepo;
155
+ 'core.infra.attributeTypes.attributeTree'?: IAttributeTreeRepo;
126
156
  }
127
157
  export default function ({ 'core.infra.attributeTypes.attributeSimple': attributeSimpleRepo, 'core.infra.attributeTypes.attributeSimpleLink': attributeSimpleLinkRepo, 'core.infra.attributeTypes.attributeAdvanced': attributeAdvancedRepo, 'core.infra.attributeTypes.attributeAdvancedLink': attributeAdvancedLinkRepo, 'core.infra.attributeTypes.attributeTree': attributeTreeRepo }?: IDeps): IAttributeTypesRepo;
128
158
  export {};
@@ -1,6 +1,5 @@
1
1
  import { GeneratedAqlQuery } from 'arangojs/aql';
2
2
  import { AwilixContainer } from 'awilix';
3
- import { IPluginsRepo } from 'infra/plugins/pluginsRepo';
4
3
  import * as winston from 'winston';
5
4
  import { IConfig } from '_types/config';
6
5
  import { IList, IPaginationParams, ISortParams } from '_types/list';
@@ -33,8 +32,7 @@ interface IDeps {
33
32
  'core.infra.db.dbService'?: IDbService;
34
33
  'core.infra.cache.cacheService'?: ICachesService;
35
34
  'core.utils.logger'?: winston.Winston;
36
- 'core.infra.plugins'?: IPluginsRepo;
37
35
  config?: IConfig;
38
36
  }
39
- export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.cache.cacheService': cacheService, 'core.utils.logger': logger, 'core.infra.plugins': pluginsRepo, config }?: IDeps): IDbUtils;
37
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.cache.cacheService': cacheService, 'core.utils.logger': logger, config }?: IDeps): IDbUtils;
40
38
  export {};
@@ -0,0 +1,7 @@
1
+ import { type IDbService } from '../dbService';
2
+ import { type IMigration } from '../../../_types/migration';
3
+ interface IDeps {
4
+ 'core.infra.db.dbService'?: IDbService;
5
+ }
6
+ export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type i18n } from 'i18next';
2
+ import { type IDbService } from '../dbService';
3
+ import { type IConfig } from '../../../_types/config';
4
+ import { type IMigration } from '../../../_types/migration';
5
+ interface IDeps {
6
+ 'core.infra.db.dbService'?: IDbService;
7
+ translator?: i18n;
8
+ config?: IConfig;
9
+ }
10
+ export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
11
+ export {};
@@ -0,0 +1,8 @@
1
+ import { IMigration } from '_types/migration';
2
+ import { IFormRepo } from 'infra/form/formRepo';
3
+ interface IDeps {
4
+ 'core.infra.form'?: IFormRepo;
5
+ config?: any;
6
+ }
7
+ export default function ({ 'core.infra.form': formRepo }?: IDeps): IMigration;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type IDbService } from '../dbService';
2
+ import { type IMigration } from '../../../_types/migration';
3
+ interface IDeps {
4
+ 'core.infra.db.dbService'?: IDbService;
5
+ }
6
+ export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
7
+ export {};
@@ -13,7 +13,7 @@ export interface IOIDCClientService {
13
13
  queryId: string;
14
14
  }) => Promise<string>;
15
15
  getLogoutUrl: (params: {
16
- userId: string;
16
+ userId: string | null;
17
17
  }) => Promise<string>;
18
18
  saveOIDCTokens: (params: {
19
19
  userId: string;
@@ -1,5 +1,5 @@
1
1
  import { IQueryInfos } from '_types/queryInfos';
2
- import { IPermission, IPermissionsTreeTarget, PermissionTypes } from '../../_types/permissions';
2
+ import { IPermission, IPermissionsTreeTarget, PermissionsActions, PermissionTypes } from '../../_types/permissions';
3
3
  import { IDbService } from '../db/dbService';
4
4
  import { IDbUtils } from '../db/dbUtils';
5
5
  export interface IPermissionRepo {
@@ -14,6 +14,14 @@ export interface IPermissionRepo {
14
14
  permissionTreeTarget?: IPermissionsTreeTarget;
15
15
  ctx: IQueryInfos;
16
16
  }): Promise<IPermission | null>;
17
+ getAllPermissionsForTree({ type, applyTo, actionKey, treeId, groupsIds, ctx }: {
18
+ type: PermissionTypes;
19
+ applyTo: string;
20
+ actionKey: PermissionsActions;
21
+ treeId: string;
22
+ groupsIds: string[];
23
+ ctx: IQueryInfos;
24
+ }): Promise<IPermission[]>;
17
25
  }
18
26
  export declare const PERM_COLLECTION_NAME = "core_permissions";
19
27
  export declare const USERS_GROUP_ATTRIBUTE_NAME = "user_groups";