@rentman/rm-core 9.2.2 → 9.2.4

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.
Files changed (106) hide show
  1. package/changelog.md +1345 -1008
  2. package/dist/rm-core.js +987 -929
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/types/classes/ApiFormatter.d.ts +73 -73
  5. package/dist/types/classes/ApiRequestService.d.ts +18 -18
  6. package/dist/types/classes/ApiResponseProcessor.d.ts +29 -29
  7. package/dist/types/classes/CacheSyncer.d.ts +44 -44
  8. package/dist/types/classes/ChangesCompilation.d.ts +33 -33
  9. package/dist/types/classes/ChangesDelta.d.ts +61 -61
  10. package/dist/types/classes/ChangesDeltaBase.d.ts +78 -78
  11. package/dist/types/classes/ChangesProcessor.d.ts +40 -40
  12. package/dist/types/classes/CollectionEntryService.d.ts +24 -24
  13. package/dist/types/classes/CollectionResourceService.d.ts +6 -6
  14. package/dist/types/classes/ColumnCache.d.ts +19 -19
  15. package/dist/types/classes/ColumnExpansion.d.ts +19 -19
  16. package/dist/types/classes/ColumnHandler.d.ts +20 -20
  17. package/dist/types/classes/ColumnInfo.d.ts +15 -15
  18. package/dist/types/classes/ColumnSet.d.ts +37 -37
  19. package/dist/types/classes/ColumnSubsetCache.d.ts +14 -14
  20. package/dist/types/classes/ColumnUtil.d.ts +108 -101
  21. package/dist/types/classes/ConversionMapService.d.ts +25 -25
  22. package/dist/types/classes/CreateRequest.d.ts +17 -17
  23. package/dist/types/classes/CreatedChangesDelta.d.ts +17 -17
  24. package/dist/types/classes/InternalChangesDelta.d.ts +43 -43
  25. package/dist/types/classes/ItemCache.d.ts +27 -27
  26. package/dist/types/classes/ItemCreateService.d.ts +18 -18
  27. package/dist/types/classes/ItemEntryService.d.ts +32 -32
  28. package/dist/types/classes/KeyService.d.ts +18 -18
  29. package/dist/types/classes/LockService.d.ts +29 -29
  30. package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -18
  31. package/dist/types/classes/ParentChangesDelta.d.ts +39 -39
  32. package/dist/types/classes/QueryColumnExtractor.d.ts +18 -18
  33. package/dist/types/classes/QueryContainsLocalIdParser.d.ts +17 -17
  34. package/dist/types/classes/QueryLinkedToParser.d.ts +17 -17
  35. package/dist/types/classes/QueryLocallyMatchableParser.d.ts +20 -20
  36. package/dist/types/classes/QueryMatcher.d.ts +24 -24
  37. package/dist/types/classes/QueryParser.d.ts +25 -25
  38. package/dist/types/classes/QueryParserBase.d.ts +20 -20
  39. package/dist/types/classes/QueryParserIdUpdater.d.ts +17 -17
  40. package/dist/types/classes/QueryService.d.ts +12 -12
  41. package/dist/types/classes/RequestBuffer.d.ts +24 -24
  42. package/dist/types/classes/RequestBufferManager.d.ts +32 -32
  43. package/dist/types/classes/RequestColumnExpansion.d.ts +15 -15
  44. package/dist/types/classes/SocketMessageHandler.d.ts +34 -34
  45. package/dist/types/classes/TemplateCache.d.ts +62 -62
  46. package/dist/types/classes/Util.d.ts +28 -28
  47. package/dist/types/classes/cache/AbstractCache.d.ts +85 -85
  48. package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +68 -68
  49. package/dist/types/classes/cache/ItemHandlerBase.d.ts +102 -102
  50. package/dist/types/classes/cache/server/ServerCache.d.ts +78 -78
  51. package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +25 -25
  52. package/dist/types/classes/cache/server/ServerItemHandler.d.ts +43 -43
  53. package/dist/types/classes/cache/transaction/TransactionCache.d.ts +318 -318
  54. package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +37 -37
  55. package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +24 -24
  56. package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +21 -21
  57. package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +90 -90
  58. package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +33 -33
  59. package/dist/types/constants.d.ts +7 -7
  60. package/dist/types/core.d.ts +45 -45
  61. package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
  62. package/dist/types/factories/CacheSyncerFactory.d.ts +10 -10
  63. package/dist/types/factories/ChangesCompilationFactory.d.ts +5 -5
  64. package/dist/types/factories/ChangesDeltaFactory.d.ts +13 -13
  65. package/dist/types/factories/ChangesProcessorFactory.d.ts +13 -13
  66. package/dist/types/factories/CollectionEntryFactory.d.ts +11 -11
  67. package/dist/types/factories/CollectionResourceFactory.d.ts +18 -18
  68. package/dist/types/factories/ColumnExpansionFactory.d.ts +7 -7
  69. package/dist/types/factories/ColumnInfoFactory.d.ts +7 -7
  70. package/dist/types/factories/ColumnSetFactory.d.ts +18 -18
  71. package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +8 -8
  72. package/dist/types/factories/CreateRequestFactory.d.ts +9 -9
  73. package/dist/types/factories/ItemCacheFactory.d.ts +6 -6
  74. package/dist/types/factories/ItemEntryFactory.d.ts +12 -12
  75. package/dist/types/factories/ItemResourceFactory.d.ts +11 -11
  76. package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +4 -4
  77. package/dist/types/factories/QueryMatcherFactory.d.ts +7 -7
  78. package/dist/types/factories/QueryParserFactory.d.ts +5 -5
  79. package/dist/types/factories/RequestColumnExpansionFactory.d.ts +8 -8
  80. package/dist/types/factories/TemplateFactory.d.ts +8 -8
  81. package/dist/types/factories/TransactionCacheFactory.d.ts +13 -13
  82. package/dist/types/index.d.ts +1 -1
  83. package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +36 -36
  84. package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +12 -12
  85. package/dist/types/interfaces/AuthInterface.d.ts +10 -10
  86. package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
  87. package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  88. package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  89. package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
  90. package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +5 -5
  91. package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
  92. package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +17 -17
  93. package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +22 -22
  94. package/dist/types/internal.d.ts +104 -104
  95. package/dist/types/models/CachedQueryItem.d.ts +19 -19
  96. package/dist/types/models/CollectionEntry.d.ts +21 -21
  97. package/dist/types/models/CollectionOptions.d.ts +44 -44
  98. package/dist/types/models/CollectionResource.d.ts +87 -87
  99. package/dist/types/models/ItemEntry.d.ts +18 -18
  100. package/dist/types/models/ItemEntryOptions.d.ts +8 -8
  101. package/dist/types/models/ItemResource.d.ts +90 -90
  102. package/dist/types/models/Template.d.ts +11 -11
  103. package/dist/types/types/ItemTypesCollection.d.ts +345 -345
  104. package/dist/types/types/PromiseInterface.d.ts +2 -2
  105. package/package.json +50 -50
  106. package/readme.md +15 -15
