@aristid/leav-types 0.0.7-03daa35 → 0.0.7-0486f6b

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.
@@ -30,6 +30,7 @@ export declare const mockAttrTree: {
30
30
  reverse_link?: string | IAttribute;
31
31
  unique?: boolean;
32
32
  description?: import("../../_types/systemTranslation").ISystemTranslation;
33
+ settings?: import("../../_types/shared").IKeyValue<any>;
33
34
  label?: import("../../_types/systemTranslation").ISystemTranslation | string;
34
35
  };
35
36
  export declare const mockAttrTreeVersionable: IAttribute;
@@ -1,7 +1,7 @@
1
1
  import { ActionsListEvents, ActionsListIOTypes, ActionsListConfig } from './actionsList';
2
2
  import { ITreePermissionsConf } from './permissions';
3
3
  import { IRecord } from './record';
4
- import { IGetCoreEntitiesParams } from './shared';
4
+ import { IGetCoreEntitiesParams, IKeyValue } from './shared';
5
5
  import { ISystemTranslation } from './systemTranslation';
6
6
  import { ITreeElement } from './tree';
7
7
  import { IDateRangeValue } from './value';
@@ -24,6 +24,7 @@ export interface IAttribute extends ICoreEntity {
24
24
  reverse_link?: string | IAttribute;
25
25
  unique?: boolean;
26
26
  description?: ISystemTranslation;
27
+ settings?: IKeyValue<any>;
27
28
  }
