@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.
- package/dist/Core.d.ts +29 -0
- package/dist/Core.d.ts.map +1 -0
- package/dist/Core.js +58 -0
- package/dist/Core.js.map +1 -0
- package/dist/generic/QueryCache.d.ts +85 -0
- package/dist/generic/QueryCache.d.ts.map +1 -0
- package/dist/generic/QueryCache.js +198 -0
- package/dist/generic/QueryCache.js.map +1 -0
- package/dist/generic/QueryCacheConfig.d.ts +72 -0
- package/dist/generic/QueryCacheConfig.d.ts.map +1 -0
- package/dist/generic/QueryCacheConfig.js +3 -0
- package/dist/generic/QueryCacheConfig.js.map +1 -0
- package/dist/generic/applicationInfo.d.ts +138 -0
- package/dist/generic/applicationInfo.d.ts.map +1 -0
- package/dist/generic/applicationInfo.js +177 -0
- package/dist/generic/applicationInfo.js.map +1 -0
- package/dist/generic/authEvaluator.d.ts +25 -0
- package/dist/generic/authEvaluator.d.ts.map +1 -0
- package/dist/generic/authEvaluator.js +49 -0
- package/dist/generic/authEvaluator.js.map +1 -0
- package/dist/generic/authTypes.d.ts +193 -0
- package/dist/generic/authTypes.d.ts.map +1 -0
- package/dist/generic/authTypes.js +19 -0
- package/dist/generic/authTypes.js.map +1 -0
- package/dist/generic/baseEngine.d.ts +260 -0
- package/dist/generic/baseEngine.d.ts.map +1 -0
- package/dist/generic/baseEngine.js +510 -0
- package/dist/generic/baseEngine.js.map +1 -0
- package/dist/generic/baseEntity.d.ts +691 -0
- package/dist/generic/baseEntity.d.ts.map +1 -0
- package/dist/generic/baseEntity.js +1688 -0
- package/dist/generic/baseEntity.js.map +1 -0
- package/dist/generic/baseInfo.d.ts +24 -0
- package/dist/generic/baseInfo.d.ts.map +1 -0
- package/dist/generic/baseInfo.js +53 -0
- package/dist/generic/baseInfo.js.map +1 -0
- package/dist/generic/compositeKey.d.ts +206 -0
- package/dist/generic/compositeKey.d.ts.map +1 -0
- package/dist/generic/compositeKey.js +412 -0
- package/dist/generic/compositeKey.js.map +1 -0
- package/dist/generic/databaseProviderBase.d.ts +46 -0
- package/dist/generic/databaseProviderBase.d.ts.map +1 -0
- package/dist/generic/databaseProviderBase.js +14 -0
- package/dist/generic/databaseProviderBase.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +983 -0
- package/dist/generic/entityInfo.d.ts.map +1 -0
- package/dist/generic/entityInfo.js +1401 -0
- package/dist/generic/entityInfo.js.map +1 -0
- package/dist/generic/explorerNavigationItem.d.ts +20 -0
- package/dist/generic/explorerNavigationItem.d.ts.map +1 -0
- package/dist/generic/explorerNavigationItem.js +29 -0
- package/dist/generic/explorerNavigationItem.js.map +1 -0
- package/dist/generic/interfaces.d.ts +610 -0
- package/dist/generic/interfaces.d.ts.map +1 -0
- package/dist/generic/interfaces.js +211 -0
- package/dist/generic/interfaces.js.map +1 -0
- package/dist/generic/libraryInfo.d.ts +40 -0
- package/dist/generic/libraryInfo.d.ts.map +1 -0
- package/dist/generic/libraryInfo.js +56 -0
- package/dist/generic/libraryInfo.js.map +1 -0
- package/dist/generic/logging.d.ts +179 -0
- package/dist/generic/logging.d.ts.map +1 -0
- package/dist/generic/logging.js +382 -0
- package/dist/generic/logging.js.map +1 -0
- package/dist/generic/metadata.d.ts +305 -0
- package/dist/generic/metadata.d.ts.map +1 -0
- package/dist/generic/metadata.js +454 -0
- package/dist/generic/metadata.js.map +1 -0
- package/dist/generic/metadataUtil.d.ts +8 -0
- package/dist/generic/metadataUtil.d.ts.map +1 -0
- package/dist/generic/metadataUtil.js +36 -0
- package/dist/generic/metadataUtil.js.map +1 -0
- package/dist/generic/providerBase.d.ts +546 -0
- package/dist/generic/providerBase.d.ts.map +1 -0
- package/dist/generic/providerBase.js +999 -0
- package/dist/generic/providerBase.js.map +1 -0
- package/dist/generic/queryInfo.d.ts +460 -0
- package/dist/generic/queryInfo.d.ts.map +1 -0
- package/dist/generic/queryInfo.js +633 -0
- package/dist/generic/queryInfo.js.map +1 -0
- package/dist/generic/querySQLFilters.d.ts +54 -0
- package/dist/generic/querySQLFilters.d.ts.map +1 -0
- package/dist/generic/querySQLFilters.js +84 -0
- package/dist/generic/querySQLFilters.js.map +1 -0
- package/dist/generic/runQuery.d.ts +96 -0
- package/dist/generic/runQuery.d.ts.map +1 -0
- package/dist/generic/runQuery.js +66 -0
- package/dist/generic/runQuery.js.map +1 -0
- package/dist/generic/runQuerySQLFilterImplementations.d.ts +51 -0
- package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -0
- package/dist/generic/runQuerySQLFilterImplementations.js +238 -0
- package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -0
- package/dist/generic/runReport.d.ts +25 -0
- package/dist/generic/runReport.d.ts.map +1 -0
- package/dist/generic/runReport.js +42 -0
- package/dist/generic/runReport.js.map +1 -0
- package/dist/generic/securityInfo.d.ts +355 -0
- package/dist/generic/securityInfo.d.ts.map +1 -0
- package/dist/generic/securityInfo.js +425 -0
- package/dist/generic/securityInfo.js.map +1 -0
- package/dist/generic/transactionGroup.d.ts +184 -0
- package/dist/generic/transactionGroup.d.ts.map +1 -0
- package/dist/generic/transactionGroup.js +357 -0
- package/dist/generic/transactionGroup.js.map +1 -0
- package/dist/generic/util.d.ts +81 -0
- package/dist/generic/util.d.ts.map +1 -0
- package/dist/generic/util.js +301 -0
- package/dist/generic/util.js.map +1 -0
- package/dist/views/runView.d.ts +150 -0
- package/dist/views/runView.d.ts.map +1 -0
- package/dist/views/runView.js +100 -0
- package/dist/views/runView.js.map +1 -0
- package/dist/views/viewInfo.d.ts +121 -0
- package/dist/views/viewInfo.d.ts.map +1 -0
- package/dist/views/viewInfo.js +182 -0
- package/dist/views/viewInfo.js.map +1 -0
- 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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"}
|