@aristid/leav-types 1.5.1-f302b301 → 1.5.2-427ed078

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.
@@ -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-427ed078",
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",