@memberjunction/global 2.112.0 → 2.113.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.
Files changed (117) hide show
  1. package/package.json +1 -1
  2. package/dist/Core.d.ts +0 -29
  3. package/dist/Core.d.ts.map +0 -1
  4. package/dist/Core.js +0 -58
  5. package/dist/Core.js.map +0 -1
  6. package/dist/generic/QueryCache.d.ts +0 -85
  7. package/dist/generic/QueryCache.d.ts.map +0 -1
  8. package/dist/generic/QueryCache.js +0 -198
  9. package/dist/generic/QueryCache.js.map +0 -1
  10. package/dist/generic/QueryCacheConfig.d.ts +0 -72
  11. package/dist/generic/QueryCacheConfig.d.ts.map +0 -1
  12. package/dist/generic/QueryCacheConfig.js +0 -3
  13. package/dist/generic/QueryCacheConfig.js.map +0 -1
  14. package/dist/generic/applicationInfo.d.ts +0 -138
  15. package/dist/generic/applicationInfo.d.ts.map +0 -1
  16. package/dist/generic/applicationInfo.js +0 -177
  17. package/dist/generic/applicationInfo.js.map +0 -1
  18. package/dist/generic/authEvaluator.d.ts +0 -25
  19. package/dist/generic/authEvaluator.d.ts.map +0 -1
  20. package/dist/generic/authEvaluator.js +0 -49
  21. package/dist/generic/authEvaluator.js.map +0 -1
  22. package/dist/generic/authTypes.d.ts +0 -193
  23. package/dist/generic/authTypes.d.ts.map +0 -1
  24. package/dist/generic/authTypes.js +0 -19
  25. package/dist/generic/authTypes.js.map +0 -1
  26. package/dist/generic/baseEngine.d.ts +0 -260
  27. package/dist/generic/baseEngine.d.ts.map +0 -1
  28. package/dist/generic/baseEngine.js +0 -510
  29. package/dist/generic/baseEngine.js.map +0 -1
  30. package/dist/generic/baseEntity.d.ts +0 -691
  31. package/dist/generic/baseEntity.d.ts.map +0 -1
  32. package/dist/generic/baseEntity.js +0 -1688
  33. package/dist/generic/baseEntity.js.map +0 -1
  34. package/dist/generic/baseInfo.d.ts +0 -24
  35. package/dist/generic/baseInfo.d.ts.map +0 -1
  36. package/dist/generic/baseInfo.js +0 -53
  37. package/dist/generic/baseInfo.js.map +0 -1
  38. package/dist/generic/compositeKey.d.ts +0 -206
  39. package/dist/generic/compositeKey.d.ts.map +0 -1
  40. package/dist/generic/compositeKey.js +0 -412
  41. package/dist/generic/compositeKey.js.map +0 -1
  42. package/dist/generic/databaseProviderBase.d.ts +0 -46
  43. package/dist/generic/databaseProviderBase.d.ts.map +0 -1
  44. package/dist/generic/databaseProviderBase.js +0 -14
  45. package/dist/generic/databaseProviderBase.js.map +0 -1
  46. package/dist/generic/entityInfo.d.ts +0 -983
  47. package/dist/generic/entityInfo.d.ts.map +0 -1
  48. package/dist/generic/entityInfo.js +0 -1401
  49. package/dist/generic/entityInfo.js.map +0 -1
  50. package/dist/generic/explorerNavigationItem.d.ts +0 -20
  51. package/dist/generic/explorerNavigationItem.d.ts.map +0 -1
  52. package/dist/generic/explorerNavigationItem.js +0 -29
  53. package/dist/generic/explorerNavigationItem.js.map +0 -1
  54. package/dist/generic/interfaces.d.ts +0 -610
  55. package/dist/generic/interfaces.d.ts.map +0 -1
  56. package/dist/generic/interfaces.js +0 -211
  57. package/dist/generic/interfaces.js.map +0 -1
  58. package/dist/generic/libraryInfo.d.ts +0 -40
  59. package/dist/generic/libraryInfo.d.ts.map +0 -1
  60. package/dist/generic/libraryInfo.js +0 -56
  61. package/dist/generic/libraryInfo.js.map +0 -1
  62. package/dist/generic/logging.d.ts +0 -179
  63. package/dist/generic/logging.d.ts.map +0 -1
  64. package/dist/generic/logging.js +0 -382
  65. package/dist/generic/logging.js.map +0 -1
  66. package/dist/generic/metadata.d.ts +0 -305
  67. package/dist/generic/metadata.d.ts.map +0 -1
  68. package/dist/generic/metadata.js +0 -454
  69. package/dist/generic/metadata.js.map +0 -1
  70. package/dist/generic/metadataUtil.d.ts +0 -8
  71. package/dist/generic/metadataUtil.d.ts.map +0 -1
  72. package/dist/generic/metadataUtil.js +0 -36
  73. package/dist/generic/metadataUtil.js.map +0 -1
  74. package/dist/generic/providerBase.d.ts +0 -546
  75. package/dist/generic/providerBase.d.ts.map +0 -1
  76. package/dist/generic/providerBase.js +0 -999
  77. package/dist/generic/providerBase.js.map +0 -1
  78. package/dist/generic/queryInfo.d.ts +0 -460
  79. package/dist/generic/queryInfo.d.ts.map +0 -1
  80. package/dist/generic/queryInfo.js +0 -633
  81. package/dist/generic/queryInfo.js.map +0 -1
  82. package/dist/generic/querySQLFilters.d.ts +0 -54
  83. package/dist/generic/querySQLFilters.d.ts.map +0 -1
  84. package/dist/generic/querySQLFilters.js +0 -84
  85. package/dist/generic/querySQLFilters.js.map +0 -1
  86. package/dist/generic/runQuery.d.ts +0 -96
  87. package/dist/generic/runQuery.d.ts.map +0 -1
  88. package/dist/generic/runQuery.js +0 -66
  89. package/dist/generic/runQuery.js.map +0 -1
  90. package/dist/generic/runQuerySQLFilterImplementations.d.ts +0 -51
  91. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +0 -1
  92. package/dist/generic/runQuerySQLFilterImplementations.js +0 -238
  93. package/dist/generic/runQuerySQLFilterImplementations.js.map +0 -1
  94. package/dist/generic/runReport.d.ts +0 -25
  95. package/dist/generic/runReport.d.ts.map +0 -1
  96. package/dist/generic/runReport.js +0 -42
  97. package/dist/generic/runReport.js.map +0 -1
  98. package/dist/generic/securityInfo.d.ts +0 -355
  99. package/dist/generic/securityInfo.d.ts.map +0 -1
  100. package/dist/generic/securityInfo.js +0 -425
  101. package/dist/generic/securityInfo.js.map +0 -1
  102. package/dist/generic/transactionGroup.d.ts +0 -184
  103. package/dist/generic/transactionGroup.d.ts.map +0 -1
  104. package/dist/generic/transactionGroup.js +0 -357
  105. package/dist/generic/transactionGroup.js.map +0 -1
  106. package/dist/generic/util.d.ts +0 -81
  107. package/dist/generic/util.d.ts.map +0 -1
  108. package/dist/generic/util.js +0 -301
  109. package/dist/generic/util.js.map +0 -1
  110. package/dist/views/runView.d.ts +0 -150
  111. package/dist/views/runView.d.ts.map +0 -1
  112. package/dist/views/runView.js +0 -100
  113. package/dist/views/runView.js.map +0 -1
  114. package/dist/views/viewInfo.d.ts +0 -121
  115. package/dist/views/viewInfo.d.ts.map +0 -1
  116. package/dist/views/viewInfo.js +0 -182
  117. package/dist/views/viewInfo.js.map +0 -1
