@rentman/rm-core 2.1.1 → 2.2.0
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 +7 -0
- package/dist/rm-core.js +255 -238
- package/dist/rm-core.min.js +1 -1
- package/dist/src/classes/ChangesDelta.d.ts +27 -7
- package/dist/src/classes/ItemCreateService.d.ts +28 -0
- package/dist/src/classes/RequestBufferManager.d.ts +2 -10
- package/dist/src/classes/TemplateCache.d.ts +6 -3
- package/dist/src/classes/cache/AbstractCache.d.ts +3 -1
- package/dist/src/classes/cache/server/ServerCache.d.ts +2 -1
- package/dist/src/classes/cache/transaction/TransactionCache.d.ts +2 -1
- package/dist/src/classes/cache/transaction/TransactionItemHandler.d.ts +7 -14
- package/dist/src/classes/index.d.ts +1 -0
- package/dist/src/core.d.ts +2 -0
- package/dist/src/factories/ChangesDeltaFactory.d.ts +3 -1
- package/dist/src/factories/CollectionResourceFactory.d.ts +3 -2
- package/dist/src/factories/TransactionCacheFactory.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ItemEntry } from '../models';
|
|
2
|
-
import { EntryParent, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
|
|
2
|
+
import { EntryParent, EntryParentNull, FieldMap, ItemId, ItemType, PromiseInterface } from '../types';
|
|
3
3
|
import { ChangesDeltaBase } from './ChangesDeltaBase';
|
|
4
4
|
import { ColumnSet } from './ColumnSet';
|
|
5
|
+
import { ItemCreateService } from './ItemCreateService';
|
|
5
6
|
import { ItemEntryService } from './ItemEntryService';
|
|
6
7
|
export declare type ChangesDeltaItemCreateDelta<ItemTypeType extends ItemType = any> = {
|
|
7
8
|
itemId: ItemId;
|
|
@@ -20,20 +21,39 @@ export declare type ChangesDeltaItemCreateDelta<ItemTypeType extends ItemType =
|
|
|
20
21
|
* Use this when calling {@link TransactionCache.applyChangesDelta applyChangesDelta}
|
|
21
22
|
*/
|
|
22
23
|
export declare class ChangesDelta extends ChangesDeltaBase {
|
|
24
|
+
private itemCreateService;
|
|
23
25
|
created: ChangesDeltaItemCreateDelta[];
|
|
24
|
-
constructor(itemEntryService: ItemEntryService);
|
|
26
|
+
constructor(itemCreateService: ItemCreateService, itemEntryService: ItemEntryService);
|
|
27
|
+
/**
|
|
28
|
+
* @description
|
|
29
|
+
* Fetches a template for the passed itemType and processes the passed values and sets the item to be created when the delta is applied
|
|
30
|
+
*
|
|
31
|
+
* @remark
|
|
32
|
+
* - If the values don't contain an `id` a new one will be generated
|
|
33
|
+
* - If you want to set a parent set the proper field, you can't pass it as a separate object
|
|
34
|
+
*/
|
|
35
|
+
setItemCreated<ItemTypeType extends ItemType>(itemType: ItemTypeType, values: FieldMap<ItemTypeType>): PromiseInterface<void>;
|
|
36
|
+
/**
|
|
37
|
+
* @description
|
|
38
|
+
* Fetches a template for the passed itemType and processes the passed values and sets the items to be created when the delta is applied
|
|
39
|
+
*
|
|
40
|
+
* @remark
|
|
41
|
+
* - If the values don't contain an `id` a new one will be generated
|
|
42
|
+
* - If you want to set a parent set the proper field, you can't pass it as a separate object
|
|
43
|
+
*/
|
|
44
|
+
setItemsCreated<ItemTypeType extends ItemType>(itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<void>;
|
|
25
45
|
/**
|
|
26
46
|
* @description
|
|
27
47
|
* Will create an {@link ItemEntry ItemEntry} when the delta is applied
|
|
28
48
|
* Does not always mean the item is local, just that it isn't cached yet
|
|
29
49
|
*
|
|
30
|
-
* ------
|
|
31
|
-
*
|
|
32
50
|
* @remark
|
|
33
|
-
*
|
|
34
|
-
*
|
|
51
|
+
* If you're calling this from the frontend you probably want to call `setItemCreated`, which will fetch a template and process the values for you
|
|
52
|
+
* If you don't, you have to make sure the values are all correct and all template items are processed
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
35
55
|
*/
|
|
36
|
-
|
|
56
|
+
_setItemCreated<ItemTypeType extends ItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): void;
|
|
37
57
|
/**
|
|
38
58
|
* @description
|
|
39
59
|
* Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ColumnSetFactory } from '../factories';
|
|
2
|
+
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
3
|
+
import { Template } from '../models';
|
|
4
|
+
import { EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ModifyFieldsCallback, PromiseInterface } from '../types';
|
|
5
|
+
import { ApiFormatter } from './ApiFormatter';
|
|
6
|
+
import { ChangesDelta } from './ChangesDelta';
|
|
7
|
+
import { ColumnInfo } from './ColumnInfo';
|
|
8
|
+
import { ItemEntryService } from './ItemEntryService';
|
|
9
|
+
import { KeyService } from './KeyService';
|
|
10
|
+
import { TemplateCache } from './TemplateCache';
|
|
11
|
+
export declare class ItemCreateService {
|
|
12
|
+
private keyService;
|
|
13
|
+
private templateCache;
|
|
14
|
+
private promiseService;
|
|
15
|
+
private errorHandler;
|
|
16
|
+
private itemEntryService;
|
|
17
|
+
private apiFormatter;
|
|
18
|
+
private columnSetFactory;
|
|
19
|
+
constructor(keyService: KeyService, templateCache: TemplateCache, promiseService: PromiseLibraryInterface, errorHandler: ErrorHandlerInterface, itemEntryService: ItemEntryService, apiFormatter: ApiFormatter, columnSetFactory: ColumnSetFactory);
|
|
20
|
+
/**
|
|
21
|
+
* @description
|
|
22
|
+
* Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
|
|
23
|
+
*/
|
|
24
|
+
createItemsFromValues<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>, parent?: EntryParentNull): PromiseInterface<void>;
|
|
25
|
+
processTemplate<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
26
|
+
processTemplateLinkItems<ParentItemType extends ItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
27
|
+
updateItemValues<ItemTypeType extends ItemType>(changes: FieldMap<ItemTypeType>, parent: EntryParentNull, itemColumns: Array<ColumnInfo<ItemTypeType>>, conversionMap: ItemIdConversionMap): FieldMap<ItemTypeType>;
|
|
28
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ChangesDeltaFactory, RequestColumnExpansionFactory } from '../factories';
|
|
2
|
-
import {
|
|
2
|
+
import { PromiseLibraryInterface } from '../interfaces';
|
|
3
3
|
import { ApiRequestColumns, ItemId, ItemType, PromiseInterface } from '../types';
|
|
4
4
|
import { ApiRequestService } from './ApiRequestService';
|
|
5
|
-
import { ApiResponseProcessor } from './ApiResponseProcessor';
|
|
6
5
|
import { ServerCache } from './cache/server/ServerCache';
|
|
7
6
|
import { KeyService } from './KeyService';
|
|
8
7
|
import { RequestBufferResponse } from './RequestBuffer';
|
|
@@ -11,22 +10,15 @@ export declare class RequestBufferManager {
|
|
|
11
10
|
private apiRequestService;
|
|
12
11
|
private requestColumnExpansionFactory;
|
|
13
12
|
private keyService;
|
|
14
|
-
private errorHandler;
|
|
15
13
|
private changesDeltaFactory;
|
|
16
14
|
private pendingBufferMap;
|
|
17
15
|
private pendingTrueBufferMap;
|
|
18
|
-
private pendingQueryBufferMap;
|
|
19
|
-
private pendingTemplateBufferMap;
|
|
20
16
|
private serverCache;
|
|
21
|
-
constructor(promiseLibrary: PromiseLibraryInterface, apiRequestService: ApiRequestService, requestColumnExpansionFactory: RequestColumnExpansionFactory, keyService: KeyService,
|
|
17
|
+
constructor(promiseLibrary: PromiseLibraryInterface, apiRequestService: ApiRequestService, requestColumnExpansionFactory: RequestColumnExpansionFactory, keyService: KeyService, changesDeltaFactory: ChangesDeltaFactory);
|
|
22
18
|
setServerCache(serverCache: ServerCache): void;
|
|
23
|
-
containsId(itemType: ItemType, itemId: ItemId): boolean;
|
|
24
|
-
containsQuery(itemType: ItemType, queryString: string): boolean;
|
|
25
19
|
fetchByIds(itemType: ItemType, itemIds: ItemId[], requestColumns: ApiRequestColumns): PromiseInterface<RequestBufferResponse>;
|
|
26
20
|
fetchById(itemType: ItemType, itemId: ItemId, requestColumns: ApiRequestColumns): PromiseInterface<RequestBufferResponse>;
|
|
27
21
|
fetchByQuery(itemType: ItemType, query: [object, string], // queryParser result
|
|
28
22
|
requestColumns: ApiRequestColumns): PromiseInterface<RequestBufferResponse>;
|
|
29
|
-
fetchByLocalId(itemType: ItemType, itemId?: ItemId | string, templateOptions?: any): PromiseInterface<ApiResponseProcessor>;
|
|
30
23
|
private constructBuffer;
|
|
31
|
-
private constructTemplateBuffer;
|
|
32
24
|
}
|
|
@@ -2,21 +2,22 @@ import { RequestColumnExpansionFactory, TemplateFactory } from '../factories';
|
|
|
2
2
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
3
3
|
import { Template } from '../models';
|
|
4
4
|
import { EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
|
|
5
|
+
import { ApiRequestService } from './ApiRequestService';
|
|
5
6
|
import { ColumnHandler } from './ColumnHandler';
|
|
6
7
|
import { ColumnUtil } from './ColumnUtil';
|
|
7
|
-
import { RequestBufferManager } from './RequestBufferManager';
|
|
8
8
|
export declare class TemplateCache {
|
|
9
9
|
private columnUtil;
|
|
10
10
|
private promiseService;
|
|
11
|
-
private requestBufferFactory;
|
|
12
11
|
private columnHandler;
|
|
13
12
|
private templateFactory;
|
|
14
13
|
private errorHandler;
|
|
15
14
|
private requestColumnExpansionFactory;
|
|
15
|
+
private apiRequestService;
|
|
16
|
+
private pendingTemplateBufferMap;
|
|
16
17
|
templates: {
|
|
17
18
|
[itemType: string]: Template<any>;
|
|
18
19
|
};
|
|
19
|
-
constructor(columnUtil: ColumnUtil, promiseService: PromiseLibraryInterface,
|
|
20
|
+
constructor(columnUtil: ColumnUtil, promiseService: PromiseLibraryInterface, columnHandler: ColumnHandler, templateFactory: TemplateFactory, errorHandler: ErrorHandlerInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, apiRequestService: ApiRequestService);
|
|
20
21
|
/**
|
|
21
22
|
* @description
|
|
22
23
|
* Fetches a {@link Template template}, {@link TransactionItemHandler.createItems TransactionItemHandler.createItems} is a convenience function for this
|
|
@@ -60,4 +61,6 @@ export declare class TemplateCache {
|
|
|
60
61
|
* ```
|
|
61
62
|
*/
|
|
62
63
|
fetchTemplate<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId?: ItemId, templateOptions?: any, templateColumns?: any, entryParentOrParentItemType?: EntryParentNull | ItemType): PromiseInterface<Template<ItemTypeType>>;
|
|
64
|
+
private fetchTemplateById;
|
|
65
|
+
private constructTemplateBuffer;
|
|
63
66
|
}
|
|
@@ -17,6 +17,7 @@ import { ColumnHandler } from '../ColumnHandler';
|
|
|
17
17
|
import { ColumnUtil } from '../ColumnUtil';
|
|
18
18
|
import { InternalChangesDelta } from '../InternalChangesDelta';
|
|
19
19
|
import { ItemCache } from '../ItemCache';
|
|
20
|
+
import { ItemCreateService } from '../ItemCreateService';
|
|
20
21
|
import { ItemEntryService } from '../ItemEntryService';
|
|
21
22
|
import { KeyService } from '../KeyService';
|
|
22
23
|
import { LockService } from '../LockService';
|
|
@@ -64,11 +65,12 @@ export declare abstract class AbstractCache {
|
|
|
64
65
|
protected queryService: QueryService;
|
|
65
66
|
protected apiFormatter: ApiFormatter;
|
|
66
67
|
protected linkTreeService: LinkTreeServiceInterface;
|
|
68
|
+
protected changesDeltaService: ItemCreateService;
|
|
67
69
|
children: TransactionCache[];
|
|
68
70
|
readonly itemHandler: TransactionItemHandler | ServerItemHandler;
|
|
69
71
|
readonly collectionHandler: TransactionCollectionHandler | ServerCollectionHandler;
|
|
70
72
|
parent: AbstractCache | null;
|
|
71
|
-
protected constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface);
|
|
73
|
+
protected constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface, changesDeltaService: ItemCreateService);
|
|
72
74
|
createChild(id?: string, validatorFactory?: TransactionValidatorFactory): TransactionCache;
|
|
73
75
|
onChildDestroy(cache: TransactionCache): void;
|
|
74
76
|
abstract getLocalCollectionEntryByQueryString(itemType: ItemType, queryString: string): CollectionEntry | undefined;
|
|
@@ -17,6 +17,7 @@ import { ColumnCache } from '../../ColumnCache';
|
|
|
17
17
|
import { ColumnHandler } from '../../ColumnHandler';
|
|
18
18
|
import { ColumnUtil } from '../../ColumnUtil';
|
|
19
19
|
import { InternalChangesDelta } from '../../InternalChangesDelta';
|
|
20
|
+
import { ItemCreateService } from '../../ItemCreateService';
|
|
20
21
|
import { ItemEntryService } from '../../ItemEntryService';
|
|
21
22
|
import { KeyService } from '../../KeyService';
|
|
22
23
|
import { LockService } from '../../LockService';
|
|
@@ -39,7 +40,7 @@ export declare class ServerCache extends AbstractCache {
|
|
|
39
40
|
readonly itemHandler: ServerItemHandler;
|
|
40
41
|
readonly collectionHandler: ServerCollectionHandler;
|
|
41
42
|
parent: null;
|
|
42
|
-
constructor(changesProcessorFactory: ChangesProcessorFactory, core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface);
|
|
43
|
+
constructor(changesProcessorFactory: ChangesProcessorFactory, core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface, changesDeltaService: ItemCreateService);
|
|
43
44
|
getServerCache(): ServerCache;
|
|
44
45
|
processResponse(response: ApiResponseProcessor, requestColumnMap: ApiRequestColumnMap, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean, changesDelta?: ChangesDelta): PromiseInterface<ChangesDeltaResult>;
|
|
45
46
|
/**
|
|
@@ -12,6 +12,7 @@ import { ColumnHandler } from '../../ColumnHandler';
|
|
|
12
12
|
import { ColumnUtil } from '../../ColumnUtil';
|
|
13
13
|
import { ApiFormatter, ApiRequestService, ColumnCache, LockService, ModuleChangesCompilationResult, OnAfterCreateCallback, RequestBufferManager, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCollectionHandler, TransactionItemEntryChanges, TransactionItemHandler, TransactionValidatorFactory } from '../../index';
|
|
14
14
|
import { InternalChangesDelta } from '../../InternalChangesDelta';
|
|
15
|
+
import { ItemCreateService } from '../../ItemCreateService';
|
|
15
16
|
import { ItemEntryService } from '../../ItemEntryService';
|
|
16
17
|
import { KeyService } from '../../KeyService';
|
|
17
18
|
import { QueryService } from '../../QueryService';
|
|
@@ -96,7 +97,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
96
97
|
private readonly eventHandler;
|
|
97
98
|
private changesInterval;
|
|
98
99
|
private validator?;
|
|
99
|
-
constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface, parent: AbstractCache,
|
|
100
|
+
constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface, changesDeltaService: ItemCreateService, parent: AbstractCache,
|
|
100
101
|
/**
|
|
101
102
|
* @description
|
|
102
103
|
* For debugging purposes
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ChangesDeltaFactory, ColumnExpansionFactory,
|
|
1
|
+
import { ChangesDeltaFactory, ColumnExpansionFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../../../factories';
|
|
2
2
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../../../interfaces';
|
|
3
|
-
import { ItemEntry, ItemEntryOptions, ItemResource
|
|
4
|
-
import { ApiQuery, ApiRequestColumns,
|
|
3
|
+
import { ItemEntry, ItemEntryOptions, ItemResource } from '../../../models';
|
|
4
|
+
import { ApiQuery, ApiRequestColumns, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
5
5
|
import { ChangesDelta, ChangesDeltaItemCreateDelta } from '../../ChangesDelta';
|
|
6
6
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
7
|
-
import { ApiFormatter, ColumnHandler,
|
|
7
|
+
import { ApiFormatter, ColumnHandler, ColumnSubsetCache, ColumnUtil, ItemEntryService, KeyService } from '../../index';
|
|
8
|
+
import { ItemCreateService } from '../../ItemCreateService';
|
|
8
9
|
import { TemplateCache } from '../../TemplateCache';
|
|
9
10
|
import { ItemHandlerBase } from '../ItemHandlerBase';
|
|
10
11
|
import { TransactionCache } from './TransactionCache';
|
|
@@ -24,10 +25,10 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
24
25
|
private templateCache;
|
|
25
26
|
private columnExpansionFactory;
|
|
26
27
|
private columnHandler;
|
|
27
|
-
private columnSetFactory;
|
|
28
28
|
private columnSubsetCacheFactory;
|
|
29
29
|
private itemEntryService;
|
|
30
30
|
private keyService;
|
|
31
|
+
private changesDeltaService;
|
|
31
32
|
protected transaction: TransactionCache;
|
|
32
33
|
private validator?;
|
|
33
34
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
@@ -37,7 +38,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
37
38
|
itemResources: {
|
|
38
39
|
[itemEntryId: number]: ItemResource[];
|
|
39
40
|
};
|
|
40
|
-
constructor(changesDeltaFactory: ChangesDeltaFactory, exceptionHandler: ExceptionHandlerInterface, templateCache: TemplateCache, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler,
|
|
41
|
+
constructor(changesDeltaFactory: ChangesDeltaFactory, exceptionHandler: ExceptionHandlerInterface, templateCache: TemplateCache, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, itemEntryService: ItemEntryService, keyService: KeyService, changesDeltaService: ItemCreateService, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, transaction: TransactionCache, validator?: TransactionValidator | undefined);
|
|
41
42
|
copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges, entry: ItemEntry): TransactionItemEntryChanges;
|
|
42
43
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
43
44
|
/**
|
|
@@ -45,11 +46,6 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
45
46
|
* Gets the local {@link FieldMap changes} of the {@link ItemEntry entry} on the {@link TransactionCache transaction} in a formatted way the API accepts
|
|
46
47
|
*/
|
|
47
48
|
formatRequest<ItemEntryType extends ItemEntry>(entry: ItemEntryType): FieldMap<ItemEntryType['itemType']>;
|
|
48
|
-
/**
|
|
49
|
-
* @description
|
|
50
|
-
* Fetches a new {@link Template template} and creates new {@link ItemEntry itemEntries} with the passed values
|
|
51
|
-
*/
|
|
52
|
-
createItems<ItemTypeType extends ItemType>(itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>, parent: EntryParentNull): PromiseInterface<ChangesDeltaResult>;
|
|
53
49
|
clearItemEntry(entry: ItemEntry): void;
|
|
54
50
|
/**
|
|
55
51
|
* @description
|
|
@@ -98,9 +94,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
98
94
|
fetchItemEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
99
95
|
fetchTitle(itemType: ItemType, itemId: ItemId): PromiseInterface<string>;
|
|
100
96
|
resolveLocalItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
101
|
-
createLocalEntries(changesDelta: ChangesDelta, parentType: ItemType, localParentId: ItemId, template: Template<ItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
102
97
|
expandLocalItemEntries<ItemTypeType extends ItemType>(changesDelta: ChangesDeltaBase, itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
103
|
-
updateItemValues<ItemTypeType extends ItemType>(changes: FieldMap<ItemTypeType>, parent: EntryParentNull, itemColumns: Array<ColumnInfo<ItemTypeType>>, conversionMap: ItemIdConversionMap): FieldMap<ItemTypeType>;
|
|
104
98
|
/**
|
|
105
99
|
* @description
|
|
106
100
|
* Fetches the data for the passed ItemType/ItemId/columns, is able to fetchCollectionEntry non-local derived values.
|
|
@@ -111,7 +105,6 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
111
105
|
fetchLocalItemEntryData<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<any>;
|
|
112
106
|
fetchLocalItemEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
113
107
|
private getColumnDifference;
|
|
114
|
-
private resolveLocal;
|
|
115
108
|
private expandLocalItemEntry;
|
|
116
109
|
private getLocalValues;
|
|
117
110
|
}
|
package/dist/src/core.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ApiFormatter, ApiRequestService, CollectionEntryService, CollectionResourceService, ColumnCache, ColumnHandler, ColumnUtil, ItemEntryService, KeyService, LockService, QueryService, SocketMessageHandler } from './classes';
|
|
2
|
+
import { ItemCreateService } from './classes/ItemCreateService';
|
|
2
3
|
import { TemplateCache } from './classes/TemplateCache';
|
|
3
4
|
import { ApiResponseProcessorFactory, ChangesCompilationFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, CollectionResourceFactory, ColumnExpansionFactory, ColumnInfoFactory, ColumnSetFactory, ColumnSubsetCacheFactory, CreateRequestFactory, ItemCacheFactory, ItemEntryFactory, ItemResourceFactory, ModuleChangesCompilationFactory, QueryMatcherFactory, QueryParserFactory, RequestColumnExpansionFactory, TemplateFactory, TransactionCacheFactory } from './factories';
|
|
4
5
|
import { ChangesDeltaFactory } from './factories/ChangesDeltaFactory';
|
|
@@ -28,6 +29,7 @@ export declare class RmCore {
|
|
|
28
29
|
columnUtil: ColumnUtil;
|
|
29
30
|
createRequestFactory: CreateRequestFactory;
|
|
30
31
|
itemCacheFactory: ItemCacheFactory;
|
|
32
|
+
itemCreateService: ItemCreateService;
|
|
31
33
|
itemEntryFactory: ItemEntryFactory;
|
|
32
34
|
itemEntryService: ItemEntryService;
|
|
33
35
|
itemResourceFactory: ItemResourceFactory;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ItemEntryService } from '../classes';
|
|
2
2
|
import { ChangesDelta } from '../classes/ChangesDelta';
|
|
3
3
|
import { InternalChangesDelta } from '../classes/InternalChangesDelta';
|
|
4
|
+
import { ItemCreateService } from '../classes/ItemCreateService';
|
|
4
5
|
export declare class ChangesDeltaFactory {
|
|
5
6
|
private itemEntryService;
|
|
6
|
-
|
|
7
|
+
private itemCreateService;
|
|
8
|
+
constructor(itemEntryService: ItemEntryService, itemCreateService: ItemCreateService);
|
|
7
9
|
construct(): ChangesDelta;
|
|
8
10
|
constructInternalDelta(): InternalChangesDelta;
|
|
9
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyService } from '../classes';
|
|
1
|
+
import { ItemEntryService, KeyService } from '../classes';
|
|
2
2
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
3
|
import { ItemResourceFactory } from '../factories';
|
|
4
4
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
@@ -12,7 +12,8 @@ export declare class CollectionResourceFactory {
|
|
|
12
12
|
keyService: KeyService;
|
|
13
13
|
promiseService: PromiseLibraryInterface;
|
|
14
14
|
changesDeltaFactory: ChangesDeltaFactory;
|
|
15
|
-
|
|
15
|
+
itemEntryService: ItemEntryService;
|
|
16
|
+
constructor(errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, itemResourceFactory: ItemResourceFactory, keyService: KeyService, promiseService: PromiseLibraryInterface, changesDeltaFactory: ChangesDeltaFactory, itemEntryService: ItemEntryService);
|
|
16
17
|
construct<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, options: CollectionResourceOptionsInterface<ItemTypeType> & {
|
|
17
18
|
editItems: true;
|
|
18
19
|
editCollection: true;
|
|
@@ -2,6 +2,7 @@ import { ApiFormatter, ApiRequestService, CollectionEntryService, ColumnCache, C
|
|
|
2
2
|
import { ServerCache } from '../classes/cache/server/ServerCache';
|
|
3
3
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
4
4
|
import { TransactionValidatorFactory } from '../classes/cache/transaction/TransactionValidator';
|
|
5
|
+
import { ItemCreateService } from '../classes/ItemCreateService';
|
|
5
6
|
import { RequestBufferManager } from '../classes/RequestBufferManager';
|
|
6
7
|
import { TemplateCache } from '../classes/TemplateCache';
|
|
7
8
|
import { RmCore } from '../core';
|
|
@@ -45,8 +46,9 @@ export declare class TransactionCacheFactory {
|
|
|
45
46
|
private queryParserFactory;
|
|
46
47
|
private queryService;
|
|
47
48
|
private linkTreeService;
|
|
49
|
+
private changesDeltaService;
|
|
48
50
|
private readonly serverCache;
|
|
49
|
-
constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, changesProcessorFactory: ChangesProcessorFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface);
|
|
51
|
+
constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, changesProcessorFactory: ChangesProcessorFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface, changesDeltaService: ItemCreateService);
|
|
50
52
|
/**
|
|
51
53
|
* Todo[cache] Store a map of all transactions by transaction id ?
|
|
52
54
|
*/
|