@@ -1,345 +1,345 @@
1
- import { ApiEnumApiType, ApiEnumApiTypeTsTypeMapping, ApiEnumItemType, ApiFields, ApiQuery as BackendApiQuery, ApiQueryConditionComparator as BackendTypesApiQueryConditionComparator, ApiQueryConditionComparatorShort as BackendApiQueryConditionComparatorShort, ApiQueryConditionCustom, ApiQueryConditionIn, ApiQueryConditionInShort, ApiQueryConditionLinkedTo, ApiQueryConditionSearch, ApiQueryConditionSubQuery, GetColumnType, ItemId } from '@rentman/backend-types';
2
- import moment from 'moment';
3
- import { ApiResponseProcessor, ChildCollectionResourcesNull, CollectionOptions, CollectionResource, ColumnSet, ItemEntry, ItemEntryOptionsInterface, ItemResource, RequestColumnExpansion } from '../internal';
4
- export declare type ApiEnumApiTypeToTsTypeMap = {
5
- [ApiEnumApiType.TYPE_TOKEN]: string;
6
- [ApiEnumApiType.TYPE_ID]: number;
7
- [ApiEnumApiType.TYPE_ORDER]: number;
8
- [ApiEnumApiType.TYPE_PARENTID]: number;
9
- [ApiEnumApiType.TYPE_PARENTTYPE]: ApiEnumItemType;
10
- [ApiEnumApiType.TYPE_ITEMID]: number;
11
- [ApiEnumApiType.TYPE_ITEMTYPE]: ApiEnumItemType;
12
- [ApiEnumApiType.TYPE_PASSWORD]: string;
13
- [ApiEnumApiType.TYPE_IP]: string;
14
- [ApiEnumApiType.TYPE_COORDINATE]: number;
15
- [ApiEnumApiType.TYPE_BLOB]: string;
16
- [ApiEnumApiType.TYPE_BITFLAG]: number;
17
- [ApiEnumApiType.TYPE_NUMBER]: number;
18
- [ApiEnumApiType.TYPE_VOLUME]: number;
19
- [ApiEnumApiType.TYPE_WEIGHT]: number;
20
- [ApiEnumApiType.TYPE_DISTANCE]: number;
21
- [ApiEnumApiType.TYPE_DIMENSION]: number;
22
- [ApiEnumApiType.TYPE_QUANTITY]: number;
23
- [ApiEnumApiType.TYPE_POWER]: number;
24
- [ApiEnumApiType.TYPE_CURRENT]: number;
25
- [ApiEnumApiType.TYPE_DOUBLE]: number;
26
- [ApiEnumApiType.TYPE_PRICE]: number;
27
- [ApiEnumApiType.TYPE_BOOL]: boolean;
28
- [ApiEnumApiType.TYPE_INT]: number;
29
- [ApiEnumApiType.TYPE_EMAIL]: string;
30
- [ApiEnumApiType.TYPE_PHONE]: string;
31
- [ApiEnumApiType.TYPE_URL]: string;
32
- [ApiEnumApiType.TYPE_PERCENTAGE]: number;
33
- [ApiEnumApiType.TYPE_TEXT]: string;
34
- [ApiEnumApiType.TYPE_LONGTEXT]: string;
35
- [ApiEnumApiType.TYPE_HTML]: string;
36
- [ApiEnumApiType.TYPE_DATE]: moment.Moment;
37
- [ApiEnumApiType.TYPE_DATETIME]: moment.Moment;
38
- [ApiEnumApiType.TYPE_DURATION]: moment.Duration;
39
- [ApiEnumApiType.TYPE_ITEM]: number;
40
- [ApiEnumApiType.TYPE_LINK]: number;
41
- [ApiEnumApiType.TYPE_CHILD]: number;
42
- [ApiEnumApiType.TYPE_SIBLING]: number;
43
- [ApiEnumApiType.TYPE_JSON]: any;
44
- [ApiEnumApiType.TYPE_ENUM]: string;
45
- [ApiEnumApiType.TYPE_COUNTRY]: string;
46
- [ApiEnumApiType.TYPE_COLOR]: string;
47
- [ApiEnumApiType.TYPE_TEXTREPLACE]: string;
48
- [ApiEnumApiType.TYPE_FILESIZE]: number;
49
- [ApiEnumApiType.TYPE_ICON]: string;
50
- };
51
- export declare type ParentIdMap<T> = {
52
- [parentId: number]: T;
53
- };
54
- export declare type EntryParent<ItemTypeType extends ApiEnumItemType = any> = {
55
- itemType: ItemTypeType;
56
- itemId: ItemId;
57
- };
58
- export declare type EntryParentNull<ItemTypeType extends ApiEnumItemType = any> = EntryParent<ItemTypeType> | null;
59
- export declare type ItemTypeColumnId<ItemTypeType extends ApiEnumItemType = any> = keyof ApiFields[ItemTypeType];
60
- export declare type ItemTypeColumnIds<ItemTypeType extends ApiEnumItemType = any> = ItemTypeColumnId<ItemTypeType>[];
61
- export declare type FieldMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
62
- [ColumnId in ColumnIds[number]]: GetFieldValueType<ItemTypeType, ColumnId>;
63
- };
64
- export declare type ExtractApiType<T> = T extends {
65
- type: any;
66
- } ? T['type'] : never;
67
- export declare type ExtractApiEnum<T> = T extends {
68
- enum: any;
69
- } ? T['enum'] : never;
70
- export declare type ExtractApiItemType<T> = T extends {
71
- itemType: any;
72
- } ? T['itemType'] : never;
73
- export declare type ExtractApiNullable<T> = T extends {
74
- nullable: any;
75
- } ? T['nullable'] : never;
76
- export declare type ExtractApiFieldType<T> = T extends {
77
- type: keyof ApiEnumApiTypeToTsTypeMap;
78
- } ? ApiEnumApiTypeToTsTypeMap[T['type']] : never;
79
- export declare type GetFieldValueType<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]> = ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_ENUM ? keyof ExtractApiEnum<ApiFields[ItemTypeType][ColumnId]> : GetNullableValueType<ItemTypeType, ColumnId>;
80
- declare type GetNullableValueType<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]> = ExtractApiNullable<ApiFields[ItemTypeType][ColumnId]> extends false ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DATETIME ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DATE ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DURATION ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : null | ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]>;
81
- export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
82
- export interface CollectionDefinition<ItemTypeType extends ApiEnumItemType = any> {
83
- itemType: ItemTypeType;
84
- options: CollectionOptions;
85
- }
86
- export interface LinkCollectionDefinition<ItemTypeType extends ApiEnumItemType = any> extends CollectionDefinition<ItemTypeType> {
87
- linkField: string;
88
- }
89
- export declare enum StateKeyType {
90
- New = "new",
91
- Duplicate = "duplicate"
92
- }
93
- export declare type StateKey = {
94
- type: StateKeyType;
95
- template?: string;
96
- itemId?: ItemId;
97
- };
98
- export declare type SocketMessageType = 'event' | 'notification';
99
- export interface SocketMessage {
100
- header: {
101
- domain: string;
102
- account: string;
103
- sender: {
104
- displayname: string;
105
- itemType: 'Medewerker';
106
- itemId: ItemId;
107
- authorized: boolean;
108
- session: string;
109
- };
110
- messageId: {
111
- Id: string;
112
- sequence: number;
113
- batch: number;
114
- request: number;
115
- };
116
- sent: string;
117
- forceEvaluate: boolean;
118
- };
119
- body: {
120
- itemType: ApiEnumItemType;
121
- eventType: string;
122
- } & {
123
- [key: string]: any;
124
- };
125
- messageType: SocketMessageType;
126
- }
127
- export interface SocketMessageCreate extends SocketMessage {
128
- body: {
129
- eventType: 'create';
130
- columns: ResponseColumnItemTypeMap;
131
- itemType: ApiEnumItemType;
132
- items: {
133
- [itemType: string]: {
134
- [itemId: number]: {
135
- parent: null | EntryParent;
136
- values: FieldMap;
137
- };
138
- };
139
- };
140
- };
141
- }
142
- export interface SocketMessageUpdate extends SocketMessage {
143
- body: {
144
- eventType: 'update';
145
- columns: ResponseColumnItemTypeMap;
146
- itemType: ApiEnumItemType;
147
- items: {
148
- [itemType: string]: {
149
- [itemId: number]: {
150
- parent: null | EntryParent;
151
- values: FieldMap;
152
- };
153
- };
154
- };
155
- };
156
- }
157
- export interface SocketMessageLinkTo extends SocketMessage {
158
- body: {
159
- eventType: 'linkto';
160
- columns: ResponseColumnItemTypeMap;
161
- itemType: ApiEnumItemType;
162
- items: {
163
- [itemType: string]: {
164
- [itemId: number]: {
165
- parent: null | EntryParent;
166
- values: FieldMap;
167
- };
168
- };
169
- };
170
- };
171
- }
172
- export interface SocketMessageDelete extends SocketMessage {
173
- body: {
174
- eventType: 'delete';
175
- itemType: ApiEnumItemType;
176
- items: ItemId[];
177
- };
178
- }
179
- export interface FunctionChangesResolveSocketMessage extends SocketMessage {
180
- body: {
181
- itemType: ApiEnumItemType.FunctionChangesResolve;
182
- eventType: 'update';
183
- } & {
184
- [key: string]: any;
185
- };
186
- }
187
- export declare type ItemResourcesItemTypeMap<T extends ItemResource = ItemResource> = {
188
- [itemType: string]: T[];
189
- };
190
- export declare type ItemMap<T> = {
191
- [itemType: string]: {
192
- [itemId: string]: T;
193
- };
194
- };
195
- export declare type ParentItemMap<T> = {
196
- [parentId: number]: {
197
- [itemType: string]: T;
198
- };
199
- };
200
- export declare type ItemEntryMap<ItemTypeType extends ApiEnumItemType = any> = ItemMap<ItemEntry<ItemTypeType>>;
201
- export declare type ItemEntryParentIdMap<ItemTypeType extends ApiEnumItemType> = ParentIdMap<ItemEntry<ItemTypeType>[]>;
202
- export declare type ConversionMap = {
203
- [itemId: number]: number;
204
- };
205
- export declare type ItemIdConversionMap = {
206
- [itemType: string]: ConversionMap;
207
- };
208
- export declare type CreateRequestParameterMap<T = any> = ItemMap<T>;
209
- export declare type ItemError = {
210
- message: string;
211
- };
212
- export declare type CollectionQuery = {
213
- object: BackendApiQuery;
214
- string: string;
215
- };
216
- export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any> = ParentIdMap<CollectionResource<ItemTypeType, ColumnIds>>;
217
- export declare type ResponseColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
218
- [ColumnId in ColumnIds[number]]: GetColumnType<ItemTypeType, ColumnId>;
219
- };
220
- export declare type ResponseColumnItemTypeMap = {
221
- [itemType: string]: ResponseColumnMap;
222
- };
223
- export declare type ColumnExpansionResult<ItemTypeType extends ApiEnumItemType = any> = {
224
- merged: ColumnSet<ItemTypeType>;
225
- difference: ColumnSet<ItemTypeType>;
226
- };
227
- export declare type RootColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
228
- [ColumnId in ColumnIds[number]]: {
229
- apiColumn: GetColumnType<ItemTypeType, ColumnId>;
230
- children: RootColumnMap;
231
- };
232
- };
233
- export declare type ApiResponse = ApiResponseProcessor;
234
- export declare type TemplateItemResourceMap<T extends ItemResource<any>> = {
235
- main: T;
236
- linked: ItemResourcesItemTypeMap;
237
- };
238
- export declare type ItemTypeMap<T = any> = {
239
- [itemType: string]: T;
240
- };
241
- export declare type ApiRequestItemValues = {
242
- values?: any;
243
- links?: {
244
- [itemType: string]: ItemId[];
245
- };
246
- };
247
- export declare type ApiRequestItemMap = {
248
- [itemType: string]: {
249
- [itemId: number]: ApiRequestItemValues;
250
- };
251
- };
252
- export declare type ApiRequestColumn = string | {
253
- [columnId: string]: ApiRequestColumn[];
254
- };
255
- export declare type ApiRequestColumns = ApiRequestColumn[] | true;
256
- export declare type ApiRequestColumnMap = {
257
- [itemType: string]: ApiRequestColumns;
258
- };
259
- export declare type ApiRequestLimit = {
260
- field: string;
261
- limit: number;
262
- order?: 'desc' | 'asc';
263
- };
264
- export declare type ApiRequestMoveItems = {
265
- [itemType: string]: ItemId[];
266
- };
267
- export declare type CreateRequestEntry<ItemTypeType extends ApiEnumItemType> = {
268
- request: {
269
- requestType: 'create';
270
- itemType?: ItemTypeType;
271
- parentType?: ApiEnumItemType;
272
- parentId?: {
273
- [itemId: string]: ItemId;
274
- };
275
- items: ApiRequestItemMap;
276
- columns: ApiRequestColumnMap;
277
- };
278
- columns: RequestColumnExpansion;
279
- items: ItemEntryMap<ItemTypeType>;
280
- };
281
- export declare enum ApiLinkTreeType {
282
- ITEMTABLE = "itemtable",
283
- DIRECT = "direct"
284
- }
285
- export declare type ApiLinkTreeEntryItemTable = {
286
- type: ApiLinkTreeType.ITEMTABLE;
287
- };
288
- export declare type ApiLinkTreeEntryDirect = {
289
- type: ApiLinkTreeType.DIRECT;
290
- field: string;
291
- };
292
- export declare type ApiLinkTreeEntry = ApiLinkTreeEntryItemTable | ApiLinkTreeEntryDirect;
293
- export declare type ApiLinkTree = {
294
- [itemType: string]: {
295
- [childType: string]: ApiLinkTreeEntry;
296
- };
297
- };
298
- /**
299
- * @description
300
- * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
301
- */
302
- export declare type FilterItemEntryCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>) => boolean;
303
- export declare type ModifyFieldsCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>, itemIdConversionMap?: ItemIdConversionMap) => void;
304
- /**
305
- * @description
306
- * Returns 'false' if the field changed
307
- */
308
- export declare type CompareFieldCallback<Fields extends FieldMap, T extends keyof Fields = string> = (field: T) => boolean;
309
- export declare type FieldChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
310
- itemEntry: ItemEntry<ItemTypeType>;
311
- compareField: CompareFieldCallback<ColumnIds>;
312
- fields: FieldMap<ItemTypeType, ColumnIds>;
313
- isCalledAfterSocketUpdate: boolean;
314
- previous: FieldMap<ItemTypeType, ColumnIds>;
315
- };
316
- export declare type FieldChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (args: FieldChangeCallbackArgs<ItemTypeType, ColumnIds>) => void;
317
- export declare type DeregFunction = () => void;
318
- export declare type OnChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallbackArgs<ItemTypeType, ColumnIds>;
319
- export declare type OnChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallback<ItemTypeType, ColumnIds>;
320
- export declare type OnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
321
- itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
322
- collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
323
- isInitialCall: boolean;
324
- isCalledAfterSocketUpdate: boolean;
325
- }) => void;
326
- export declare type OnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
327
- itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
328
- collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
329
- isCalledAfterSocketUpdate: boolean;
330
- }) => void;
331
- /** **********************************/
332
- export declare type ApiQueryConditionComparatorShort<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = BackendApiQueryConditionComparatorShort<ItemTypeType, ColumnId> & {
333
- [_T in ColumnId]: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
334
- };
335
- export interface ApiQueryConditionComparator<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = ItemTypeColumnId<ItemTypeType>> extends BackendTypesApiQueryConditionComparator {
336
- value: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
337
- }
338
- declare type ApiQueryCondition<ItemTypeType extends ApiEnumItemType, ColumnId extends ItemTypeColumnId<ItemTypeType>> = ApiQueryConditionComparatorShort<ItemTypeType, ColumnId> | ApiQueryConditionComparator<ItemTypeType, ColumnId> | ApiQueryConditionIn<ItemTypeType, ColumnId> | ApiQueryConditionInShort<ItemTypeType, ColumnId> | ApiQueryConditionLinkedTo | ApiQueryConditionSubQuery<ItemTypeType> | ApiQueryConditionSearch | ApiQueryConditionCustom;
339
- export declare type ApiQueryWithConditions<ItemTypeType extends ApiEnumItemType = any> = {
340
- operator?: 'and' | 'AND' | 'or' | 'OR';
341
- conditions: ApiQuery<ItemTypeType>[];
342
- not?: boolean;
343
- };
344
- export declare type ApiQuery<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = ApiQueryWithConditions<ItemTypeType> | ApiQueryCondition<ItemTypeType, ColumnId>;
345
- export {};
1
+ import { ApiEnumApiType, ApiEnumApiTypeTsTypeMapping, ApiEnumItemType, ApiFields, ApiQuery as BackendApiQuery, ApiQueryConditionComparator as BackendTypesApiQueryConditionComparator, ApiQueryConditionComparatorShort as BackendApiQueryConditionComparatorShort, ApiQueryConditionCustom, ApiQueryConditionIn, ApiQueryConditionInShort, ApiQueryConditionLinkedTo, ApiQueryConditionSearch, ApiQueryConditionSubQuery, GetColumnType, ItemId } from '@rentman/backend-types';
2
+ import moment from 'moment';
3
+ import { ApiResponseProcessor, ChildCollectionResourcesNull, CollectionOptions, CollectionResource, ColumnSet, ItemEntry, ItemEntryOptionsInterface, ItemResource, RequestColumnExpansion } from '../internal';
4
+ export declare type ApiEnumApiTypeToTsTypeMap = {
5
+ [ApiEnumApiType.TYPE_TOKEN]: string;
6
+ [ApiEnumApiType.TYPE_ID]: number;
7
+ [ApiEnumApiType.TYPE_ORDER]: number;
8
+ [ApiEnumApiType.TYPE_PARENTID]: number;
9
+ [ApiEnumApiType.TYPE_PARENTTYPE]: ApiEnumItemType;
10
+ [ApiEnumApiType.TYPE_ITEMID]: number;
11
+ [ApiEnumApiType.TYPE_ITEMTYPE]: ApiEnumItemType;
12
+ [ApiEnumApiType.TYPE_PASSWORD]: string;
13
+ [ApiEnumApiType.TYPE_IP]: string;
14
+ [ApiEnumApiType.TYPE_COORDINATE]: number;
15
+ [ApiEnumApiType.TYPE_BLOB]: string;
16
+ [ApiEnumApiType.TYPE_BITFLAG]: number;
17
+ [ApiEnumApiType.TYPE_NUMBER]: number;
18
+ [ApiEnumApiType.TYPE_VOLUME]: number;
19
+ [ApiEnumApiType.TYPE_WEIGHT]: number;
20
+ [ApiEnumApiType.TYPE_DISTANCE]: number;
21
+ [ApiEnumApiType.TYPE_DIMENSION]: number;
22
+ [ApiEnumApiType.TYPE_QUANTITY]: number;
23
+ [ApiEnumApiType.TYPE_POWER]: number;
24
+ [ApiEnumApiType.TYPE_CURRENT]: number;
25
+ [ApiEnumApiType.TYPE_DOUBLE]: number;
26
+ [ApiEnumApiType.TYPE_PRICE]: number;
27
+ [ApiEnumApiType.TYPE_BOOL]: boolean;
28
+ [ApiEnumApiType.TYPE_INT]: number;
29
+ [ApiEnumApiType.TYPE_EMAIL]: string;
30
+ [ApiEnumApiType.TYPE_PHONE]: string;
31
+ [ApiEnumApiType.TYPE_URL]: string;
32
+ [ApiEnumApiType.TYPE_PERCENTAGE]: number;
33
+ [ApiEnumApiType.TYPE_TEXT]: string;
34
+ [ApiEnumApiType.TYPE_LONGTEXT]: string;
35
+ [ApiEnumApiType.TYPE_HTML]: string;
36
+ [ApiEnumApiType.TYPE_DATE]: moment.Moment;
37
+ [ApiEnumApiType.TYPE_DATETIME]: moment.Moment;
38
+ [ApiEnumApiType.TYPE_DURATION]: moment.Duration;
39
+ [ApiEnumApiType.TYPE_ITEM]: number;
40
+ [ApiEnumApiType.TYPE_LINK]: number;
41
+ [ApiEnumApiType.TYPE_CHILD]: number;
42
+ [ApiEnumApiType.TYPE_SIBLING]: number;
43
+ [ApiEnumApiType.TYPE_JSON]: any;
44
+ [ApiEnumApiType.TYPE_ENUM]: string;
45
+ [ApiEnumApiType.TYPE_COUNTRY]: string;
46
+ [ApiEnumApiType.TYPE_COLOR]: string;
47
+ [ApiEnumApiType.TYPE_TEXTREPLACE]: string;
48
+ [ApiEnumApiType.TYPE_FILESIZE]: number;
49
+ [ApiEnumApiType.TYPE_ICON]: string;
50
+ };
51
+ export declare type ParentIdMap<T> = {
52
+ [parentId: number]: T;
53
+ };
54
+ export declare type EntryParent<ItemTypeType extends ApiEnumItemType = any> = {
55
+ itemType: ItemTypeType;
56
+ itemId: ItemId;
57
+ };
58
+ export declare type EntryParentNull<ItemTypeType extends ApiEnumItemType = any> = EntryParent<ItemTypeType> | null;
59
+ export declare type ItemTypeColumnId<ItemTypeType extends ApiEnumItemType = any> = keyof ApiFields[ItemTypeType];
60
+ export declare type ItemTypeColumnIds<ItemTypeType extends ApiEnumItemType = any> = ItemTypeColumnId<ItemTypeType>[];
61
+ export declare type FieldMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
62
+ [ColumnId in ColumnIds[number]]: GetFieldValueType<ItemTypeType, ColumnId>;
63
+ };
64
+ export declare type ExtractApiType<T> = T extends {
65
+ type: any;
66
+ } ? T['type'] : never;
67
+ export declare type ExtractApiEnum<T> = T extends {
68
+ enum: any;
69
+ } ? T['enum'] : never;
70
+ export declare type ExtractApiItemType<T> = T extends {
71
+ itemType: any;
72
+ } ? T['itemType'] : never;
73
+ export declare type ExtractApiNullable<T> = T extends {
74
+ nullable: any;
75
+ } ? T['nullable'] : never;
76
+ export declare type ExtractApiFieldType<T> = T extends {
77
+ type: keyof ApiEnumApiTypeToTsTypeMap;
78
+ } ? ApiEnumApiTypeToTsTypeMap[T['type']] : never;
79
+ export declare type GetFieldValueType<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]> = ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_ENUM ? keyof ExtractApiEnum<ApiFields[ItemTypeType][ColumnId]> : GetNullableValueType<ItemTypeType, ColumnId>;
80
+ declare type GetNullableValueType<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]> = ExtractApiNullable<ApiFields[ItemTypeType][ColumnId]> extends false ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DATETIME ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DATE ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : ExtractApiType<ApiFields[ItemTypeType][ColumnId]> extends ApiEnumApiType.TYPE_DURATION ? ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]> : null | ExtractApiFieldType<ApiFields[ItemTypeType][ColumnId]>;
81
+ export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
82
+ export interface CollectionDefinition<ItemTypeType extends ApiEnumItemType = any> {
83
+ itemType: ItemTypeType;
84
+ options: CollectionOptions;
85
+ }
86
+ export interface LinkCollectionDefinition<ItemTypeType extends ApiEnumItemType = any> extends CollectionDefinition<ItemTypeType> {
87
+ linkField: string;
88
+ }
89
+ export declare enum StateKeyType {
90
+ New = "new",
91
+ Duplicate = "duplicate"
92
+ }
93
+ export declare type StateKey = {
94
+ type: StateKeyType;
95
+ template?: string;
96
+ itemId?: ItemId;
97
+ };
98
+ export declare type SocketMessageType = 'event' | 'notification';
99
+ export interface SocketMessage {
100
+ header: {
101
+ domain: string;
102
+ account: string;
103
+ sender: {
104
+ displayname: string;
105
+ itemType: 'Medewerker';
106
+ itemId: ItemId;
107
+ authorized: boolean;
108
+ session: string;
109
+ };
110
+ messageId: {
111
+ Id: string;
112
+ sequence: number;
113
+ batch: number;
114
+ request: number;
115
+ };
116
+ sent: string;
117
+ forceEvaluate: boolean;
118
+ };
119
+ body: {
120
+ itemType: ApiEnumItemType;
121
+ eventType: string;
122
+ } & {
123
+ [key: string]: any;
124
+ };
125
+ messageType: SocketMessageType;
126
+ }
127
+ export interface SocketMessageCreate extends SocketMessage {
128
+ body: {
129
+ eventType: 'create';
130
+ columns: ResponseColumnItemTypeMap;
131
+ itemType: ApiEnumItemType;
132
+ items: {
133
+ [itemType: string]: {
134
+ [itemId: number]: {
135
+ parent: null | EntryParent;
136
+ values: FieldMap;
137
+ };
138
+ };
139
+ };
140
+ };
141
+ }
142
+ export interface SocketMessageUpdate extends SocketMessage {
143
+ body: {
144
+ eventType: 'update';
145
+ columns: ResponseColumnItemTypeMap;
146
+ itemType: ApiEnumItemType;
147
+ items: {
148
+ [itemType: string]: {
149
+ [itemId: number]: {
150
+ parent: null | EntryParent;
151
+ values: FieldMap;
152
+ };
153
+ };
154
+ };
155
+ };
156
+ }
157
+ export interface SocketMessageLinkTo extends SocketMessage {
158
+ body: {
159
+ eventType: 'linkto';
160
+ columns: ResponseColumnItemTypeMap;
161
+ itemType: ApiEnumItemType;
162
+ items: {
163
+ [itemType: string]: {
164
+ [itemId: number]: {
165
+ parent: null | EntryParent;
166
+ values: FieldMap;
167
+ };
168
+ };
169
+ };
170
+ };
171
+ }
172
+ export interface SocketMessageDelete extends SocketMessage {
173
+ body: {
174
+ eventType: 'delete';
175
+ itemType: ApiEnumItemType;
176
+ items: ItemId[];
177
+ };
178
+ }
179
+ export interface FunctionChangesResolveSocketMessage extends SocketMessage {
180
+ body: {
181
+ itemType: ApiEnumItemType.FunctionChangesResolve;
182
+ eventType: 'update';
183
+ } & {
184
+ [key: string]: any;
185
+ };
186
+ }
187
+ export declare type ItemResourcesItemTypeMap<T extends ItemResource = ItemResource> = {
188
+ [itemType: string]: T[];
189
+ };
190
+ export declare type ItemMap<T> = {
191
+ [itemType: string]: {
192
+ [itemId: string]: T;
193
+ };
194
+ };
195
+ export declare type ParentItemMap<T> = {
196
+ [parentId: number]: {
197
+ [itemType: string]: T;
198
+ };
199
+ };
200
+ export declare type ItemEntryMap<ItemTypeType extends ApiEnumItemType = any> = ItemMap<ItemEntry<ItemTypeType>>;
201
+ export declare type ItemEntryParentIdMap<ItemTypeType extends ApiEnumItemType> = ParentIdMap<ItemEntry<ItemTypeType>[]>;
202
+ export declare type ConversionMap = {
203
+ [itemId: number]: number;
204
+ };
205
+ export declare type ItemIdConversionMap = {
206
+ [itemType: string]: ConversionMap;
207
+ };
208
+ export declare type CreateRequestParameterMap<T = any> = ItemMap<T>;
209
+ export declare type ItemError = {
210
+ message: string;
211
+ };
212
+ export declare type CollectionQuery = {
213
+ object: BackendApiQuery;
214
+ string: string;
215
+ };
216
+ export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any> = ParentIdMap<CollectionResource<ItemTypeType, ColumnIds>>;
217
+ export declare type ResponseColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
218
+ [ColumnId in ColumnIds[number]]: GetColumnType<ItemTypeType, ColumnId>;
219
+ };
220
+ export declare type ResponseColumnItemTypeMap = {
221
+ [itemType: string]: ResponseColumnMap;
222
+ };
223
+ export declare type ColumnExpansionResult<ItemTypeType extends ApiEnumItemType = any> = {
224
+ merged: ColumnSet<ItemTypeType>;
225
+ difference: ColumnSet<ItemTypeType>;
226
+ };
227
+ export declare type RootColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
228
+ [ColumnId in ColumnIds[number]]: {
229
+ apiColumn: GetColumnType<ItemTypeType, ColumnId>;
230
+ children: RootColumnMap;
231
+ };
232
+ };
233
+ export declare type ApiResponse = ApiResponseProcessor;
234
+ export declare type TemplateItemResourceMap<T extends ItemResource<any>> = {
235
+ main: T;
236
+ linked: ItemResourcesItemTypeMap;
237
+ };
238
+ export declare type ItemTypeMap<T = any> = {
239
+ [itemType: string]: T;
240
+ };
241
+ export declare type ApiRequestItemValues = {
242
+ values?: any;
243
+ links?: {
244
+ [itemType: string]: ItemId[];
245
+ };
246
+ };
247
+ export declare type ApiRequestItemMap = {
248
+ [itemType: string]: {
249
+ [itemId: number]: ApiRequestItemValues;
250
+ };
251
+ };
252
+ export declare type ApiRequestColumn = string | {
253
+ [columnId: string]: ApiRequestColumn[];
254
+ };
255
+ export declare type ApiRequestColumns = ApiRequestColumn[] | true;
256
+ export declare type ApiRequestColumnMap = {
257
+ [itemType: string]: ApiRequestColumns;
258
+ };
259
+ export declare type ApiRequestLimit = {
260
+ field: string;
261
+ limit: number;
262
+ order?: 'desc' | 'asc';
263
+ };
264
+ export declare type ApiRequestMoveItems = {
265
+ [itemType: string]: ItemId[];
266
+ };
267
+ export declare type CreateRequestEntry<ItemTypeType extends ApiEnumItemType> = {
268
+ request: {
269
+ requestType: 'create';
270
+ itemType?: ItemTypeType;
271
+ parentType?: ApiEnumItemType;
272
+ parentId?: {
273
+ [itemId: string]: ItemId;
274
+ };
275
+ items: ApiRequestItemMap;
276
+ columns: ApiRequestColumnMap;
277
+ };
278
+ columns: RequestColumnExpansion;
279
+ items: ItemEntryMap<ItemTypeType>;
280
+ };
281
+ export declare enum ApiLinkTreeType {
282
+ ITEMTABLE = "itemtable",
283
+ DIRECT = "direct"
284
+ }
285
+ export declare type ApiLinkTreeEntryItemTable = {
286
+ type: ApiLinkTreeType.ITEMTABLE;
287
+ };
288
+ export declare type ApiLinkTreeEntryDirect = {
289
+ type: ApiLinkTreeType.DIRECT;
290
+ field: string;
291
+ };
292
+ export declare type ApiLinkTreeEntry = ApiLinkTreeEntryItemTable | ApiLinkTreeEntryDirect;
293
+ export declare type ApiLinkTree = {
294
+ [itemType: string]: {
295
+ [childType: string]: ApiLinkTreeEntry;
296
+ };
297
+ };
298
+ /**
299
+ * @description
300
+ * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
301
+ */
302
+ export declare type FilterItemEntryCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>) => boolean;
303
+ export declare type ModifyFieldsCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>, itemIdConversionMap?: ItemIdConversionMap) => void;
304
+ /**
305
+ * @description
306
+ * Returns 'false' if the field changed
307
+ */
308
+ export declare type CompareFieldCallback<Fields extends FieldMap, T extends keyof Fields = string> = (field: T) => boolean;
309
+ export declare type FieldChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
310
+ itemEntry: ItemEntry<ItemTypeType>;
311
+ compareField: CompareFieldCallback<ColumnIds>;
312
+ fields: FieldMap<ItemTypeType, ColumnIds>;
313
+ isCalledAfterSocketUpdate: boolean;
314
+ previous: FieldMap<ItemTypeType, ColumnIds>;
315
+ };
316
+ export declare type FieldChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (args: FieldChangeCallbackArgs<ItemTypeType, ColumnIds>) => void;
317
+ export declare type DeregFunction = () => void;
318
+ export declare type OnChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallbackArgs<ItemTypeType, ColumnIds>;
319
+ export declare type OnChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallback<ItemTypeType, ColumnIds>;
320
+ export declare type OnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
321
+ itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
322
+ collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
323
+ isInitialCall: boolean;
324
+ isCalledAfterSocketUpdate: boolean;
325
+ }) => void;
326
+ export declare type OnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
327
+ itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
328
+ collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
329
+ isCalledAfterSocketUpdate: boolean;
330
+ }) => void;
331
+ /** **********************************/
332
+ export declare type ApiQueryConditionComparatorShort<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = BackendApiQueryConditionComparatorShort<ItemTypeType, ColumnId> & {
333
+ [_T in ColumnId]: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
334
+ };
335
+ export interface ApiQueryConditionComparator<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = ItemTypeColumnId<ItemTypeType>> extends BackendTypesApiQueryConditionComparator {
336
+ value: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
337
+ }
338
+ declare type ApiQueryCondition<ItemTypeType extends ApiEnumItemType, ColumnId extends ItemTypeColumnId<ItemTypeType>> = ApiQueryConditionComparatorShort<ItemTypeType, ColumnId> | ApiQueryConditionComparator<ItemTypeType, ColumnId> | ApiQueryConditionIn<ItemTypeType, ColumnId> | ApiQueryConditionInShort<ItemTypeType, ColumnId> | ApiQueryConditionLinkedTo | ApiQueryConditionSubQuery<ItemTypeType> | ApiQueryConditionSearch | ApiQueryConditionCustom;
339
+ export declare type ApiQueryWithConditions<ItemTypeType extends ApiEnumItemType = any> = {
340
+ operator?: 'and' | 'AND' | 'or' | 'OR';
341
+ conditions: ApiQuery<ItemTypeType>[];
342
+ not?: boolean;
343
+ };
344
+ export declare type ApiQuery<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = ApiQueryWithConditions<ItemTypeType> | ApiQueryCondition<ItemTypeType, ColumnId>;
345
+ export {};