@memberjunction/global 2.111.0 → 2.112.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/dist/Core.d.ts +29 -0
  2. package/dist/Core.d.ts.map +1 -0
  3. package/dist/Core.js +58 -0
  4. package/dist/Core.js.map +1 -0
  5. package/dist/generic/QueryCache.d.ts +85 -0
  6. package/dist/generic/QueryCache.d.ts.map +1 -0
  7. package/dist/generic/QueryCache.js +198 -0
  8. package/dist/generic/QueryCache.js.map +1 -0
  9. package/dist/generic/QueryCacheConfig.d.ts +72 -0
  10. package/dist/generic/QueryCacheConfig.d.ts.map +1 -0
  11. package/dist/generic/QueryCacheConfig.js +3 -0
  12. package/dist/generic/QueryCacheConfig.js.map +1 -0
  13. package/dist/generic/applicationInfo.d.ts +138 -0
  14. package/dist/generic/applicationInfo.d.ts.map +1 -0
  15. package/dist/generic/applicationInfo.js +177 -0
  16. package/dist/generic/applicationInfo.js.map +1 -0
  17. package/dist/generic/authEvaluator.d.ts +25 -0
  18. package/dist/generic/authEvaluator.d.ts.map +1 -0
  19. package/dist/generic/authEvaluator.js +49 -0
  20. package/dist/generic/authEvaluator.js.map +1 -0
  21. package/dist/generic/authTypes.d.ts +193 -0
  22. package/dist/generic/authTypes.d.ts.map +1 -0
  23. package/dist/generic/authTypes.js +19 -0
  24. package/dist/generic/authTypes.js.map +1 -0
  25. package/dist/generic/baseEngine.d.ts +260 -0
  26. package/dist/generic/baseEngine.d.ts.map +1 -0
  27. package/dist/generic/baseEngine.js +510 -0
  28. package/dist/generic/baseEngine.js.map +1 -0
  29. package/dist/generic/baseEntity.d.ts +691 -0
  30. package/dist/generic/baseEntity.d.ts.map +1 -0
  31. package/dist/generic/baseEntity.js +1688 -0
  32. package/dist/generic/baseEntity.js.map +1 -0
  33. package/dist/generic/baseInfo.d.ts +24 -0
  34. package/dist/generic/baseInfo.d.ts.map +1 -0
  35. package/dist/generic/baseInfo.js +53 -0
  36. package/dist/generic/baseInfo.js.map +1 -0
  37. package/dist/generic/compositeKey.d.ts +206 -0
  38. package/dist/generic/compositeKey.d.ts.map +1 -0
  39. package/dist/generic/compositeKey.js +412 -0
  40. package/dist/generic/compositeKey.js.map +1 -0
  41. package/dist/generic/databaseProviderBase.d.ts +46 -0
  42. package/dist/generic/databaseProviderBase.d.ts.map +1 -0
  43. package/dist/generic/databaseProviderBase.js +14 -0
  44. package/dist/generic/databaseProviderBase.js.map +1 -0
  45. package/dist/generic/entityInfo.d.ts +983 -0
  46. package/dist/generic/entityInfo.d.ts.map +1 -0
  47. package/dist/generic/entityInfo.js +1401 -0
  48. package/dist/generic/entityInfo.js.map +1 -0
  49. package/dist/generic/explorerNavigationItem.d.ts +20 -0
  50. package/dist/generic/explorerNavigationItem.d.ts.map +1 -0
  51. package/dist/generic/explorerNavigationItem.js +29 -0
  52. package/dist/generic/explorerNavigationItem.js.map +1 -0
  53. package/dist/generic/interfaces.d.ts +610 -0
  54. package/dist/generic/interfaces.d.ts.map +1 -0
  55. package/dist/generic/interfaces.js +211 -0
  56. package/dist/generic/interfaces.js.map +1 -0
  57. package/dist/generic/libraryInfo.d.ts +40 -0
  58. package/dist/generic/libraryInfo.d.ts.map +1 -0
  59. package/dist/generic/libraryInfo.js +56 -0
  60. package/dist/generic/libraryInfo.js.map +1 -0
  61. package/dist/generic/logging.d.ts +179 -0
  62. package/dist/generic/logging.d.ts.map +1 -0
  63. package/dist/generic/logging.js +382 -0
  64. package/dist/generic/logging.js.map +1 -0
  65. package/dist/generic/metadata.d.ts +305 -0
  66. package/dist/generic/metadata.d.ts.map +1 -0
  67. package/dist/generic/metadata.js +454 -0
  68. package/dist/generic/metadata.js.map +1 -0
  69. package/dist/generic/metadataUtil.d.ts +8 -0
  70. package/dist/generic/metadataUtil.d.ts.map +1 -0
  71. package/dist/generic/metadataUtil.js +36 -0
  72. package/dist/generic/metadataUtil.js.map +1 -0
  73. package/dist/generic/providerBase.d.ts +546 -0
  74. package/dist/generic/providerBase.d.ts.map +1 -0
  75. package/dist/generic/providerBase.js +999 -0
  76. package/dist/generic/providerBase.js.map +1 -0
  77. package/dist/generic/queryInfo.d.ts +460 -0
  78. package/dist/generic/queryInfo.d.ts.map +1 -0
  79. package/dist/generic/queryInfo.js +633 -0
  80. package/dist/generic/queryInfo.js.map +1 -0
  81. package/dist/generic/querySQLFilters.d.ts +54 -0
  82. package/dist/generic/querySQLFilters.d.ts.map +1 -0
  83. package/dist/generic/querySQLFilters.js +84 -0
  84. package/dist/generic/querySQLFilters.js.map +1 -0
  85. package/dist/generic/runQuery.d.ts +96 -0
  86. package/dist/generic/runQuery.d.ts.map +1 -0
  87. package/dist/generic/runQuery.js +66 -0
  88. package/dist/generic/runQuery.js.map +1 -0
  89. package/dist/generic/runQuerySQLFilterImplementations.d.ts +51 -0
  90. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -0
  91. package/dist/generic/runQuerySQLFilterImplementations.js +238 -0
  92. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -0
  93. package/dist/generic/runReport.d.ts +25 -0
  94. package/dist/generic/runReport.d.ts.map +1 -0
  95. package/dist/generic/runReport.js +42 -0
  96. package/dist/generic/runReport.js.map +1 -0
  97. package/dist/generic/securityInfo.d.ts +355 -0
  98. package/dist/generic/securityInfo.d.ts.map +1 -0
  99. package/dist/generic/securityInfo.js +425 -0
  100. package/dist/generic/securityInfo.js.map +1 -0
  101. package/dist/generic/transactionGroup.d.ts +184 -0
  102. package/dist/generic/transactionGroup.d.ts.map +1 -0
  103. package/dist/generic/transactionGroup.js +357 -0
  104. package/dist/generic/transactionGroup.js.map +1 -0
  105. package/dist/generic/util.d.ts +81 -0
  106. package/dist/generic/util.d.ts.map +1 -0
  107. package/dist/generic/util.js +301 -0
  108. package/dist/generic/util.js.map +1 -0
  109. package/dist/views/runView.d.ts +150 -0
  110. package/dist/views/runView.d.ts.map +1 -0
  111. package/dist/views/runView.js +100 -0
  112. package/dist/views/runView.js.map +1 -0
  113. package/dist/views/viewInfo.d.ts +121 -0
  114. package/dist/views/viewInfo.d.ts.map +1 -0
  115. package/dist/views/viewInfo.js +182 -0
  116. package/dist/views/viewInfo.js.map +1 -0
  117. package/package.json +1 -1
