@rentman/rm-core 8.0.1 → 8.0.3
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.
- package/changelog.md +9 -0
- package/dist/rm-core.js +327 -234
- package/dist/rm-core.min.js +2 -2
- package/dist/types/classes/ChangesDelta.d.ts +1 -1
- package/dist/types/classes/ChangesProcessor.d.ts +3 -5
- package/dist/types/classes/CreatedChangesDelta.d.ts +2 -1
- package/dist/types/classes/ItemCreateService.d.ts +1 -1
- package/dist/types/classes/QueryParserIdUpdater.d.ts +9 -9
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +3 -2
- package/dist/types/classes/cache/server/ServerCache.d.ts +1 -1
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +3 -2
- package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +2 -1
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +1 -0
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +9 -4
- package/dist/types/factories/ChangesProcessorFactory.d.ts +2 -5
- package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +2 -1
- package/dist/types/types/ItemTypesCollection.d.ts +1 -1
- package/package.json +1 -1
|
@@ -52,7 +52,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
52
52
|
*
|
|
53
53
|
* @internal
|
|
54
54
|
*/
|
|
55
|
-
_setItemCreated<ItemTypeType extends ApiEnumItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): this;
|
|
55
|
+
_setItemCreated<ItemTypeType extends ApiEnumItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull, isRoot?: boolean): this;
|
|
56
56
|
/**
|
|
57
57
|
* @description
|
|
58
58
|
* Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ApiRequestService,
|
|
2
|
-
import { ChangesCompilationFactory,
|
|
1
|
+
import { ApiRequestService, ItemEntryService } from '../classes';
|
|
2
|
+
import { ChangesCompilationFactory, CreateRequestFactory, RequestColumnExpansionFactory } from '../factories';
|
|
3
3
|
import { ChangesDeltaFactory } from '../factories/ChangesDeltaFactory';
|
|
4
4
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
5
5
|
import { ItemIdConversionMap, PromiseInterface } from '../types';
|
|
@@ -13,19 +13,17 @@ export declare class ChangesProcessor {
|
|
|
13
13
|
private changesDeltaFactory;
|
|
14
14
|
private apiRequestService;
|
|
15
15
|
private changesCompilationFactory;
|
|
16
|
-
private columnExpansionFactory;
|
|
17
16
|
private createRequestFactory;
|
|
18
17
|
private errorHandler;
|
|
19
18
|
private promiseService;
|
|
20
19
|
private requestColumnExpansionFactory;
|
|
21
|
-
private collectionEntryService;
|
|
22
20
|
private itemEntryService;
|
|
23
21
|
private transaction;
|
|
24
22
|
private breakUpByParent?;
|
|
25
23
|
private onAfterCreateCallback?;
|
|
26
24
|
private itemIdConversionMap;
|
|
27
25
|
private serverCache;
|
|
28
|
-
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory,
|
|
26
|
+
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemEntryService: ItemEntryService, transaction: TransactionCache, breakUpByParent?: boolean | undefined, onAfterCreateCallback?: OnAfterCreateCallback | undefined);
|
|
29
27
|
/**
|
|
30
28
|
* @description
|
|
31
29
|
* Executes the requests in the order of:
|
|
@@ -5,12 +5,13 @@ export declare type ChangesDeltaItemCreateDelta<ItemTypeType extends ApiEnumItem
|
|
|
5
5
|
itemId: ItemId;
|
|
6
6
|
fields: FieldMap<ItemTypeType>;
|
|
7
7
|
columns: ColumnSet<ItemTypeType>;
|
|
8
|
+
isRoot: boolean;
|
|
8
9
|
};
|
|
9
10
|
export declare class CreatedChangesDelta {
|
|
10
11
|
private tuples;
|
|
11
12
|
constructor();
|
|
12
13
|
remove(itemType: ApiEnumItemType, itemId: ItemId): boolean;
|
|
13
|
-
add<ItemTypeType extends ApiEnumItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType
|
|
14
|
+
add<ItemTypeType extends ApiEnumItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType>, isRoot?: boolean): void;
|
|
14
15
|
isEmpty(): boolean;
|
|
15
16
|
forEach(callback: (tuple: ChangesDeltaItemCreateDelta, itemType: ApiEnumItemType, index: number) => void): void;
|
|
16
17
|
contains(itemType: ApiEnumItemType): boolean;
|
|
@@ -20,6 +20,6 @@ export declare class ItemCreateService {
|
|
|
20
20
|
* Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
|
|
21
21
|
*/
|
|
22
22
|
createItemsFromValues<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<Partial<FieldMap<ItemTypeType, ColumnIds>>>, parent?: EntryParentNull): PromiseInterface<void>;
|
|
23
|
-
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, ColumnIds>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
23
|
+
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, ColumnIds>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback, isRoot?: boolean): void;
|
|
24
24
|
processTemplateLinkItems<ParentItemType extends ApiEnumItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
25
25
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ApiQueryConditionLinkedTo, ApiQueryConditionSubQuery } from '@rentman/backend-types';
|
|
2
2
|
import { ApiQuery, ApiQueryConditionComparator, ApiQueryWithConditions, ItemIdConversionMap } from '../types';
|
|
3
3
|
import { QueryParserBase } from './QueryParserBase';
|
|
4
|
-
export declare class QueryParserIdUpdater extends QueryParserBase<
|
|
4
|
+
export declare class QueryParserIdUpdater extends QueryParserBase<boolean> {
|
|
5
5
|
private itemIdConversionMap;
|
|
6
6
|
constructor(itemIdConversionMap: ItemIdConversionMap, query: ApiQuery);
|
|
7
|
-
protected parseEmptyQuery():
|
|
8
|
-
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']):
|
|
9
|
-
protected parseSubFieldQuery():
|
|
10
|
-
protected parseSearchQuery():
|
|
11
|
-
protected parseCustomQuery():
|
|
12
|
-
protected parseSimpleQuery<T extends ApiQueryConditionComparator>(_key: T['key'], value: T['value'], _comparator: T['comparator'], _not: T['not'], queryPart: T):
|
|
13
|
-
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], query?: T['query']):
|
|
14
|
-
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']):
|
|
7
|
+
protected parseEmptyQuery(): boolean;
|
|
8
|
+
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']): boolean;
|
|
9
|
+
protected parseSubFieldQuery(): boolean;
|
|
10
|
+
protected parseSearchQuery(): boolean;
|
|
11
|
+
protected parseCustomQuery(): boolean;
|
|
12
|
+
protected parseSimpleQuery<T extends ApiQueryConditionComparator>(_key: T['key'], value: T['value'], _comparator: T['comparator'], _not: T['not'], queryPart: T): boolean;
|
|
13
|
+
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], query?: T['query']): boolean;
|
|
14
|
+
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): boolean;
|
|
15
15
|
private parseConditions;
|
|
16
16
|
}
|
|
@@ -8,6 +8,7 @@ import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta } from '../ChangesDeltaBa
|
|
|
8
8
|
import { ColumnInfo } from '../ColumnInfo';
|
|
9
9
|
import { ColumnUtil } from '../ColumnUtil';
|
|
10
10
|
import { ChangesDeltaItemCreateDelta } from '../CreatedChangesDelta';
|
|
11
|
+
import { InternalChangesDelta } from '../InternalChangesDelta';
|
|
11
12
|
import { ItemCache } from '../ItemCache';
|
|
12
13
|
import { AbstractCache } from './AbstractCache';
|
|
13
14
|
import { ServerItemEntryChanges } from './server/ServerItemHandler';
|
|
@@ -58,12 +59,12 @@ export declare abstract class ItemHandlerBase {
|
|
|
58
59
|
* @description
|
|
59
60
|
* Fetches an ItemEntry with the given itemId
|
|
60
61
|
*/
|
|
61
|
-
abstract fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
62
|
+
abstract fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, isRoot?: boolean): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
62
63
|
/**
|
|
63
64
|
* @description
|
|
64
65
|
* Processes the passed {@link ChangesDeltaItemUpdateDelta update delta} on the transaction, if there are no {@link TransactionItemHandler.itemChanges itemChanges} the new values will not be processed
|
|
65
66
|
*/
|
|
66
|
-
abstract processItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite: boolean, updateInitial: boolean, isCalledAfterSocketUpdate: boolean, createItemChangesIfNoneExist: boolean): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
67
|
+
abstract processItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite: boolean, updateInitial: boolean, isCalledAfterSocketUpdate: boolean, createItemChangesIfNoneExist: boolean, changesDelta?: InternalChangesDelta): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
67
68
|
/**
|
|
68
69
|
* @description
|
|
69
70
|
* Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
|
|
@@ -27,7 +27,7 @@ export declare class ServerCache extends AbstractCache {
|
|
|
27
27
|
getServerCache(): ServerCache;
|
|
28
28
|
createChild(id?: string, validatorFactory?: TransactionValidatorFactory): TransactionCache;
|
|
29
29
|
expandCollectionResources<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, collections: CollectionResourceParentIdMap<ItemTypeType>, newRequestColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
|
|
30
|
-
processResponse(response: ApiResponseProcessor, requestColumnMap: ApiRequestColumnMap, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean, changesDelta?: ChangesDelta): PromiseInterface<ChangesDeltaResult>;
|
|
30
|
+
processResponse(response: ApiResponseProcessor, requestColumnMap: ApiRequestColumnMap, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean, changesDelta?: ChangesDelta, conversionMap?: ItemIdConversionMap): PromiseInterface<ChangesDeltaResult>;
|
|
31
31
|
/**
|
|
32
32
|
* @description
|
|
33
33
|
* Applies the changes of the changesDelta created by the API call ({@link ChangesProcessor ChangesProcessor}/{@link SocketMessageHandler SocketMessageHandler}, or manually through a module function) on all caches
|
|
@@ -204,7 +204,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
204
204
|
* Rejects when another user is holding the lock, as opposed to {@link LockService.fetchLock}.
|
|
205
205
|
*/
|
|
206
206
|
fetchLock(): PromiseInterface<void>;
|
|
207
|
-
detectChanges(): boolean;
|
|
207
|
+
detectChanges(force?: boolean): boolean;
|
|
208
208
|
/**
|
|
209
209
|
* @description
|
|
210
210
|
* Removes an {@link ItemEntry ItemEntry} through an {@link ItemResource ItemResource} from the {@link TransactionCache TransactionCache} which means that changes on this entry will no longer be tracked.
|
|
@@ -309,7 +309,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
309
309
|
* won't be included
|
|
310
310
|
*/
|
|
311
311
|
getDelta(): InternalChangesDelta;
|
|
312
|
-
createItemResource<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>,
|
|
312
|
+
createItemResource<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
313
313
|
createItemResources<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
314
314
|
processLinkedItems<ItemTypeType extends ApiEnumItemType>(linkedEntries: ItemTypeMap<ItemEntry[]>): ItemResourcesItemTypeMap<ItemResource<ItemTypeType>>;
|
|
315
315
|
createCollectionResource<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, initialEntries: Array<ItemEntry<ItemTypeType>>): CollectionResource<ItemTypeType>;
|
|
@@ -321,5 +321,6 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
321
321
|
private expandItemsFromDelta;
|
|
322
322
|
private clearGlobalError;
|
|
323
323
|
clearItemError(itemEntryId?: ItemEntry['id'], columnId?: string, errorKey?: string): void;
|
|
324
|
+
private handleRemovedItemEntry;
|
|
324
325
|
}
|
|
325
326
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, CollectionQuery, ColumnSubsetCache, ItemEntryOptions, ParentIdMap, PromiseInterface, TransactionCollectionHandlerDependencyInterface, TransactionItemHandler } from '../../../index';
|
|
2
|
+
import { ApiQuery, ApiRequestColumns, CollectionQuery, ColumnSubsetCache, ItemEntryOptions, ItemIdConversionMap, ParentIdMap, PromiseInterface, TransactionCollectionHandlerDependencyInterface, TransactionItemHandler } from '../../../index';
|
|
3
3
|
import { ItemEntry } from '../../../models';
|
|
4
4
|
import { CollectionOptions } from '../../../models/CollectionOptions';
|
|
5
5
|
import { CachedQueryHandlerBase, CachedQueryItem } from '../CachedQueryHandlerBase';
|
|
@@ -9,6 +9,7 @@ export declare class TransactionCachedQueryHandler extends CachedQueryHandlerBas
|
|
|
9
9
|
private itemHandler;
|
|
10
10
|
protected transaction: TransactionCache;
|
|
11
11
|
constructor(dependencies: TransactionCollectionHandlerDependencyInterface, itemHandler: TransactionItemHandler, transaction: TransactionCache);
|
|
12
|
+
updateLocalItemIdReferences(conversionMap: ItemIdConversionMap, isCalledAfterSave: boolean): void;
|
|
12
13
|
__fetchCachedQueryItem<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptions): PromiseInterface<CachedQueryItem<ItemTypeType>>;
|
|
13
14
|
__expandCachedQuery<ItemTypeType extends ApiEnumItemType>(cachedQuery: CachedQueryItem<ItemTypeType>, newColumns: ApiRequestColumns, force?: boolean): PromiseInterface<CachedQueryItem<ItemTypeType>>;
|
|
14
15
|
__addItemEntriesToCachedQueries<ItemTypeType extends ApiEnumItemType = any>(itemType: ItemTypeType, parsedQuery: CollectionQuery, itemEntries: Array<ItemEntry<ItemTypeType>>): void;
|
|
@@ -17,6 +17,7 @@ export declare class TransactionCollectionHandler {
|
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
19
|
constructor(itemHandler: TransactionItemHandler, cachedQueryHandler: TransactionCachedQueryHandler, dependencies: TransactionCollectionHandlerDependencyInterface, transaction: TransactionCache);
|
|
20
|
+
updateLocalItemIdReferences(conversionMap: ItemIdConversionMap): void;
|
|
20
21
|
expandCollectionResource<ItemTypeType extends ApiEnumItemType = any>(collectionResource: CollectionResource<ItemTypeType>, newColumns: ApiRequestColumns): PromiseInterface<void>;
|
|
21
22
|
addResource(resource: CollectionResource): void;
|
|
22
23
|
clearResource(resource: CollectionResource): void;
|
|
@@ -4,7 +4,7 @@ import { ItemEntry, ItemEntryOptions } from '../../../models';
|
|
|
4
4
|
import { ApiQuery, ApiRequestColumns, DeregFunction, FieldChangeCallback, FieldMap, ItemIdConversionMap, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
5
5
|
import { ChangesDelta } from '../../ChangesDelta';
|
|
6
6
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
7
|
-
import { ChangesDeltaItemCreateDelta, ColumnSubsetCache } from '../../index';
|
|
7
|
+
import { ChangesDeltaItemCreateDelta, ColumnSubsetCache, InternalChangesDelta } from '../../index';
|
|
8
8
|
import { ItemHandlerBase, ProcessItemEntryChangesResult } from '../ItemHandlerBase';
|
|
9
9
|
import { TransactionCache } from './TransactionCache';
|
|
10
10
|
import { TransactionValidator } from './TransactionValidator';
|
|
@@ -21,6 +21,10 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
21
21
|
private dependencies;
|
|
22
22
|
protected transaction: TransactionCache;
|
|
23
23
|
private validator?;
|
|
24
|
+
/**
|
|
25
|
+
* @warning
|
|
26
|
+
* Can contain both local and non-local {@link ItemEntry itemEntries}
|
|
27
|
+
*/
|
|
24
28
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
25
29
|
itemChanges: {
|
|
26
30
|
[itemEntryId: number]: TransactionItemEntryChanges;
|
|
@@ -60,20 +64,21 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
60
64
|
* @param updateInitial Should be `true` if called by applyChangesFromParent
|
|
61
65
|
* @param isCalledAfterSocketUpdate Indicates that the change is done by a different user
|
|
62
66
|
* @param createItemChangesIfNoneExist Is `true` when called from `applyChangesDelta`, we can assume that when you call `applyChangesDelta` with updates that aren't on the transaction yet you want to add those
|
|
67
|
+
* @param changesDelta Will be used to check which items should/shouldn't be updated when updating local ID references
|
|
63
68
|
*
|
|
64
69
|
* @returns
|
|
65
70
|
* The previous changes {@link FieldMap FieldMap}, returns `null` when the item was not cached or no fields were changed.
|
|
66
71
|
*/
|
|
67
|
-
processItemEntryChanges<ItemTypeType extends ApiEnumItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean, createItemChangesIfNoneExist?: boolean): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
72
|
+
processItemEntryChanges<ItemTypeType extends ApiEnumItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean, createItemChangesIfNoneExist?: boolean, changesDelta?: InternalChangesDelta): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
68
73
|
cloneItemEntries<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId[];
|
|
69
74
|
cloneItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId;
|
|
70
75
|
fetchItemEntriesByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
71
|
-
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
76
|
+
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, isRoot?: boolean): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
72
77
|
/**
|
|
73
78
|
* @description
|
|
74
79
|
* Fetches a template and creates a new {@link ItemEntry ItemEntry}, will error if the ItemEntry with the given ItemId already exists
|
|
75
80
|
*/
|
|
76
|
-
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ChangesDeltaResult>;
|
|
81
|
+
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, isRoot?: boolean): PromiseInterface<ChangesDeltaResult>;
|
|
77
82
|
fetchItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
78
83
|
fetchTitle(itemType: ApiEnumItemType, itemId: ItemId): PromiseInterface<string>;
|
|
79
84
|
resolveLocalItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import { ApiRequestService, ChangesProcessor,
|
|
1
|
+
import { ApiRequestService, ChangesProcessor, ItemEntryService, OnAfterCreateCallback } from '../classes';
|
|
2
2
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
3
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
4
|
import { ChangesCompilationFactory } from './ChangesCompilationFactory';
|
|
5
5
|
import { ChangesDeltaFactory } from './ChangesDeltaFactory';
|
|
6
|
-
import { ColumnExpansionFactory } from './ColumnExpansionFactory';
|
|
7
6
|
import { CreateRequestFactory } from './CreateRequestFactory';
|
|
8
7
|
import { RequestColumnExpansionFactory } from './RequestColumnExpansionFactory';
|
|
9
8
|
export declare class ChangesProcessorFactory {
|
|
10
9
|
private changesDeltaFactory;
|
|
11
10
|
private apiRequestService;
|
|
12
11
|
private changesCompilationFactory;
|
|
13
|
-
private columnExpansionFactory;
|
|
14
12
|
private createRequestFactory;
|
|
15
13
|
private errorHandler;
|
|
16
14
|
private promiseService;
|
|
17
15
|
private requestColumnExpansionFactory;
|
|
18
|
-
private collectionEntryService;
|
|
19
16
|
private itemEntryService;
|
|
20
|
-
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory,
|
|
17
|
+
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemEntryService: ItemEntryService);
|
|
21
18
|
construct(transaction: TransactionCache, breakUpByParent?: boolean, onAfterCreateCallback?: OnAfterCreateCallback): ChangesProcessor;
|
|
22
19
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiFormatter, ColumnHandler, ColumnUtil, ConversionMapService, ItemCreateService, ItemEntryService, KeyService } from '../classes';
|
|
1
|
+
import { ApiFormatter, CollectionEntryService, ColumnHandler, ColumnUtil, ConversionMapService, ItemCreateService, ItemEntryService, KeyService } from '../classes';
|
|
2
2
|
import { TemplateCache } from '../classes/TemplateCache';
|
|
3
3
|
import { ChangesDeltaFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../factories';
|
|
4
4
|
import { ErrorHandlerInterface } from './ErrorHandlerInterface';
|
|
@@ -23,4 +23,5 @@ export interface TransactionItemHandlerDependencyInterface {
|
|
|
23
23
|
promiseService: PromiseLibraryInterface;
|
|
24
24
|
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
25
25
|
templateCache: TemplateCache;
|
|
26
|
+
collectionEntryService: CollectionEntryService;
|
|
26
27
|
}
|
|
@@ -211,7 +211,7 @@ export declare type CollectionQuery = {
|
|
|
211
211
|
object: BackendApiQuery;
|
|
212
212
|
string: string;
|
|
213
213
|
};
|
|
214
|
-
export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any> = ParentIdMap<CollectionResource<ItemTypeType>>;
|
|
214
|
+
export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> = ParentIdMap<CollectionResource<ItemTypeType, ColumnIds>>;
|
|
215
215
|
export declare type ResponseColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> = {
|
|
216
216
|
[ColumnId in ColumnIds[number]]: GetColumnType<ItemTypeType, ColumnId>;
|
|
217
217
|
};
|