@aristid/leav-types 1.5.0-43db5480 → 1.5.0-d3261f8d

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.
@@ -105,8 +105,22 @@ export declare namespace lang {
105
105
  export { _default as default };
106
106
  }
107
107
  export declare namespace permissions {
108
- let _default_1: boolean;
109
- export { _default_1 as default };
108
+ export namespace everybody {
109
+ let _default_1: boolean;
110
+ export { _default_1 as default };
111
+ export namespace admin_1 {
112
+ let _default_2: boolean;
113
+ export { _default_2 as default };
114
+ }
115
+ export { admin_1 as admin };
116
+ export namespace application {
117
+ let admin_application: boolean;
118
+ }
119
+ }
120
+ export namespace adminGroup {
121
+ let _default_3: boolean;
122
+ export { _default_3 as default };
123
+ }
110
124
  let enableCache_1: boolean;
111
125
  export { enableCache_1 as enableCache };
112
126
  }
@@ -5,11 +5,22 @@ import FormData from 'form-data';
5
5
  import { type ActionsListConfig } from '_types/actionsList';
6
6
  import { type ITreeElement } from '_types/tree';
7
7
  import { AttributeFormats, type AttributeTypes, type IAttributeVersionsConf, type IEmbeddedAttribute } from '../../../_types/attribute';
8
+ export interface IGlobalThis {
9
+ guestUser: IE2EUserParams;
10
+ nonAdminUser: IE2EUserParams;
11
+ nonAdminGroupId: string;
12
+ }
8
13
  interface IE2EUser {
9
14
  getAuthToken: () => Promise<string>;
10
15
  }
16
+ interface IE2EUserParams {
17
+ userId: string;
18
+ groupsId: string[];
19
+ }
11
20
  export declare const e2eAdminUser: () => IE2EUser;
12
- export declare const e2eGuestUser: () => Promise<IE2EUser>;
21
+ export declare const e2eGuestUser: () => IE2EUser;
22
+ export declare const e2eNonAdminUser: () => IE2EUser;
23
+ export declare const e2eNonAdminGroupId: () => string;
13
24
  export declare function getGraphQLUrl(): Promise<string>;
