Provides access the configuration object that was initially provided to configure the provider
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
Optional providerToUse: IMetadataProviderIf 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
Optional itemFilters: DatasetItemFilterType[]Optional providerToUse: IMetadataProviderGets 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 If itemFilters are provided, the combination of datasetName and the filters are used to determine a match in the cache
Optional itemFilters: DatasetItemFilterType[]Optional contextUser: UserInfoThis routine gets the local cached version of a given datasetName/itemFilters combination, it does NOT check the server status first.
Optional itemFilters: DatasetItemFilterType[]Always retrieves data from the server - this method does NOT check cache. To use cached local values if available, call GetAndCacheDatasetByName() instead
Optional itemFilters: DatasetItemFilterType[]Optional contextUser: UserInfoOptional providerToUse: IMetadataProviderCreates a key for the given datasetName and itemFilters combination
Optional itemFilters: DatasetItemFilterType[]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
Optional itemFilters: DatasetItemFilterType[]Optional contextUser: UserInfoOptional providerToUse: IMetadataProviderReturns a list of entity dependencies, basically metadata that tells you the links to this entity from all other entities.
Creates a new instance of a BaseEntity subclass for the specified entity and calls NewRecord() to initialize it. The UUID will be automatically generated for non-auto-increment uniqueidentifier primary keys.
The name of the entity to create (e.g., "Users", "Customers")
Optional contextUser: UserInfoOptional context user for permissions (mainly used server-side)
Promise resolving to the newly created entity instance with NewRecord() already called
Creates a new instance of a BaseEntity subclass and loads an existing record using the provided key.
The name of the entity to create (e.g., "Users", "Customers")
CompositeKey containing the primary key value(s) to load
Optional contextUser: UserInfoOptional context user for permissions (mainly used server-side)
Promise resolving to the entity instance with the specified record loaded
Error if the record cannot be found or loaded
Returns the Name of the specific recordId for a given entityName. This is done by looking for the IsNameField within the EntityFields collection for a given entity. If no IsNameField is found, but a field called "Name" exists, that value is returned. Otherwise null returned
Optional contextUser: UserInfothe name of the record
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
Optional contextUser: UserInfoan array of EntityRecordNameResult objects
Returns the timestamp of the local cached version of a given datasetName or null if there is no local cache for the specified dataset
the name of the dataset to check
Optional itemFilters: DatasetItemFilterType[]optional filters to apply to the dataset
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 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 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 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.
the name of the entity to check
the compositeKey for the record to check
Returns a list of record IDs that are possible duplicates of the specified record.
Object containing many properties used in fetching records and determining which ones to return
Optional contextUser: UserInfoOptional contextUser: UserInfoThis routine checks to see if the local cache version of a given datasetName/itemFilters combination is up to date with the server or not
Optional itemFilters: DatasetItemFilterType[]Determines if a given datasetName/itemFilters combination is cached locally or not
Optional itemFilters: DatasetItemFilterType[]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:
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.
Optional contextUser: UserInfoOptional options: EntityMergeOptionsOptional providerToUse: IMetadataProviderOptional providerToUse: IMetadataProviderOptional providerToUse: IMetadataProvider
Core interface for metadata providers in MemberJunction. Provides access to all system metadata including entities, applications, security, and queries. This is the primary interface for accessing MemberJunction's metadata layer. Implementations typically cache metadata locally for performance.