@@ -1,546 +0,0 @@
1
- import { BaseEntity } from './baseEntity';
2
- import { EntityDependency, EntityDocumentTypeInfo, EntityInfo, RecordDependency, RecordMergeRequest, RecordMergeResult } from './entityInfo';
3
- import { IMetadataProvider, ProviderConfigDataBase, MetadataInfo, ILocalStorageProvider, DatasetResultType, DatasetStatusResultType, DatasetItemFilterType, EntityRecordNameInput, EntityRecordNameResult, ProviderType, PotentialDuplicateRequest, PotentialDuplicateResponse, EntityMergeOptions, AllMetadata, IRunViewProvider, RunViewResult } from './interfaces';
4
- import { ApplicationInfo } from '../generic/applicationInfo';
5
- import { AuditLogTypeInfo, AuthorizationInfo, RoleInfo, RowLevelSecurityFilterInfo, UserInfo } from './securityInfo';
6
- import { TransactionGroupBase } from './transactionGroup';
7
- import { QueryCategoryInfo, QueryFieldInfo, QueryInfo, QueryPermissionInfo, QueryEntityInfo, QueryParameterInfo } from './queryInfo';
8
- import { LibraryInfo } from './libraryInfo';
9
- import { CompositeKey } from './compositeKey';
10
- import { ExplorerNavigationItem } from './explorerNavigationItem';
11
- import { RunViewParams } from '../views/runView';
12
- /**
13
- * Creates a new instance of AllMetadata from a simple object.
14
- * Handles deserialization and proper instantiation of all metadata classes.
15
- * @param data - The raw metadata object to convert
16
- * @param md - The metadata provider for context
17
- * @returns A fully populated AllMetadata instance with proper type instances
18
- */
19
- export declare function MetadataFromSimpleObject(data: any, md: IMetadataProvider): AllMetadata;
20
- /**
21
- * Creates a new instance of AllMetadata from a simple object, but does NOT set the CurrentUser property
22
- * Handles deserialization and proper instantiation of all metadata classes.
23
- * @param data - The raw metadata object to convert
24
- * @param md - The metadata provider for context
25
- * @returns A fully populated AllMetadata instance with proper type instances
26
- */
27
- export declare function MetadataFromSimpleObjectWithoutUser(data: any, md: IMetadataProvider): AllMetadata;
28
- /**
29
- * This is a list of all metadata classes that are used in the AllMetadata class.
30
- * Used to automatically determine the class type when deserializing the metadata and
31
- * for iterating through all metadata collections.
32
- * Each entry maps a property key to its corresponding class constructor.
33
- */
34
- export declare const AllMetadataArrays: ({
35
- key: string;
36
- class: typeof ApplicationInfo;
37
- } | {
38
- key: string;
39
- class: typeof AuthorizationInfo;
40
- } | {
41
- key: string;
42
- class: typeof QueryFieldInfo;
43
- } | {
44
- key: string;
45
- class: typeof QueryPermissionInfo;
46
- } | {
47
- key: string;
48
- class: typeof QueryEntityInfo;
49
- } | {
50
- key: string;
51
- class: typeof QueryParameterInfo;
52
- } | {
53
- key: string;
54
- class: typeof EntityDocumentTypeInfo;
55
- })[];
56
- /**
57
- * Base class for all metadata providers in MemberJunction.
58
- * Implements common functionality for metadata caching, refresh, and dataset management.
59
- * Subclasses must implement abstract methods for provider-specific operations.
60
- */
61
- export declare abstract class ProviderBase implements IMetadataProvider, IRunViewProvider {
62
- private _ConfigData;
63
- private _latestLocalMetadataTimestamps;
64
- private _latestRemoteMetadataTimestamps;
65
- private _localMetadata;
66
- private _refresh;
67
- /******** ABSTRACT SECTION ****************************************************************** */
68
- /**
69
- * Determines if a refresh is currently allowed or not.
70
- * Subclasses should return FALSE if they are performing operations that should prevent refreshes.
71
- * This helps avoid metadata refreshes during critical operations.
72
- */
73
- protected abstract get AllowRefresh(): boolean;
74
- /**
75
- * Returns the provider type for the instance.
76
- * Identifies whether this is a Database or Network provider.
77
- */
78
- abstract get ProviderType(): ProviderType;
79
- /**
80
- * For providers that have ProviderType==='Database', this property will return an object that represents the underlying database connection.
81
- * For providers where ProviderType==='Network' this property will throw an exception.
82
- * The type of object returned is provider-specific (e.g., SQL connection pool).
83
- */
84
- abstract get DatabaseConnection(): any;
85
- /**
86
- * Gets the display name for a single entity record.
87
- * Uses the entity's IsNameField or falls back to 'Name' field if available.
88
- * @param entityName - The name of the entity
89
- * @param compositeKey - The primary key value(s) for the record
90
- * @param contextUser - Optional user context for permissions
91
- * @returns The display name of the record or null if not found
92
- */
93
- abstract GetEntityRecordName(entityName: string, compositeKey: CompositeKey, contextUser?: UserInfo): Promise<string>;
94
- /**
95
- * Gets display names for multiple entity records in a single operation.
96
- * More efficient than multiple GetEntityRecordName calls.
97
- * @param info - Array of entity/key pairs to lookup
98
- * @param contextUser - Optional user context for permissions
99
- * @returns Array of results with names and status for each requested record
100
- */
101
- abstract GetEntityRecordNames(info: EntityRecordNameInput[], contextUser?: UserInfo): Promise<EntityRecordNameResult[]>;
102
- /**
103
- * Checks if a specific record is marked as a favorite by the user.
104
- * @param userId - The ID of the user to check
105
- * @param entityName - The name of the entity
106
- * @param CompositeKey - The primary key value(s) for the record
107
- * @param contextUser - Optional user context for permissions
108
- * @returns True if the record is a favorite, false otherwise
109
- */
110
- abstract GetRecordFavoriteStatus(userId: string, entityName: string, CompositeKey: CompositeKey, contextUser?: UserInfo): Promise<boolean>;
111
- /**
112
- * Sets or removes a record's favorite status for a user.
113
- * @param userId - The ID of the user
114
- * @param entityName - The name of the entity
115
- * @param CompositeKey - The primary key value(s) for the record
116
- * @param isFavorite - True to mark as favorite, false to remove
117
- * @param contextUser - User context for permissions (required)
118
- */
119
- abstract SetRecordFavoriteStatus(userId: string, entityName: string, CompositeKey: CompositeKey, isFavorite: boolean, contextUser: UserInfo): Promise<void>;
120
- /******** END - ABSTRACT SECTION ****************************************************************** */
121
- /**
122
- * Force sub-classes to implement RunView, base class doesn't provide an implementation
123
- * @param params
124
- * @param contextUser
125
- */
126
- abstract RunView<T = any>(params: RunViewParams, contextUser?: UserInfo): Promise<RunViewResult<T>>;
127
- /**
128
- * Force sub-classes to implement RunViews, base class doesn't provide an implementation
129
- * @param params
130
- * @param contextUser
131
- */
132
- abstract RunViews<T = any>(params: RunViewParams[], contextUser?: UserInfo): Promise<RunViewResult<T>[]>;
133
- /**
134
- * Used to check to see if the entity in question is active or not
135
- * If it is not active, it will throw an exception or log a warning depending on the status of the entity being
136
- * either Deprecated or Disabled.
137
- * @param entityName
138
- * @param callerName
139
- */
140
- protected EntityStatusCheck(params: RunViewParams, callerName: string): Promise<void>;
141
- /**
142
- * Base class pre-processor that all sub-classes should call before they start their RunView process
143
- * @param params
144
- * @param contextUser
145
- */
146
- protected PreProcessRunView<T = any>(params: RunViewParams, contextUser?: UserInfo): Promise<void>;
147
- /**
148
- * Base class post-processor that all sub-classes should call after they finish their RunView process
149
- * @param params
150
- * @param contextUser
151
- * @returns
152
- */
153
- protected PostProcessRunView(result: RunViewResult, params: RunViewParams, contextUser?: UserInfo): Promise<void>;
154
- /**
155
- * Base class implementation for handling pre-processing of RunViews() each sub-class should call this
156
- * within their RunViews() method implementation
157
- * @param params
158
- * @param contextUser
159
- * @returns
160
- */
161
- protected PreProcessRunViews(params: RunViewParams[], contextUser?: UserInfo): Promise<void>;
162
- /**
163
- * Base class utilty method that should be called after each sub-class handles its internal RunViews() process before returning results
164
- * This handles the optional conversion of simple objects to entity objects for each requested view depending on if the params requests
165
- * a result_type === 'entity_object'
166
- * @param results
167
- * @param params
168
- * @param contextUser
169
- */
170
- protected PostProcessRunViews(results: RunViewResult[], params: RunViewParams[], contextUser?: UserInfo): Promise<void>;
171
- /**
172
- * Transforms the result set from simple objects to entity objects if needed.
173
- * @param param - The RunViewParams used for the request
174
- * @param result - The RunViewResult returned from the request
175
- * @param contextUser - The user context for permissions
176
- */
177
- protected TransformSimpleObjectToEntityObject(param: RunViewParams, result: RunViewResult, contextUser?: UserInfo): Promise<void>;
178
- /**
179
- * Returns the currently loaded local metadata from within the instance
180
- */
181
- get AllMetadata(): AllMetadata;
182
- /**
183
- * Configures the provider with the specified configuration data.
184
- * Handles metadata refresh if needed and initializes the provider.
185
- * @param data - Configuration including schema filters and connection info
186
- * @returns True if configuration was successful
187
- */
188
- Config(data: ProviderConfigDataBase, providerToUse?: IMetadataProvider): Promise<boolean>;
189
- protected CloneAllMetadata(toClone: AllMetadata): AllMetadata;
190
- /**
191
- * Copies metadata from the global provider to the local instance.
192
- * This is used to ensure that the local instance has the latest metadata
193
- * information available without having to reload it from the server.
194
- */
195
- protected CopyMetadataFromGlobalProvider(): boolean;
196
- /**
197
- * Builds dataset filters based on the provider configuration.
198
- * Ensures MJ Core schema is always included and never excluded.
199
- * @returns Array of filters to apply when loading metadata
200
- */
201
- protected BuildDatasetFilterFromConfig(): DatasetItemFilterType[];
202
- protected static _mjMetadataDatasetName: string;
203
- /**
204
- * Retrieves all metadata from the server and constructs typed instances.
205
- * Uses the MJ_Metadata dataset for efficient bulk loading.
206
- * @returns Complete metadata collection with all relationships
207
- */
208
- protected GetAllMetadata(providerToUse?: IMetadataProvider): Promise<AllMetadata>;
209
- /**
210
- * Gets the current user information from the provider.
211
- * Must be implemented by subclasses to return user-specific data.
212
- * @returns Current user information including roles and permissions
213
- */
214
- protected abstract GetCurrentUser(): Promise<UserInfo>;
215
- /**
216
- * Post-processes entity metadata to establish relationships between entities and their child objects.
217
- * Links fields, permissions, relationships, and settings to their parent entities.
218
- * @param entities - Array of entity metadata
219
- * @param fields - Array of entity field metadata
220
- * @param fieldValues - Array of entity field value metadata
221
- * @param permissions - Array of entity permission metadata
222
- * @param relationships - Array of entity relationship metadata
223
- * @param settings - Array of entity settings metadata
224
- * @returns Processed array of EntityInfo instances with all relationships established
225
- */
226
- protected PostProcessEntityMetadata(entities: any[], fields: any[], fieldValues: any[], permissions: any[], relationships: any[], settings: any[]): any[];
227
- /**
228
- * Gets the configuration data that was provided to the provider.
229
- * @returns The provider configuration including schema filters
230
- */
231
- get ConfigData(): ProviderConfigDataBase;
232
- /**
233
- * Gets all entity metadata in the system.
234
- * @returns Array of EntityInfo objects representing all entities
235
- */
236
- get Entities(): EntityInfo[];
237
- /**
238
- * Gets all application metadata in the system.
239
- * @returns Array of ApplicationInfo objects representing all applications
240
- */
241
- get Applications(): ApplicationInfo[];
242
- /**
243
- * Gets the current user's information including roles and permissions.
244
- * @returns UserInfo object for the authenticated user
245
- */
246
- get CurrentUser(): UserInfo;
247
- /**
248
- * Gets all security roles defined in the system.
249
- * @returns Array of RoleInfo objects representing all roles
250
- */
251
- get Roles(): RoleInfo[];
252
- /**
253
- * Gets all row-level security filters defined in the system.
254
- * @returns Array of RowLevelSecurityFilterInfo objects for data access control
255
- */
256
- get RowLevelSecurityFilters(): RowLevelSecurityFilterInfo[];
257
- /**
258
- * Gets all audit log types defined for tracking system activities.
259
- * @returns Array of AuditLogTypeInfo objects
260
- */
261
- get AuditLogTypes(): AuditLogTypeInfo[];
262
- /**
263
- * Gets all authorization definitions in the system.
264
- * @returns Array of AuthorizationInfo objects defining permissions
265
- */
266
- get Authorizations(): AuthorizationInfo[];
267
- /**
268
- * Gets all saved queries in the system.
269
- * @returns Array of QueryInfo objects representing stored queries
270
- */
271
- get Queries(): QueryInfo[];
272
- /**
273
- * Gets all query category definitions.
274
- * @returns Array of QueryCategoryInfo objects for query organization
275
- */
276
- get QueryCategories(): QueryCategoryInfo[];
277
- /**
278
- * Gets all query field definitions.
279
- * @returns Array of QueryFieldInfo objects defining query result columns
280
- */
281
- get QueryFields(): QueryFieldInfo[];
282
- /**
283
- * Gets all query permission assignments.
284
- * @returns Array of QueryPermissionInfo objects defining query access
285
- */
286
- get QueryPermissions(): QueryPermissionInfo[];
287
- /**
288
- * Gets all query entity associations.
289
- * @returns Array of QueryEntityInfo objects linking queries to entities
290
- */
291
- get QueryEntities(): QueryEntityInfo[];
292
- /**
293
- * Gets all query parameter definitions.
294
- * @returns Array of QueryParameterInfo objects for parameterized queries
295
- */
296
- get QueryParameters(): QueryParameterInfo[];
297
- /**
298
- * Gets all library definitions in the system.
299
- * @returns Array of LibraryInfo objects representing code libraries
300
- */
301
- get Libraries(): LibraryInfo[];
302
- /**
303
- * Gets all explorer navigation items including inactive ones.
304
- * @returns Array of all ExplorerNavigationItem objects
305
- */
306
- get AllExplorerNavigationItems(): ExplorerNavigationItem[];
307
- private _cachedVisibleExplorerNavigationItems;
308
- /**
309
- * Gets only active explorer navigation items sorted by sequence.
310
- * Results are cached for performance.
311
- * @returns Array of active ExplorerNavigationItem objects
312
- */
313
- get VisibleExplorerNavigationItems(): ExplorerNavigationItem[];
314
- /**
315
- * Refreshes all metadata from the server.
316
- * Respects the AllowRefresh flag from subclasses.
317
- * @returns True if refresh was initiated or allowed
318
- */
319
- Refresh(providerToUse?: IMetadataProvider): Promise<boolean>;
320
- /**
321
- * Checks if local metadata is out of date and needs refreshing.
322
- * Compares local timestamps with server timestamps.
323
- * @returns True if refresh is needed, false otherwise
324
- */
325
- CheckToSeeIfRefreshNeeded(providerToUse?: IMetadataProvider): Promise<boolean>;
326
- /**
327
- * Refreshes metadata only if needed based on timestamp comparison.
328
- * Combines check and refresh into a single operation.
329
- * @returns True if refresh was successful or not needed
330
- */
331
- RefreshIfNeeded(providerToUse?: IMetadataProvider): Promise<boolean>;
332
- /**
333
- * Creates a new instance of a BaseEntity subclass for the specified entity and automatically calls NewRecord() to initialize it.
334
- * This method serves as the core implementation for entity instantiation in the MemberJunction framework.
335
- *
336
- * @param entityName - The name of the entity to create (must exist in metadata)
337
- * @param contextUser - Optional user context for permissions and audit tracking
338
- * @returns Promise resolving to the newly created entity instance with NewRecord() called
339
- * @throws Error if entity name is not found in metadata or if instantiation fails
340
- */
341
- GetEntityObject<T extends BaseEntity>(entityName: string, contextUser?: UserInfo): Promise<T>;
342
- /**
343
- * Creates a new instance of a BaseEntity subclass and loads an existing record using the provided key.
344
- * This overload provides a convenient way to instantiate and load in a single operation.
345
- *
346
- * @param entityName - The name of the entity to create (must exist in metadata)
347
- * @param loadKey - CompositeKey containing the primary key value(s) for the record to load
348
- * @param contextUser - Optional user context for permissions and audit tracking
349
- * @returns Promise resolving to the entity instance with the specified record loaded
350
- * @throws Error if entity name is not found, instantiation fails, or record cannot be loaded
351
- */
352
- GetEntityObject<T extends BaseEntity>(entityName: string, loadKey: CompositeKey, contextUser?: UserInfo): Promise<T>;
353
- /**
354
- * Returns a list of dependencies - records that are linked to the specified Entity/RecordID combination. A dependency is as defined by the relationships in the database. The MemberJunction metadata that is used
355
- * for this simply reflects the foreign key relationships that exist in the database. The CodeGen tool is what detects all of the relationships and generates the metadata that is used by MemberJunction. The metadata in question
356
- * is within the EntityField table and specifically the RelatedEntity and RelatedEntityField columns. In turn, this method uses that metadata and queries the database to determine the dependencies. To get the list of entity dependencies
357
- * you can use the utility method GetEntityDependencies(), which doesn't check for dependencies on a specific record, but rather gets the metadata in one shot that can be used for dependency checking.
358
- * @param entityName the name of the entity to check
359
- * @param KeyValuePairs the values of the primary key of the record to check
360
- */
361
- abstract GetRecordDependencies(entityName: string, CompositeKey: CompositeKey, contextUser?: UserInfo): Promise<RecordDependency[]>;
362
- /**
363
- * Returns a list of record IDs that are possible duplicates of the specified record.
364
- *
365
- * @param params object containing many properties used in fetching records and determining which ones to return
366
- */
367
- abstract GetRecordDuplicates(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
368
- /**
369
- * Returns a list of entity dependencies, basically metadata that tells you the links to this entity from all other entities.
370
- * @param entityName
371
- * @returns
372
- */
373
- GetEntityDependencies(entityName: string): Promise<EntityDependency[]>;
374
- /**
375
- * This method will merge two or more records based on the request provided. The RecordMergeRequest type you pass in specifies the record that will survive the merge, the records to merge into the surviving record, and an optional field map that can update values in the surviving record, if desired. The process followed is:
376
- * 1. A transaction is started
377
- * 2. The surviving record is loaded and fields are updated from the field map, if provided, and the record is saved. If a FieldMap not provided within the request object, this step is skipped.
378
- * 3. For each of the records that will be merged INTO the surviving record, we call the GetEntityDependencies() method and get a list of all other records in the database are linked to the record to be deleted. We then go through each of those dependencies and update the link to point to the SurvivingRecordID and save the record.
379
- * 4. The record to be deleted is then deleted.
380
- * 5. The transaction is committed if all of the above steps are succesful, otherwise it is rolled back.
381
- *
382
- * The return value from this method contains detailed information about the execution of the process. In addition, all attempted merges are logged in the RecordMergeLog and RecordMergeDeletionLog tables.
383
- *
384
- * @param request
385
- * @returns
386
- */
387
- abstract MergeRecords(request: RecordMergeRequest, contextUser?: UserInfo, options?: EntityMergeOptions): Promise<RecordMergeResult>;
388
- /**
389
- * Always retrieves data from the server - this method does NOT check cache. To use cached local values if available, call GetAndCacheDatasetByName() instead
390
- * @param datasetName
391
- * @param itemFilters
392
- */
393
- abstract GetDatasetByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetResultType>;
394
- /**
395
- * Retrieves the date status information for a dataset and all its items from the server. This method will match the datasetName and itemFilters to the server's dataset and item filters to determine a match
396
- * @param datasetName
397
- * @param itemFilters
398
- */
399
- abstract GetDatasetStatusByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetStatusResultType>;
400
- /**
401
- * Gets a database by name, if required, and caches it in a format available to the client (e.g. IndexedDB, LocalStorage, File, etc). The cache method is Provider specific
402
- * If itemFilters are provided, the combination of datasetName and the filters are used to determine a match in the cache
403
- * @param datasetName
404
- * @param itemFilters
405
- */
406
- GetAndCacheDatasetByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetResultType>;
407
- /**
408
- * Returns the timestamp of the local cached version of a given datasetName or null if there is no local cache for the
409
- * specified dataset
410
- * @param datasetName the name of the dataset to check
411
- * @param itemFilters optional filters to apply to the dataset
412
- */
413
- GetLocalDatasetTimestamp(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<Date>;
414
- /**
415
- * This routine checks to see if the local cache version of a given datasetName/itemFilters combination is up to date with the server or not
416
- * @param datasetName
417
- * @param itemFilters
418
- * @returns
419
- */
420
- IsDatasetCacheUpToDate(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<boolean>;
421
- /**
422
- * This routine gets the local cached version of a given datasetName/itemFilters combination, it does NOT check the server status first and does not fall back on the server if there isn't a local cache version of this dataset/itemFilters combination
423
- * @param datasetName
424
- * @param itemFilters
425
- * @returns
426
- */
427
- GetCachedDataset(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<DatasetResultType>;
428
- /**
429
- * Stores a dataset in the local cache. If itemFilters are provided, the combination of datasetName and the filters are used to build a key and determine a match in the cache
430
- * @param datasetName
431
- * @param itemFilters
432
- * @param dataset
433
- */
434
- CacheDataset(datasetName: string, itemFilters: DatasetItemFilterType[], dataset: DatasetResultType): Promise<void>;
435
- /**
436
- * Determines if a given datasetName/itemFilters combination is cached locally or not
437
- * @param datasetName
438
- * @param itemFilters
439
- * @returns
440
- */
441
- IsDatasetCached(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<boolean>;
442
- /**
443
- * Creates a unique key for the given datasetName and itemFilters combination coupled with the instance connection string to ensure uniqueness when 2+ connections exist
444
- * @param datasetName
445
- * @param itemFilters
446
- * @returns
447
- */
448
- GetDatasetCacheKey(datasetName: string, itemFilters?: DatasetItemFilterType[]): string;
449
- /**
450
- * This property is implemented by each sub-class of ProviderBase and is intended to return a unique string that identifies the instance of the provider for the connection it is making.
451
- * For example: for network connections, the URL including a TCP port would be a good connection string, whereas on database connections the database host url/instance/port would be a good connection string.
452
- * This is used as part of cache keys to ensure different connections don't share cached data.
453
- */
454
- abstract get InstanceConnectionString(): string;
455
- /**
456
- * Converts dataset item filters into a unique string key for caching.
457
- * @param itemFilters - Array of filters to convert
458
- * @returns JSON-formatted string representing the filters
459
- */
460
- protected ConvertItemFiltersToUniqueKey(itemFilters: DatasetItemFilterType[]): string;
461
- /**
462
- * If the specified datasetName is cached, this method will clear the cache. If itemFilters are provided, the combination of datasetName and the filters are used to determine a match in the cache
463
- * @param datasetName
464
- * @param itemFilters
465
- */
466
- ClearDatasetCache(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<void>;
467
- /**
468
- * Creates a new transaction group for managing database transactions.
469
- * Must be implemented by subclasses to provide transaction support.
470
- * @returns A new transaction group instance
471
- */
472
- abstract CreateTransactionGroup(): Promise<TransactionGroupBase>;
473
- /**
474
- * Gets the latest metadata timestamps from the remote server.
475
- * Used to determine if local cache is out of date.
476
- * @returns Array of metadata timestamp information
477
- */
478
- get LatestRemoteMetadata(): MetadataInfo[];
479
- /**
480
- * Gets the latest metadata timestamps from local cache.
481
- * Used for comparison with remote timestamps.
482
- * @returns Array of locally cached metadata timestamps
483
- */
484
- get LatestLocalMetadata(): MetadataInfo[];
485
- /**
486
- * Retrieves the latest metadata update timestamps from the server.
487
- * @returns Array of metadata update information
488
- */
489
- protected GetLatestMetadataUpdates(providerToUse?: IMetadataProvider): Promise<MetadataInfo[]>;
490
- /**
491
- * Refreshes the remote metadata timestamps from the server.
492
- * Updates the internal cache of remote timestamps.
493
- * @returns True if timestamps were successfully refreshed
494
- */
495
- RefreshRemoteMetadataTimestamps(providerToUse?: IMetadataProvider): Promise<boolean>;
496
- /**
497
- * Checks if local metadata is obsolete compared to remote metadata.
498
- * Compares timestamps and row counts to detect changes.
499
- * @param type - Optional specific metadata type to check
500
- * @returns True if local metadata is out of date
501
- */
502
- LocalMetadataObsolete(type?: string): boolean;
503
- /**
504
- * Updates the local metadata cache with new data.
505
- * @param res - The new metadata to store locally
506
- */
507
- protected UpdateLocalMetadata(res: AllMetadata): void;
508
- /**
509
- * Gets the local storage provider implementation.
510
- * Must be implemented by subclasses to provide environment-specific storage.
511
- * @returns Local storage provider instance
512
- */
513
- abstract get LocalStorageProvider(): ILocalStorageProvider;
514
- /**
515
- * Loads metadata from local storage if available.
516
- * Deserializes and reconstructs typed metadata objects.
517
- */
518
- protected LoadLocalMetadataFromStorage(): Promise<void>;
519
- private static localStorageRootKey;
520
- private static localStorageTimestampsKey;
521
- private static localStorageAllMetadataKey;
522
- private static localStorageKeys;
523
- /**
524
- * This property will return the prefix to use for local storage keys. This is useful if you have multiple instances of a provider running in the same environment
525
- * and you want to keep their local storage keys separate. The default implementation returns an empty string, but subclasses can override this to return a unique string
526
- * based on the connection or other distinct identifier.
527
- */
528
- protected get LocalStoragePrefix(): string;
529
- /**
530
- * Saves current metadata to local storage for caching.
531
- * Serializes both timestamps and full metadata collections.
532
- */
533
- SaveLocalMetadataToStorage(): Promise<void>;
534
- /**
535
- * Removes all cached metadata from local storage.
536
- * Clears both timestamps and metadata collections.
537
- */
538
- RemoveLocalMetadataFromStorage(): Promise<void>;
539
- /**
540
- * Gets the metadata provider instance.
541
- * Must be implemented by subclasses to provide access to metadata.
542
- * @returns The metadata provider instance
543
- */
544
- protected abstract get Metadata(): IMetadataProvider;
545
- }
546
- //# sourceMappingURL=providerBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerBase.d.ts","sourceRoot":"","sources":["../../src/generic/providerBase.ts"],"names":[],"mappings":"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"}