@aristid/leav-types 1.4.0-cf0d20a9 → 1.4.1-396671ca

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.
@@ -15,6 +15,7 @@ import { type IncomingHttpHeaders } from 'http';
15
15
  import { type IRecordRepo } from '../../infra/record/recordRepo';
16
16
  import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
17
17
  import { type IServerRouteAppModule } from 'interface/server';
18
+ import { type GetSystemQueryContext } from 'utils/helpers/getSystemQueryContext';
18
19
  export interface IAuthApp extends IGraphqlAppModule, IServerRouteAppModule {
19
20
  validateRequestToken(params: {
20
21
  apiKey?: string;
@@ -34,6 +35,7 @@ export interface IAuthAppDeps {
34
35
  'core.infra.oidc.oidcClientService': IOIDCClientService;
35
36
  'core.app.helpers.initQueryContext': InitQueryContextFunc;
36
37
  'core.app.helpers.convertOIDCIdentifier': IConvertOIDCIdentifier;
38
+ 'core.utils.getSystemQueryContext': GetSystemQueryContext;
37
39
  config: IConfig;
38
40
  }
39
- export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.infra.record': recordRepo, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, config }: IAuthAppDeps): IAuthApp;
41
+ export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.infra.record': recordRepo, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, 'core.utils.getSystemQueryContext': getSystemQueryContext, config }: IAuthAppDeps): IAuthApp;
@@ -5,4 +5,4 @@ export { default as permissionsByActions } from './permissionsByActions';
5
5
  export { default as reducePermissionsArray } from './reducePermissionsArray';
6
6
  export { default as simplePermission } from './simplePermission';
7
7
  export { default as treeBasedPermissions } from './treeBasedPermissions';
8
- export { default as recordInCreationByPass } from './recordInCreationBypass';
8
+ export { default as recordInCreationBypass } from './recordInCreationBypass';
@@ -1,6 +1,11 @@
1
1
  import { type IRecord } from '../../../_types/record';
2
2
  import { type IQueryInfos } from '../../../_types/queryInfos';
3
- export interface IRecordInCreationByPassHelper {
4
- recordInCreationByPass: (record: IRecord, ctx: IQueryInfos) => boolean;
3
+ import { type IRecordRepo } from '../../../infra/record/recordRepo';
4
+ export interface IRecordInCreationBypassHelper {
5
+ recordInCreationBypass: (record: IRecord, ctx: IQueryInfos) => boolean;
6
+ recordInCreationBypassById: (libraryId: string, recordId: string, ctx: IQueryInfos) => Promise<boolean>;
5
7
  }
6
- export default function (): IRecordInCreationByPassHelper;
8
+ export interface IRecordInCreationBypassHelperDeps {
9
+ 'core.infra.record': IRecordRepo;
10
+ }
11
+ export default function ({ 'core.infra.record': recordRepo }: IRecordInCreationBypassHelperDeps): IRecordInCreationBypassHelper;
@@ -8,7 +8,7 @@ import { type IPermissionByUserGroupsHelper } from './helpers/permissionByUserGr
8
8
  import { type ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
9
9
  import { type IGetRecordAttributeHeritedPermissionsParams as IGetRecordAttributeInheritedPermissionsParams } from './_types';
10
10
  import { type IRecordRepo } from '../../infra/record/recordRepo';
11
- import { type IRecordInCreationByPassHelper } from './helpers/recordInCreationBypass';
11
+ import { type IRecordInCreationBypassHelper } from './helpers/recordInCreationBypass';
12
12
  export interface IRecordAttributePermissionDomain {
13
13
  getRecordAttributePermission(action: RecordAttributePermissionsActions, userGroupId: string, attributeId: string, recordLibrary: string, recordId: string, ctx: IQueryInfos): Promise<boolean>;
14
14
  getInheritedRecordAttributePermission(params: IGetRecordAttributeInheritedPermissionsParams, ctx: IQueryInfos): Promise<boolean>;
@@ -18,7 +18,7 @@ export interface IRecordAttributePermissionDomainDeps {
18
18
  'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
19
19
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
20
20
  'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
21
- 'core.domain.permission.helpers.recordInCreationByPass': IRecordInCreationByPassHelper;
21
+ 'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
22
22
  'core.domain.attribute': IAttributeDomain;
23
23
  'core.infra.value': IValueRepo;
24
24
  'core.infra.record': IRecordRepo;
@@ -8,7 +8,7 @@ import { type ILibraryPermissionDomain } from './libraryPermissionDomain';
8
8
  import { type IEstimateTreeValueRecordPermissionParams, type IGetInheritedRecordPermissionParams, type IGetRecordPermissionParams } from './_types';
9
9
  import { type ITreeRepo } from '../../infra/tree/treeRepo';
10
10
  import { type IRecordRepo } from '../../infra/record/recordRepo';
11
- import { type IRecordInCreationByPassHelper } from './helpers/recordInCreationBypass';
11
+ import { type IRecordInCreationBypassHelper } from './helpers/recordInCreationBypass';
12
12
  export interface IRecordPermissionDomain {
13
13
  getRecordPermission(params: IGetRecordPermissionParams): Promise<boolean>;
14
14
  getInheritedRecordPermission(params: IGetInheritedRecordPermissionParams): Promise<boolean>;
@@ -19,7 +19,7 @@ export interface IRecordPermissionDomainDeps {
19
19
  'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
20
20
  'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
21
21
  'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
22
- 'core.domain.permission.helpers.recordInCreationByPass': IRecordInCreationByPassHelper;
22
+ 'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
23
23
  'core.domain.attribute': IAttributeDomain;
24
24
  'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
25
25
  'core.infra.value': IValueRepo;
@@ -11,14 +11,15 @@ interface IAccessPermissionFilterDeps {
11
11
  'core.infra.permission': IPermissionRepo;
12
12
  'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
13
13
  }
14
+ interface INodeIdsByPermissions {
15
+ true: Array<ITreeNode['id']>;
16
+ false: Array<ITreeNode['id']>;
17
+ }
14
18
  export interface IGetAccessPermissionsValue {
15
19
  treeId: string;
16
20
  attribute: IAttribute;
17
- permissions: {
18
- true: Array<ITreeNode['id']>;
19
- false: Array<ITreeNode['id']>;
20
- };
21
+ permissions: INodeIdsByPermissions;
21
22
  }
22
- export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
23
+ export type IGetAccessPermissions = (groupsIds: string[][], library: string, existingFiltersOnTreeIds: string[], deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
23
24
  declare const getAccessPermissionsFilters: IGetAccessPermissions;
24
25
  export default getAccessPermissionsFilters;
@@ -24,6 +24,7 @@ import { type IDeleteValueParams, type IRunActionListParams } from './_types';
24
24
  import { type DeleteRecordHelper } from 'domain/record/helpers/deleteRecord';
25
25
  import { type CreateRecordHelper } from 'domain/record/helpers/createRecord';
26
26
  import { type IfLibraryJoinLinkAttribute } from '../attribute/helpers/ifLibraryJoinLinkAttribute';
27
+ import { type IRecordInCreationBypassHelper } from '../permission/helpers/recordInCreationBypass';
27
28
  export interface ISaveBatchValueError {
28
29
  type: string;
29
30
  message: string;
@@ -107,6 +108,7 @@ export interface IValueDomainDeps {
107
108
  'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
108
109
  'core.domain.record.helpers.createRecord': CreateRecordHelper;
109
110
  'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
111
+ 'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
110
112
  'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
111
113
  'core.domain.versionProfile': IVersionProfileDomain;
112
114
  'core.infra.record': IRecordRepo;
@@ -116,5 +118,5 @@ export interface IValueDomainDeps {
116
118
  'core.utils.logger': ILogger;
117
119
  'core.domain.tree': ITreeDomain;
118
120
  }
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;
121
+ 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.permission.helpers.recordInCreationBypass": recordInCreationBypassHelper, "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;
120
122
  export default valueDomain;
@@ -0,0 +1,10 @@
1
+ import winston from 'winston';
2
+ interface ICallerInfo {
3
+ path: string;
4
+ line: string;
5
+ col: string;
6
+ }
7
+ export declare function getLocationInfo(): ICallerInfo | null;
8
+ export declare const addLocationInfoInLog: winston.Logform.FormatWrap;
9
+ export declare const mergeLocationInfoInLog: winston.Logform.FormatWrap;
10
+ export {};
@@ -1,4 +1,4 @@
1
- import * as winston from 'winston';
1
+ import winston from 'winston';
2
2
  import { type ILoggerConfig } from './config';
3
3
  export type ILogger = Pick<typeof winston, 'error' | 'warn' | 'info' | 'log' | 'verbose' | 'debug' | 'silly'>;
4
4
  export declare function configureLogger(config: ILoggerConfig): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "1.4.0-cf0d20a9",
3
+ "version": "1.4.1-396671ca",
4
4
  "description": "Shared Leav types",
5
5
  "scripts": {
6
6
  "tscheck": "",
@@ -14,7 +14,7 @@
14
14
  "license": "LGPL3",
15
15
  "repository": "https://github.com/leav-solutions/leav-engine",
16
16
  "dependencies": {
17
- "@leav/utils": "1.4.0",
17
+ "@leav/utils": "1.4.1",
18
18
  "@types/amqplib": "0.10.7",
19
19
  "@types/express": "5.0.0",
20
20
  "@types/jest": "29.5.14",