28
29
  export declare enum ValueVersionMode {
29
30
  SIMPLE = "simple",
@@ -113,6 +113,7 @@ export interface IAmqp {
113
113
  exchange: string;
114
114
  type: string;
115
115
  prefetch?: number;
116
+ queues?: string[];
116
117
  }
117
118
  export interface IRedis {
118
119
  host: string;
@@ -3,6 +3,7 @@ import { IPreviewVersion } from './filesManager';
3
3
  import { ITreePermissionsConf } from './permissions';
4
4
  import { IRecordIdentityConf } from './record';
5
5
  import { ISystemTranslation } from './systemTranslation';
6
+ import { IKeyValue } from './shared';
6
7
  export interface ILibrary extends ICoreEntity {
7
8
  system?: boolean;
8
9
  behavior?: LibraryBehavior;
@@ -31,6 +32,7 @@ export interface ILibrary extends ICoreEntity {
31
32
  recordId: string;
32
33
  };
33
34
  previewsSettings?: ILibraryPreviewsSettings[];
35
+ settings?: IKeyValue<any>;
34
36
  }
35
37
  export interface ILibraryFilterOptions extends ICoreEntityFilterOptions {
36
38
  system?: boolean;
@@ -11,6 +11,7 @@ export interface ITree extends ICoreEntity {
11
11
  behavior?: TreeBehavior;
12
12
  system?: boolean;
13
13
  permissions_conf?: ITreeNodePermissionsConf;
14
+ settings?: IKeyValue<any>;
14
15
  }
15
16
  export interface ITreeFilterOptions extends ICoreEntityFilterOptions {
16
17
  system?: boolean;
@@ -2,6 +2,7 @@ import { AnyPrimitive, Override } from '@leav/utils';
2
2
  import { IDbEdge } from 'infra/db/_types';
3
3
  import { IRecord } from './record';
4
4
  import { ITreeNode, TreePaths } from './tree';
5
+ import { EMPTY_VALUE } from 'infra/value/valueRepo';
5
6
  export type IValueFromGql = Override<Omit<IValue, 'version'>, {
6
7
  value: IValue['payload'];
7
8
  metadata: Array<{
@@ -28,6 +29,7 @@ export interface IDbValueVersion {
28
29
  export interface IValueMetadata {
29
30
  [fieldName: string]: IStandardValue | AnyPrimitive;
30
31
  }
32
+ export type EmptyValue = typeof EMPTY_VALUE;
31
33
  export interface IGenericValue {
32
34
  id_value?: string;
33
35
  attribute?: string;
@@ -41,8 +43,8 @@ export interface IGenericValue {
41
43
  isCalculated?: boolean;
42
44
  }
43
45
  export interface IStandardValue extends IGenericValue {
44
- payload?: any;
45
- raw_payload?: any;
46
+ payload?: any | EmptyValue;
47
+ raw_payload?: any | EmptyValue;
46
48
  }
47
49
  export interface ILinkValue extends IGenericValue {
48
50
  payload?: IRecord;
@@ -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 { ITreeNode, TreePaths } 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 {
@@ -33,7 +33,11 @@ export interface IGetPermissionByUserGroupsParams {
33
33
  action: PermissionsActions;
34
34
  userGroupsPaths: TreePaths[];
35
35
  applyTo?: string;
36
- permissionTreeTarget?: IPermissionsTreeTarget;
36
+ treeTarget?: {
37
+ tree: string;
38
+ path: ITreeNode[];
39
+ };
40
+ getDefaultPermission?: () => Promise<boolean> | boolean;
37
41
  ctx: IQueryInfos;
38
42
  }
39
43
  export interface IGetAdminPermissionParams {
@@ -63,7 +67,7 @@ export interface IGetTreeLibraryPermissionParams {
63
67
  treeId: string;
64
68
  libraryId: string;
65
69
  userId: string;
66
- getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => boolean | null;
70
+ getDefaultPermission?: (params?: IGetDefaultTreeLibraryPermissionParams) => Promise<boolean> | boolean;
67
71
  ctx: IQueryInfos;
68
72
  }
69
73
  export interface IGetApplicationPermissionParams {
@@ -12,7 +12,7 @@ interface IGetGlobalPermissionParams {
12
12
  applyTo?: string;
13
13
  userId: string;
14
14
  action: PermissionsActions;
15
- getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => boolean;
15
+ getDefaultPermission?: (params?: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
16
16
  }
17
17
  interface IGetInheritedGlobalPermissionParams {
18
18
  type: PermissionTypes;
@@ -2,13 +2,16 @@ import { IPermissionRepo } from 'infra/permission/permissionRepo';
2
2
  import { IGetPermissionByUserGroupsParams } from '../_types';
3
3
  import { IReducePermissionsArrayHelper } from './reducePermissionsArray';
4
4
  import { ISimplePermissionHelper } from './simplePermission';
5
- interface IDeps {
5
+ import { IDefaultPermissionHelper } from './defaultPermission';
6
+ import { IElementAncestorsHelper } from 'domain/tree/helpers/elementAncestors';
7
+ export interface IPermissionByUserGroupsHelperDeps {
6
8
  'core.domain.permission.helpers.simplePermission': ISimplePermissionHelper;
7
9
  'core.domain.permission.helpers.reducePermissionsArray': IReducePermissionsArrayHelper;
10
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
11
+ 'core.domain.tree.helpers.elementAncestors': IElementAncestorsHelper;
8
12
  'core.infra.permission'?: IPermissionRepo;
9
13
  }
10
14
  export interface IPermissionByUserGroupsHelper {
11
- getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean | null>;
15
+ getPermissionByUserGroups: (params: IGetPermissionByUserGroupsParams) => Promise<boolean>;
12
16
  }
13
- export default function (deps: IDeps): IPermissionByUserGroupsHelper;
14
- export {};
17
+ export default function (deps: IPermissionByUserGroupsHelperDeps): IPermissionByUserGroupsHelper;
@@ -1,4 +1,4 @@
1
1
  export interface IReducePermissionsArrayHelper {
2
- reducePermissionsArray: (permissions: Array<boolean | null>) => boolean | null;
2
+ reducePermissionsArray: (permissions: boolean[]) => boolean;
3
3
  }
4
4
  export default function (): IReducePermissionsArrayHelper;
@@ -0,0 +1,5 @@
1
+ import { IValue, EmptyValue } from '_types/value';
2
+ declare const _default: (value: IValue) => value is IValue & {
3
+ payload: EmptyValue;
4
+ };
5
+ export default _default;
@@ -115,7 +115,7 @@ export interface ITreeRepo {
115
115
  ctx: IQueryInfos;
116
116
  }): Promise<IList<ITreeNode>>;
117
117
  /**
118
- * Return all ancestors of an element, including element itself, but excluding tree root
118
+ * Return all ancestors of an element, from root to element, but excluding tree root
119
119
  *
120
120
  * @param treeId
121
121
  * @param element
@@ -5,6 +5,7 @@ import { IValue, IValuesOptions } from '_types/value';
5
5
  import { IAttributeTypesRepo, IAttributeWithRevLink } from '../attributeTypes/attributeTypesRepo';
6
6
  export declare const VALUES_LINKS_COLLECTION = "core_edge_values_links";
7
7
  export declare const VALUES_COLLECTION = "core_values";
8
+ export declare const EMPTY_VALUE = "__empty_value__";
8
9
  export interface IValueRepo {
9
10
  createValue({ library, recordId, attribute, value, ctx }: {
10
11
  library: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "0.0.7-03daa35",
3
+ "version": "0.0.7-0486f6b",
4
4
  "description": "Shared Leav types",
5
5
  "scripts": {
6
6
  "tscheck": "",