@aristid/leav-types 1.5.1-f302b301 → 1.5.2-03b36f67

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.
@@ -44,6 +44,7 @@ export declare namespace auth {
44
44
  namespace cookie {
45
45
  let sameSite: string;
46
46
  let secure: boolean;
47
+ let withDomain: boolean;
47
48
  }
48
49
  let resetPasswordExpiration: string;
49
50
  namespace oidc {
@@ -91,6 +91,12 @@ export interface IAuth {
91
91
  cookie: {
92
92
  sameSite: 'none' | 'lax' | 'strict';
93
93
  secure: boolean;
94
+ /**
95
+ * Do not set cookie domain to avoid sharing cookies between subdomains
96
+ * https://developer.mozilla.org/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#domain
97
+ * @default false
98
+ */
99
+ withDomain: boolean;
94
100
  };
95
101
  resetPasswordExpiration: string;
96
102
  oidc: {
@@ -3,6 +3,7 @@ import { type IPermissionDomain } from 'domain/permission/permissionDomain';
3
3
  import { type IAppModule } from '_types/shared';
4
4
  import { PermissionTypes } from '../../../_types/permissions';
5
5
  import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
6
+ import { type GetSystemQueryContext } from '../../../utils/helpers/getSystemQueryContext';
6
7
  export interface IPluginPermission {
7
8
  name: string;
8
9
  type: PermissionTypes;
@@ -12,6 +13,7 @@ export type ICorePermissionApp = IAppModule & IGraphqlAppModule;
12
13
  interface IDeps {
13
14
  'core.domain.permission'?: IPermissionDomain;
14
15
  'core.domain.attribute'?: IAttributeDomain;
16
+ 'core.utils.getSystemQueryContext'?: GetSystemQueryContext;
15
17
  }
16
- export default function ({ 'core.domain.permission': permissionDomain, 'core.domain.attribute': attributeDomain, }?: IDeps): ICorePermissionApp;
18
+ export default function ({ 'core.domain.permission': permissionDomain, 'core.domain.attribute': attributeDomain, 'core.utils.getSystemQueryContext': getSystemQueryContext, }?: IDeps): ICorePermissionApp;
17
19
  export {};
@@ -132,6 +132,7 @@ export interface IIsAllowedParams {
132
132
  }
133
133
  export interface IGetActionsByTypeParams {
134
134
  type: PermissionTypes;
135
+ ctx: IQueryInfos;
135
136
  applyOn?: string;
136
137
  skipApplyOn?: boolean;
137
138
  }
@@ -24,7 +24,7 @@ export interface IPermissionDomain {
24
24
  */
25
25
  getInheritedPermissions({ type, applyTo, action, userGroupId, permissionTreeTarget, ctx, }: IGetInheritedPermissionsParams): Promise<boolean>;
26
26
  isAllowed({ type, action, applyTo, target, ctx }: IIsAllowedParams): Promise<boolean>;
27
- getActionsByType(params: IGetActionsByTypeParams): ILabeledPermissionsAction[];
27
+ getActionsByType(params: IGetActionsByTypeParams): Promise<ILabeledPermissionsAction[]>;
28
28
  registerActions(type: PermissionTypes, actions: string[], applyOn?: string[]): void;
29
29
  isAdminOrSystemUser(ctx: IQueryInfos): boolean;
30
30
  }
@@ -14,7 +14,7 @@ import { type IRecord, type IRecordFilterLight, type IRecordIdentity } from '../
14
14
  import { type IAttributeDomain } from '../attribute/attributeDomain';
15
15
  import { type IRecordPermissionDomain } from '../permission/recordPermissionDomain';
16
16
  import { type SendRecordUpdateEventHelper } from './helpers/sendRecordUpdateEvent';
17
- import { type ICreateRecordResult, type IFindRecordParams } from './_types';
17
+ import { type ICreateRecordResult, type ICreateRecordValueError, type IFindRecordParams } from './_types';
18
18
  import { type IFormRepo } from 'infra/form/formRepo';
19
19
  import { type DeleteRecordHelper } from './helpers/deleteRecord';
20
20
  import { type CreateRecordHelper } from './helpers/createRecord';
@@ -22,6 +22,14 @@ import { type IElementAncestorsHelper } from 'domain/tree/helpers/elementAncesto
22
22
  import { type ILogger } from '@leav/logger';
23
23
  import { type FindRecordsHelper } from './helpers/findRecords';
24
24
  export declare const ATTRIBUTE_ACTIVE = "active";
25
+ export interface IDuplicateRecordRules {
26
+ attributesToDuplicate?: Array<{
27
+ attributeId: string;
28
+ overrideValueFn?: (id: string) => Promise<string | Array<string | {
29
+ valuesErrors: ICreateRecordValueError[];
30
+ }>>;
31
+ }>;
32
+ }
25
33
  export interface IRecordDomain {
26
34
  /**
27
35
  * Create empty record
@@ -101,6 +109,12 @@ export interface IRecordDomain {
101
109
  recordId: string;
102
110
  ctx: IQueryInfos;
103
111
  }): Promise<IRecord>;
112
+ duplicateRecords(params: {
113
+ libraryId: string;
114
+ recordIds: string[];
115
+ duplicateRules?: IDuplicateRecordRules;
116
+ ctx: IQueryInfos;
117
+ }): Promise<ICreateRecordResult[]>;
104
118
  }
105
119
  export interface IRecordDomainDeps {
106
120
  config: Config.IConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "1.5.1-f302b301",
3
+ "version": "1.5.2-03b36f67",
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.5.1",
17
+ "@leav/utils": "1.5.2",
18
18
  "@types/amqplib": "0.10.7",
19
19
  "@types/express": "5.0.0",
20
20
  "@types/jest": "29.5.14",