@@ -0,0 +1,610 @@
1
+ import { BaseEntity } from "./baseEntity";
2
+ import { EntityDependency, EntityInfo, RecordChange, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDocumentTypeInfo } from "./entityInfo";
3
+ import { ApplicationInfo } from "./applicationInfo";
4
+ import { RunViewParams } from "../views/runView";
5
+ import { AuditLogTypeInfo, AuthorizationInfo, RoleInfo, RowLevelSecurityFilterInfo, UserInfo } from "./securityInfo";
6
+ import { TransactionGroupBase } from "./transactionGroup";
7
+ import { RunReportParams } from "./runReport";
8
+ import { QueryCategoryInfo, QueryFieldInfo, QueryInfo, QueryPermissionInfo, QueryEntityInfo, QueryParameterInfo } from "./queryInfo";
9
+ import { RunQueryParams } from "./runQuery";
10
+ import { LibraryInfo } from "./libraryInfo";
11
+ import { CompositeKey } from "./compositeKey";
12
+ import { ExplorerNavigationItem } from "./explorerNavigationItem";
13
+ /**
14
+ * Base configuration class for data providers.
15
+ * Contains schema inclusion/exclusion rules and configuration data.
16
+ * Used to configure which database schemas should be included or excluded from metadata scanning.
17
+ */
18
+ export declare class ProviderConfigDataBase<D = any> {
19
+ private _includeSchemas;
20
+ private _excludeSchemas;
21
+ private _MJCoreSchemaName;
22
+ private _data;
23
+ private _ignoreExistingMetadata;
24
+ get Data(): D;
25
+ get IncludeSchemas(): string[];
26
+ get MJCoreSchemaName(): string;
27
+ get ExcludeSchemas(): string[];
28
+ get IgnoreExistingMetadata(): boolean;
29
+ /**
30
+ * Constructor for ProviderConfigDataBase
31
+ * @param data
32
+ * @param MJCoreSchemaName
33
+ * @param includeSchemas
34
+ * @param excludeSchemas
35
+ * @param ignoreExistingMetadata if set to true, even if a global provider is already registered for the Metadata static Provider member, this class will still load up fresh metadata for itself. By default this is off and a class will use existing loaded metadata if it exists
36
+ */
37
+ constructor(data: D, MJCoreSchemaName?: string, includeSchemas?: string[], excludeSchemas?: string[], ignoreExistingMetadata?: boolean);
38
+ }
39
+ /**
40
+ * Information about metadata timestamps and record counts.
41
+ * Used to track when metadata was last updated and how many records exist.
42
+ * Helps determine if local metadata cache is up-to-date with the server.
43
+ */
44
+ export declare class MetadataInfo {
45
+ ID: string;
46
+ Type: string;
47
+ UpdatedAt: Date;
48
+ RowCount: number;
49
+ }
50
+ export declare const ProviderType: {
51
+ readonly Database: "Database";
52
+ readonly Network: "Network";
53
+ };
54
+ export type ProviderType = typeof ProviderType[keyof typeof ProviderType];
55
+ /**
56
+ * Represents a potential duplicate record with its probability score.
57
+ * Extends CompositeKey to support multi-field primary keys.
58
+ * Used in duplicate detection and record merging operations.
59
+ */
60
+ export declare class PotentialDuplicate extends CompositeKey {
61
+ ProbabilityScore: number;
62
+ }
63
+ /**
64
+ * Request parameters for finding potential duplicate records.
65
+ * Supports various matching strategies including list-based and document-based comparisons.
66
+ * Can use either a pre-defined list or entity document for duplicate detection.
67
+ */
68
+ export declare class PotentialDuplicateRequest {
69
+ /**
70
+ * The ID of the entity the record belongs to
71
+ **/
72
+ EntityID: string;
73
+ /**
74
+ * The ID of the List entity to use
75
+ **/
76
+ ListID: string;
77
+ /**
78
+ * The Primary Key values of each record
79
+ * we're checking for duplicates
80
+ */
81
+ RecordIDs: CompositeKey[];
82
+ /**
83
+ * The ID of the entity document to use
84
+ **/
85
+ EntityDocumentID?: string;
86
+ /**
87
+ * The minimum score in order to consider a record a potential duplicate
88
+ **/
89
+ ProbabilityScore?: number;
90
+ /**
91
+ * Additional options to pass to the provider
92
+ **/
93
+ Options?: any;
94
+ }
95
+ /**
96
+ * Result of a potential duplicate search for a single record.
97
+ * Contains the record being checked and all potential duplicates found.
98
+ * Includes match details and duplicate run information for tracking.
99
+ */
100
+ export declare class PotentialDuplicateResult {
101
+ constructor();
102
+ EntityID: string;
103
+ RecordCompositeKey: CompositeKey;
104
+ Duplicates: PotentialDuplicate[];
105
+ DuplicateRunDetailMatchRecordIDs: string[];
106
+ }
107
+ /**
108
+ * Response wrapper for potential duplicate searches.
109
+ * Includes status information and array of results.
110
+ * Status can be 'Inprogress' for asynchronous operations, 'Success' when complete, or 'Error' on failure.
111
+ */
112
+ export declare class PotentialDuplicateResponse {
113
+ Status: 'Inprogress' | 'Success' | 'Error';
114
+ ErrorMessage?: string;
115
+ PotentialDuplicateResult: PotentialDuplicateResult[];
116
+ }
117
+ /**
118
+ * Interface for entity data providers.
119
+ * Defines core CRUD operations and record change tracking.
120
+ * Implementations handle database-specific operations for entity persistence.
121
+ */
122
+ export interface IEntityDataProvider {
123
+ Config(configData: ProviderConfigDataBase): Promise<boolean>;
124
+ Load(entity: BaseEntity, CompositeKey: CompositeKey, EntityRelationshipsToLoad: string[], user: UserInfo): Promise<{}>;
125
+ Save(entity: BaseEntity, user: UserInfo, options: EntitySaveOptions): Promise<{}>;
126
+ Delete(entity: BaseEntity, options: EntityDeleteOptions, user: UserInfo): Promise<boolean>;
127
+ GetRecordChanges(entityName: string, CompositeKey: CompositeKey): Promise<RecordChange[]>;
128
+ }
129
+ /**
130
+ * Save options used when saving an entity record.
131
+ * Provides fine-grained control over the save operation including validation,
132
+ * action execution, and conflict detection.
133
+ */
134
+ export declare class EntitySaveOptions {
135
+ /**
136
+ * If set to true, the record will be saved to the database even if nothing is detected to be "dirty" or changed since the prior load.
137
+ */
138
+ IgnoreDirtyState: boolean;
139
+ /**
140
+ * If set to true, an AI actions associated with the entity will be skipped during the save operation
141
+ */
142
+ SkipEntityAIActions?: boolean;
143
+ /**
144
+ * If set to true, any Entity Actions associated with invocation types of Create or Update will be skipped during the save operation
145
+ */
146
+ SkipEntityActions?: boolean;
147
+ /**
148
+ * When set to true, the save operation will BYPASS Validate() and the actual process of saving changes to the database but WILL invoke any associated actions (AI Actions, Entity Actions, etc...)
149
+ * Subclasses can also override the Save() method to provide custom logic that will be invoked when ReplayOnly is set to true
150
+ */
151
+ ReplayOnly?: boolean;
152
+ /**
153
+ * Setting this to true means that the system will not look for inconsistency between the state of the record at the time it was loaded and the current database version of the record. This is normally on
154
+ * because it is a good way to prevent overwriting changes made by other users that happened after your version of the record was loaded. However, in some cases, you may want to skip this check, such as when you are
155
+ * updating a record that you know has not been changed by anyone else since you loaded it. In that case, you can set this property to true to skip the check which will be more efficient.
156
+ * * IMPORTANT: This is only used for client-side providers. On server-side providers, this check never occurs because server side operations are as up to date as this check would yield.
157
+ */
158
+ SkipOldValuesCheck?: boolean;
159
+ /**
160
+ * When set to true, the entity will skip the asynchronous ValidateAsync() method during save.
161
+ * This is an advanced setting and should only be used when you are sure the async validation is not needed.
162
+ * The default behavior is to run the async validation and the default value is undefined.
163
+ * Also, you can set an Entity level default in a BaseEntity subclass by overriding the DefaultSkipAsyncValidation() getter property.
164
+ * @see BaseEntity.DefaultSkipAsyncValidation
165
+ */
166
+ SkipAsyncValidation?: boolean;
167
+ }
168
+ /**
169
+ * Options used when deleting an entity record.
170
+ * Controls whether associated actions and AI operations should be executed
171
+ * during the deletion process.
172
+ */
173
+ export declare class EntityDeleteOptions {
174
+ /**
175
+ * If set to true, an AI actions associated with the entity will be skipped during the delete operation
176
+ */
177
+ SkipEntityAIActions?: boolean;
178
+ /**
179
+ * If set to true, any Entity Actions associated with invocation types of Delete will be skipped during the delete operation
180
+ */
181
+ SkipEntityActions?: boolean;
182
+ /**
183
+ * When set to true, the save operation will BYPASS Validate() and the actual process of deleting the record from the database but WILL invoke any associated actions (AI Actions, Entity Actions, etc...)
184
+ * Subclasses can also override the Delete() method to provide custom logic that will be invoked when ReplayOnly is set to true
185
+ */
186
+ ReplayOnly?: boolean;
187
+ }
188
+ /**
189
+ * Options used when merging entity records.
190
+ * Controls transaction isolation and other merge-specific behaviors.
191
+ */
192
+ export declare class EntityMergeOptions {
193
+ }
194
+ /**
195
+ * Input parameters for retrieving entity record names.
196
+ * Used for batch operations to get display names for multiple records.
197
+ */
198
+ export declare class EntityRecordNameInput {
199
+ EntityName: string;
200
+ CompositeKey: CompositeKey;
201
+ }
202
+ /**
203
+ * Result of an entity record name lookup operation.
204
+ * Contains the display name and status information for the requested record.
205
+ */
206
+ export declare class EntityRecordNameResult {
207
+ Success: boolean;
208
+ Status: string;
209
+ CompositeKey: CompositeKey;
210
+ EntityName: string;
211
+ RecordName?: string;
212
+ }
213
+ /**
214
+ * Interface for local storage providers.
215
+ * Abstracts storage operations to support different storage backends
216
+ * (e.g., browser localStorage, IndexedDB, file system).
217
+ */
218
+ export interface ILocalStorageProvider {
219
+ GetItem(key: string): Promise<string | null>;
220
+ SetItem(key: string, value: string): Promise<void>;
221
+ Remove(key: string): Promise<void>;
222
+ }
223
+ /**
224
+ * Core interface for metadata providers in MemberJunction.
225
+ * Provides access to all system metadata including entities, applications, security, and queries.
226
+ * This is the primary interface for accessing MemberJunction's metadata layer.
227
+ * Implementations typically cache metadata locally for performance.
228
+ */
229
+ export interface IMetadataProvider {
230
+ get ProviderType(): ProviderType;
231
+ get DatabaseConnection(): any;
232
+ Config(configData: ProviderConfigDataBase, providerToUse?: IMetadataProvider): Promise<boolean>;
233
+ get Entities(): EntityInfo[];
234
+ get Applications(): ApplicationInfo[];
235
+ get CurrentUser(): UserInfo;
236
+ get Roles(): RoleInfo[];
237
+ get RowLevelSecurityFilters(): RowLevelSecurityFilterInfo[];
238
+ get AuditLogTypes(): AuditLogTypeInfo[];
239
+ get Authorizations(): AuthorizationInfo[];
240
+ get Queries(): QueryInfo[];
241
+ get QueryFields(): QueryFieldInfo[];
242
+ get QueryCategories(): QueryCategoryInfo[];
243
+ get QueryPermissions(): QueryPermissionInfo[];
244
+ get QueryEntities(): QueryEntityInfo[];
245
+ get QueryParameters(): QueryParameterInfo[];
246
+ get Libraries(): LibraryInfo[];
247
+ get VisibleExplorerNavigationItems(): ExplorerNavigationItem[];
248
+ get AllExplorerNavigationItems(): ExplorerNavigationItem[];
249
+ get LatestRemoteMetadata(): MetadataInfo[];
250
+ get LatestLocalMetadata(): MetadataInfo[];
251
+ get AllMetadata(): AllMetadata;
252
+ LocalMetadataObsolete(type?: string): boolean;
253
+ /**
254
+ * Creates a new instance of a BaseEntity subclass for the specified entity and calls NewRecord() to initialize it.
255
+ * The UUID will be automatically generated for non-auto-increment uniqueidentifier primary keys.
256
+ * @param entityName - The name of the entity to create (e.g., "Users", "Customers")
257
+ * @param contextUser - Optional context user for permissions (mainly used server-side)
258
+ * @returns Promise resolving to the newly created entity instance with NewRecord() already called
259
+ */
260
+ GetEntityObject<T extends BaseEntity>(entityName: string, contextUser?: UserInfo): Promise<T>;
261
+ /**
262
+ * Creates a new instance of a BaseEntity subclass and loads an existing record using the provided key.
263
+ * @param entityName - The name of the entity to create (e.g., "Users", "Customers")
264
+ * @param loadKey - CompositeKey containing the primary key value(s) to load
265
+ * @param contextUser - Optional context user for permissions (mainly used server-side)
266
+ * @returns Promise resolving to the entity instance with the specified record loaded
267
+ * @throws Error if the record cannot be found or loaded
268
+ */
269
+ GetEntityObject<T extends BaseEntity>(entityName: string, loadKey: CompositeKey, contextUser?: UserInfo): Promise<T>;
270
+ /**
271
+ * 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
272
+ * 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
273
+ * 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
274
+ * 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.
275
+ * @param entityName the name of the entity to check
276
+ * @param CompositeKey the compositeKey for the record to check
277
+ */
278
+ GetRecordDependencies(entityName: string, CompositeKey: CompositeKey): Promise<RecordDependency[]>;
279
+ /**
280
+ * Returns a list of record IDs that are possible duplicates of the specified record.
281
+ *
282
+ * @param params Object containing many properties used in fetching records and determining which ones to return
283
+ */
284
+ GetRecordDuplicates(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
285
+ /**
286
+ * Returns a list of entity dependencies, basically metadata that tells you the links to this entity from all other entities.
287
+ * @param entityName
288
+ * @returns
289
+ */
290
+ GetEntityDependencies(entityName: string): Promise<EntityDependency[]>;
291
+ /**
292
+ * 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:
293
+ * 1. A transaction is started
294
+ * 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.
295
+ * 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.
296
+ * 4. The record to be deleted is then deleted.
297
+ * 5. The transaction is committed if all of the above steps are succesful, otherwise it is rolled back.
298
+ *
299
+ * 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.
300
+ *
301
+ * @param request
302
+ * @returns
303
+ */
304
+ MergeRecords(request: RecordMergeRequest, contextUser?: UserInfo, options?: EntityMergeOptions): Promise<RecordMergeResult>;
305
+ /**
306
+ * Returns the Name of the specific recordId for a given entityName. This is done by
307
+ * looking for the IsNameField within the EntityFields collection for a given entity.
308
+ * If no IsNameField is found, but a field called "Name" exists, that value is returned. Otherwise null returned
309
+ * @param entityName
310
+ * @param CompositeKey
311
+ * @returns the name of the record
312
+ */
313
+ GetEntityRecordName(entityName: string, compositeKey: CompositeKey, contextUser?: UserInfo): Promise<string>;
314
+ /**
315
+ * Returns one or more record names using the same logic as GetEntityRecordName, but for multiple records at once - more efficient to use this method if you need to get multiple record names at once
316
+ * @param info
317
+ * @returns an array of EntityRecordNameResult objects
318
+ */
319
+ GetEntityRecordNames(info: EntityRecordNameInput[], contextUser?: UserInfo): Promise<EntityRecordNameResult[]>;
320
+ GetRecordFavoriteStatus(userId: string, entityName: string, CompositeKey: CompositeKey, contextUser?: UserInfo): Promise<boolean>;
321
+ SetRecordFavoriteStatus(userId: string, entityName: string, CompositeKey: CompositeKey, isFavorite: boolean, contextUser: UserInfo): Promise<void>;
322
+ CreateTransactionGroup(): Promise<TransactionGroupBase>;
323
+ Refresh(providerToUse?: IMetadataProvider): Promise<boolean>;
324
+ RefreshIfNeeded(providerToUse?: IMetadataProvider): Promise<boolean>;
325
+ CheckToSeeIfRefreshNeeded(providerToUse?: IMetadataProvider): Promise<boolean>;
326
+ get LocalStorageProvider(): ILocalStorageProvider;
327
+ RefreshRemoteMetadataTimestamps(providerToUse?: IMetadataProvider): Promise<boolean>;
328
+ SaveLocalMetadataToStorage(): Promise<void>;
329
+ RemoveLocalMetadataFromStorage(): Promise<void>;
330
+ /**
331
+ * Always retrieves data from the server - this method does NOT check cache. To use cached local values if available, call GetAndCacheDatasetByName() instead
332
+ * @param datasetName
333
+ * @param itemFilters
334
+ */
335
+ GetDatasetByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetResultType>;
336
+ /**
337
+ * 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
338
+ * @param datasetName
339
+ * @param itemFilters
340
+ */
341
+ GetDatasetStatusByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetStatusResultType>;
342
+ /**
343
+ * 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
344
+ * If itemFilters are provided, the combination of datasetName and the filters are used to determine a match in the cache
345
+ * @param datasetName
346
+ * @param itemFilters
347
+ */
348
+ GetAndCacheDatasetByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo): Promise<DatasetResultType>;
349
+ /**
350
+ * Returns the timestamp of the local cached version of a given datasetName or null if there is no local cache for the
351
+ * specified dataset
352
+ * @param datasetName the name of the dataset to check
353
+ * @param itemFilters optional filters to apply to the dataset
354
+ */
355
+ GetLocalDatasetTimestamp(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<Date>;
356
+ /**
357
+ * 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
358
+ * @param datasetName
359
+ * @param itemFilters
360
+ * @returns
361
+ */
362
+ IsDatasetCacheUpToDate(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<boolean>;
363
+ /**
364
+ * This routine gets the local cached version of a given datasetName/itemFilters combination, it does NOT check the server status first.
365
+ * @param datasetName
366
+ * @param itemFilters
367
+ * @returns
368
+ */
369
+ GetCachedDataset(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<DatasetResultType>;
370
+ /**
371
+ * 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
372
+ * @param datasetName
373
+ * @param itemFilters
374
+ * @param dataset
375
+ */
376
+ CacheDataset(datasetName: string, itemFilters: DatasetItemFilterType[], dataset: DatasetResultType): Promise<void>;
377
+ /**
378
+ * Determines if a given datasetName/itemFilters combination is cached locally or not
379
+ * @param datasetName
380
+ * @param itemFilters
381
+ * @returns
382
+ */
383
+ IsDatasetCached(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<boolean>;
384
+ /**
385
+ * Creates a key for the given datasetName and itemFilters combination
386
+ * @param datasetName
387
+ * @param itemFilters
388
+ * @returns
389
+ */
390
+ GetDatasetCacheKey(datasetName: string, itemFilters?: DatasetItemFilterType[]): string;
391
+ /**
392
+ * 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
393
+ * @param datasetName
394
+ * @param itemFilters
395
+ */
396
+ ClearDatasetCache(datasetName: string, itemFilters?: DatasetItemFilterType[]): Promise<void>;
397
+ /**
398
+ * Provides access the configuration object that was initially provided to configure the provider
399
+ */
400
+ get ConfigData(): ProviderConfigDataBase;
401
+ }
402
+ /**
403
+ * Result of a RunView() execution.
404
+ * Contains the query results along with execution metadata like timing,
405
+ * row counts, and error information.
406
+ */
407
+ export type RunViewResult<T = any> = {
408
+ /**
409
+ * Was the view run successful or not
410
+ */
411
+ Success: boolean;
412
+ /**
413
+ * The array of records returned by the view, only valid if Success is true
414
+ */
415
+ Results: Array<T>;
416
+ /**
417
+ * The newly created UserViews.ID value - only provided if RunViewParams.SaveViewResults=true
418
+ */
419
+ UserViewRunID?: string;
420
+ /**
421
+ * Number of rows returned in the Results[] array
422
+ */
423
+ RowCount: number;
424
+ /**
425
+ * Total number of rows that match the view criteria, not just the number returned in the Results[] array
426
+ * This number will only be different when the view is configured to have a UserViewMaxRows value and the criteria of the view in question
427
+ * has more than that # of rows. Otherwise it will be the same value as RowCount.
428
+ */
429
+ TotalRowCount: number;
430
+ /**
431
+ * Time elapsed in executing the view (in milliseconds)
432
+ */
433
+ ExecutionTime: number;
434
+ /**
435
+ * If Success is false, this will contain a message describing the error condition.
436
+ */
437
+ ErrorMessage: string;
438
+ };
439
+ /**
440
+ * Interface for providers that execute views.
441
+ * Supports parameterized view execution with filtering and pagination.
442
+ * Views are the primary way to query entity data in MemberJunction.
443
+ */
444
+ export interface IRunViewProvider {
445
+ Config(configData: ProviderConfigDataBase): Promise<boolean>;
446
+ RunView<T = any>(params: RunViewParams, contextUser?: UserInfo): Promise<RunViewResult<T>>;
447
+ RunViews<T = any>(params: RunViewParams[], contextUser?: UserInfo): Promise<RunViewResult<T>[]>;
448
+ }
449
+ /**
450
+ * Result of executing a saved query.
451
+ * Contains the query results and execution metadata.
452
+ */
453
+ export type RunQueryResult = {
454
+ QueryID: string;
455
+ QueryName: string;
456
+ Success: boolean;
457
+ Results: any[];
458
+ RowCount: number;
459
+ /**
460
+ * Total number of rows that would be returned without pagination.
461
+ * Only differs from RowCount when StartRow or MaxRows are used.
462
+ */
463
+ TotalRowCount: number;
464
+ ExecutionTime: number;
465
+ ErrorMessage: string;
466
+ /**
467
+ * Parameters that were applied to the query, including defaults
468
+ */
469
+ AppliedParameters?: Record<string, any>;
470
+ /**
471
+ * Whether this result was served from cache
472
+ */
473
+ CacheHit?: boolean;
474
+ /**
475
+ * Cache key used for this query
476
+ */
477
+ CacheKey?: string;
478
+ /**
479
+ * Time until cache expiration in milliseconds
480
+ */
481
+ CacheTTLRemaining?: number;
482
+ };
483
+ /**
484
+ * Interface for providers that execute stored queries.
485
+ * Supports execution of pre-defined SQL queries with security controls.
486
+ * Queries must be pre-approved and stored in the Query entity.
487
+ */
488
+ export interface IRunQueryProvider {
489
+ Config(configData: ProviderConfigDataBase): Promise<boolean>;
490
+ RunQuery(params: RunQueryParams, contextUser?: UserInfo): Promise<RunQueryResult>;
491
+ }
492
+ /**
493
+ * Result of executing a report.
494
+ * Contains the report data and execution metadata.
495
+ */
496
+ export type RunReportResult = {
497
+ ReportID: string;
498
+ Success: boolean;
499
+ Results: any[];
500
+ RowCount: number;
501
+ ExecutionTime: number;
502
+ ErrorMessage: string;
503
+ };
504
+ /**
505
+ * Interface for providers that execute reports.
506
+ * Handles report generation with various output formats.
507
+ * Reports combine data from multiple sources and apply formatting.
508
+ */
509
+ export interface IRunReportProvider {
510
+ Config(configData: ProviderConfigDataBase): Promise<boolean>;
511
+ RunReport(params: RunReportParams, contextUser?: UserInfo): Promise<RunReportResult>;
512
+ }
513
+ /**
514
+ * Result of loading a dataset.
515
+ * Contains all dataset items with their data and metadata.
516
+ * Datasets are collections of related entity data loaded together.
517
+ */
518
+ export type DatasetResultType = {
519
+ DatasetID: string;
520
+ DatasetName: string;
521
+ Success: boolean;
522
+ Status: string;
523
+ LatestUpdateDate: Date;
524
+ Results: DatasetItemResultType[];
525
+ };
526
+ /**
527
+ * Result for a single item within a dataset.
528
+ * Represents one entity's data within the larger dataset collection.
529
+ */
530
+ export type DatasetItemResultType = {
531
+ Code: string;
532
+ EntityName: string;
533
+ EntityID: string;
534
+ Results: any[];
535
+ /**
536
+ * Optional, provides the latest update date for the results provided
537
+ */
538
+ LatestUpdateDate?: Date;
539
+ /**
540
+ * Optional, a message if this item failed to load
541
+ */
542
+ Status?: string;
543
+ /**
544
+ * Optional, if not provided Success is assumed to be true
545
+ */
546
+ Success?: boolean;
547
+ };
548
+ /**
549
+ * Filter specification for a dataset item.
550
+ * Allows applying custom WHERE clauses to individual dataset items.
551
+ */
552
+ export type DatasetItemFilterType = {
553
+ ItemCode: string;
554
+ Filter: string;
555
+ };
556
+ /**
557
+ * Status information for a dataset.
558
+ * Used to check if cached data is up-to-date without loading the full dataset.
559
+ */
560
+ export type DatasetStatusResultType = {
561
+ DatasetID: string;
562
+ DatasetName: string;
563
+ Success: boolean;
564
+ Status: string;
565
+ LatestUpdateDate: Date;
566
+ EntityUpdateDates: DatasetStatusEntityUpdateDateType[];
567
+ };
568
+ /**
569
+ * Update date information for a single entity within a dataset.
570
+ * Tracks when each entity's data was last modified.
571
+ */
572
+ export type DatasetStatusEntityUpdateDateType = {
573
+ EntityName: string;
574
+ EntityID: string;
575
+ UpdateDate: Date;
576
+ RowCount: number;
577
+ };
578
+ /**
579
+ * AllMetadata is used to pass all metadata around in a single object for convenience and type safety.
580
+ * Contains all system metadata collections including entities, applications, security, and queries.
581
+ * This class provides a centralized way to access all MemberJunction metadata.
582
+ */
583
+ export declare class AllMetadata {
584
+ CurrentUser: UserInfo;
585
+ AllEntities: EntityInfo[];
586
+ AllApplications: ApplicationInfo[];
587
+ AllRoles: RoleInfo[];
588
+ AllRowLevelSecurityFilters: RowLevelSecurityFilterInfo[];
589
+ AllAuditLogTypes: AuditLogTypeInfo[];
590
+ AllAuthorizations: AuthorizationInfo[];
591
+ AllQueryCategories: QueryCategoryInfo[];
592
+ AllQueries: QueryInfo[];
593
+ AllQueryFields: QueryFieldInfo[];
594
+ AllQueryPermissions: QueryPermissionInfo[];
595
+ AllQueryEntities: QueryEntityInfo[];
596
+ AllQueryParameters: QueryParameterInfo[];
597
+ AllEntityDocumentTypes: EntityDocumentTypeInfo[];
598
+ AllLibraries: LibraryInfo[];
599
+ AllExplorerNavigationItems: ExplorerNavigationItem[];
600
+ }
601
+ /**
602
+ * Represents the result of a simple text embedding operation. Not
603
+ * implemented in @memberjunction/global package but defined here and
604
+ * implemented in sub-classes that live exclusively on the server-side
605
+ */
606
+ export interface SimpleEmbeddingResult {
607
+ vector: number[];
608
+ modelID: string;
609
+ }
610
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/generic/interfaces.ts"],"names":[],"mappings":"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"}