14
25
  export declare class E2EGraphQLError extends Error {
15
26
  readonly response: AxiosResponse;
@@ -42,8 +53,6 @@ export declare function gqlSaveAttribute(params: {
42
53
  }): Promise<any>;
43
54
  export declare function gqlSaveTree(id: string, label: string, libraries: string[]): Promise<any>;
44
55
  export declare function gqlCreateRecord(library: string): Promise<string>;
45
- export declare function gqlGetAdminsGroupNodeId(): Promise<string>;
46
- export declare function gqlAddUserToGroup(groupNodeId: string): Promise<void>;
47
56
  /**
48
57
  * Add an element to the tree
49
58
  *
@@ -0,0 +1 @@
1
+ export declare const MASKED_VALUE = "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF";
@@ -1,5 +1,6 @@
1
1
  import { type Options } from 'amqplib';
2
2
  import { type IKeyValue } from './shared';
3
+ import { type PermissionsActions, type AdminPermissionsActions, type ApplicationPermissionsActions, type AttributePermissionsActions, type LibraryPermissionsActions, type PermissionTypes, type RecordAttributePermissionsActions, type RecordPermissionsActions, type TreeNodePermissionsActions, type TreePermissionsActions } from './permissions';
3
4
  export interface IConfig {
4
5
  coreMode: CoreMode;
5
6
  server: IServer;
@@ -134,8 +135,26 @@ export interface ILang {
134
135
  available: string[];
135
136
  default: string;
136
137
  }
137
- export interface IPermissions {
138
+ type IPermissionsByActions<PermissionActions extends PermissionsActions> = {
139
+ [P in PermissionActions]?: boolean;
140
+ } & {
141
+ default?: boolean;
142
+ };
143
+ interface IPermissionsByTypesAndActions {
138
144
  default: boolean;
145
+ [PermissionTypes.ADMIN]?: IPermissionsByActions<AdminPermissionsActions>;
146
+ [PermissionTypes.APPLICATION]?: IPermissionsByActions<ApplicationPermissionsActions>;
147
+ [PermissionTypes.ATTRIBUTE]?: IPermissionsByActions<AttributePermissionsActions>;
148
+ [PermissionTypes.LIBRARY]?: IPermissionsByActions<LibraryPermissionsActions>;
149
+ [PermissionTypes.RECORD]?: IPermissionsByActions<RecordPermissionsActions>;
150
+ [PermissionTypes.RECORD_ATTRIBUTE]?: IPermissionsByActions<RecordAttributePermissionsActions>;
151
+ [PermissionTypes.TREE]?: IPermissionsByActions<TreePermissionsActions>;
152
+ [PermissionTypes.TREE_NODE]?: IPermissionsByActions<TreeNodePermissionsActions>;
153
+ [PermissionTypes.TREE_LIBRARY]?: IPermissionsByActions<TreeNodePermissionsActions>;
154
+ }
155
+ export interface IPermissions {
156
+ everybody: IPermissionsByTypesAndActions;
157
+ adminGroup: IPermissionsByTypesAndActions;
139
158
  enableCache: boolean;
140
159
  }
141
160
  export interface IAmqp {
@@ -280,3 +299,4 @@ export interface IMatomo {
280
299
  export interface ILogsCollector {
281
300
  queue: string;
282
301
  }
302
+ export {};
@@ -1,3 +1,2 @@
1
1
  import { type IActionsListFunction } from '../../_types/actionsList';
2
- export declare const MASKED_VALUE = "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF";
3
2
  export default function (): IActionsListFunction;
@@ -1,6 +1,5 @@
1
1
  import { type AdminPermissionsActions, type ApplicationPermissionsActions, type AttributePermissionsActions, type IPermissionsTreeTarget, type ITreePermissionsConf, type LibraryPermissionsActions, type PermissionsActions, type PermissionTypes, type RecordAttributePermissionsActions, type RecordPermissionsActions, type TreeNodePermissionsActions, type TreePermissionsActions } from '_types/permissions';
2
2
  import { type IQueryInfos } from '_types/queryInfos';
3
- import { type TreePath } from '_types/tree';
4
3
  import { type IGetDefaultPermissionParams } from './helpers/defaultPermission';
5
4
  export declare const PERMISSIONS_CACHE_HEADER = "permissions";
6
5
  export declare const PERMISSIONS_NULL_PLACEHOLDER = "__null__";
@@ -67,11 +66,8 @@ export interface IGetApplicationPermissionParams {
67
66
  ctx: IQueryInfos;
68
67
  }
69
68
  export interface IGetDefaultGlobalPermissionParams extends IGetDefaultPermissionParams {
70
- type?: PermissionTypes;
71
69
  applyTo?: string;
72
70
  userId?: string;
73
- userGroups?: TreePath[];
74
- action?: PermissionsActions;
75
71
  }
76
72
  export type GetDefaultGlobalPermission = (params: IGetDefaultGlobalPermissionParams) => Promise<boolean> | boolean;
77
73
  export interface IGetTreeNodePermissionParams {
@@ -1,14 +1,20 @@
1
1
  import { type IConfig } from '_types/config';
2
+ import { PermissionTypes, type PermissionsActions } from '../../../_types/permissions';
2
3
  import { type IQueryInfos } from '_types/queryInfos';
4
+ import { type TreePath } from '_types/tree';
3
5
  interface IDeps {
4
6
  config: IConfig;
5
7
  }
6
8
  export interface IGetDefaultPermissionParams {
9
+ type: PermissionTypes;
10
+ action: PermissionsActions;
11
+ userGroups: TreePath[];
7
12
  ctx: IQueryInfos;
8
13
  }
9
- export type GetDefaultPermission = ({ ctx }: IGetDefaultPermissionParams) => boolean;
14
+ export type GetDefaultPermission = ({ ctx, type, action, userGroups }: IGetDefaultPermissionParams) => boolean;
10
15
  export interface IDefaultPermissionHelper {
11
16
  getDefaultPermission: GetDefaultPermission;
17
+ getAdminDefaultPermissionOrNull: GetDefaultPermission;
12
18
  }
13
19
  export default function ({ config }: IDeps): IDefaultPermissionHelper;
14
20
  export {};
@@ -15,6 +15,7 @@ import { type ITreeLibraryPermissionDomain } from './treeLibraryPermissionDomain
15
15
  import { type ITreeNodePermissionDomain } from './treeNodePermissionDomain';
16
16
  import { type ITreePermissionDomain } from './treePermissionDomain';
17
17
  import { type IGetActionsByTypeParams, type IGetInheritedPermissionsParams, type IGetPermissionsByActionsParams, type IIsAllowedParams, type PermByActionsRes } from './_types';
18
+ import { type IDefaultPermissionHelper } from './helpers/defaultPermission';
18
19
  export interface IPermissionDomain {
19
20
  savePermission(permData: IPermission, ctx: IQueryInfos): Promise<IPermission>;
20
21
  getPermissionsByActions({ type, applyTo, actions, usersGroupNodeId, permissionTreeTarget, ctx, }: IGetPermissionsByActionsParams): Promise<PermByActionsRes>;
@@ -37,6 +38,7 @@ export interface IPermissionDomainDeps {
37
38
  'core.domain.permission.treeNode': ITreeNodePermissionDomain;
38
39
  'core.domain.permission.treeLibrary': ITreeLibraryPermissionDomain;
39
40
  'core.domain.permission.application': IApplicationPermissionDomain;
41
+ 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
40
42
  'core.domain.eventsManager': IEventsManagerDomain;
41
43
  'core.infra.permission': IPermissionRepo;
42
44
  'core.infra.cache.cacheService': ICachesService;
@@ -1,9 +1,8 @@
1
1
  import { type IValueRepo } from 'infra/value/valueRepo';
2
2
  import { type IQueryInfos } from '_types/queryInfos';
3
- import { type RecordAttributePermissionsActions } from '../../_types/permissions';
3
+ import { RecordAttributePermissionsActions } from '../../_types/permissions';
4
4
  import { type IAttributeDomain } from '../attribute/attributeDomain';
5
5
  import { type IAttributePermissionDomain } from './attributePermissionDomain';
6
- import { type IDefaultPermissionHelper } from './helpers/defaultPermission';
7
6
  import { type IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
8
7
  import { type ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
9
8
  import { type IGetRecordAttributeHeritedPermissionsParams as IGetRecordAttributeInheritedPermissionsParams } from './_types';
@@ -17,7 +16,6 @@ export interface IRecordAttributePermissionDomainDeps {
17
16
  'core.domain.permission.attribute': IAttributePermissionDomain;
18
17
  'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
19
18
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
20
- 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
21
19
  'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
22
20
  'core.domain.attribute': IAttributeDomain;
23
21
  'core.infra.value': IValueRepo;
@@ -1,7 +1,6 @@
1
1
  import { type GetCoreEntityByIdFunc } from 'domain/helpers/getCoreEntityById';
2
2
  import { type IValueRepo } from 'infra/value/valueRepo';
3
3
  import { type IAttributeDomain } from '../attribute/attributeDomain';
4
- import { type IDefaultPermissionHelper } from './helpers/defaultPermission';
5
4
  import { type IPermissionByUserGroupsHelper } from './helpers/permissionByUserGroups';
6
5
  import { type ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
7
6
  import { type ILibraryPermissionDomain } from './libraryPermissionDomain';
@@ -18,7 +17,6 @@ export interface IRecordPermissionDomainDeps {
18
17
  'core.domain.permission.library': ILibraryPermissionDomain;
19
18
  'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
20
19
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
21
- 'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
22
20
  'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
23
21
  'core.domain.attribute': IAttributeDomain;
24
22
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "1.5.0-43db5480",
3
+ "version": "1.5.0-d3261f8d",
4
4
  "description": "Shared Leav types",
5
5
  "scripts": {
6
6
  "tscheck": "",