bpmn-server / DataStore
Class: DataStore#
super class for various objects that are part of the server
Hierarchy#
↳ DataStore
Implements#
Table of contents#
Constructors#
Properties#
- dbConfiguration
- db
- ownsDb
- execution
- isModified
- isRunning
- inSaving
- promises
- locker
- enableSavePoints
- saveLogs
- saveSource
- seq
- server
Accessors#
- configuration
- logger
- cron
- cache
- appDelegate
- engine
- dataStore
- lockManager
- definitions
- listener
- scriptHandler
Methods#
- save
- loadInstance
- getItemsFromInstances
- saveInstance
- findItem
- findInstance
- convertObj
- convertColl
- findInstances
- findItems
- backup
- countInstances
- updateInstanceSource
- tagInstance
- close
- deleteInstances
- install
- archive
- find
Constructors#
constructor#
• new DataStore(server): DataStore
Parameters#
| Name | Type |
|---|---|
server |
IBPMNServer |
Returns#
Overrides#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:39
Properties#
dbConfiguration#
• dbConfiguration: any
Deprecated
MongoDB's settings, for code written against the MongoDB data store; engine code does not read it.
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:23
db#
• db: any
The storage adapter: the server's shared documentStore, else this data store's own MongoDB connection.
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:25
ownsDb#
• Private Readonly ownsDb: boolean
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:26
execution#
• execution: Execution
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:28
isModified#
• isModified: boolean = false
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:29
isRunning#
• isRunning: boolean = false
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:30
inSaving#
• inSaving: boolean = false
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:31
promises#
• promises: any[] = []
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:32
locker#
• locker: ILockManager
The data store's own lock adapter; the engine uses the server's (server.locker), which is this one unless the configuration supplies another.
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:33
enableSavePoints#
• enableSavePoints: boolean = false
A save point at each save (engine.restart goes back to one); an instance's flags.savePoints overrides it.
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:35
saveLogs#
• saveLogs: boolean = true
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:36
saveSource#
• saveSource: boolean = true
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:37
seq#
▪ Static seq: number = 0
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:121
server#
• server: any
Inherited from#
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:10
Accessors#
configuration#
• get configuration(): any
Returns#
any
Inherited from#
ServerComponent.configuration
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:15
logger#
• get logger(): any
Returns#
any
Implementation of#
Inherited from#
ServerComponent.logger
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:16
cron#
• get cron(): Cron
Returns#
Inherited from#
ServerComponent.cron
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:17
cache#
• get cache(): ICacheManager
Returns#
Inherited from#
ServerComponent.cache
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:18
appDelegate#
• get appDelegate(): any
Returns#
any
Inherited from#
ServerComponent.appDelegate
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:19
engine#
• get engine(): IEngine
Returns#
Inherited from#
ServerComponent.engine
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:20
dataStore#
• get dataStore(): any
Returns#
any
Inherited from#
ServerComponent.dataStore
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:21
lockManager#
• get lockManager(): any
The lock port: the configuration's, else the data store's.
Returns#
any
Inherited from#
ServerComponent.lockManager
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:23
definitions#
• get definitions(): any
Returns#
any
Inherited from#
ServerComponent.definitions
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:24
listener#
• get listener(): any
Returns#
any
Inherited from#
ServerComponent.listener
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:25
scriptHandler#
• get scriptHandler(): any
Returns#
any
Inherited from#
ServerComponent.scriptHandler
Defined in#
packages/bpmn-server/src/server/ServerComponent.ts:26
Methods#
save#
▸ save(instance, options?): Promise\<void>
Parameters#
| Name | Type |
|---|---|
instance |
any |
options |
Object |
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:67
loadInstance#
▸ loadInstance(instanceId, options?): Promise\<{ instance: IInstanceData = instanceData; items: any[] }>
Parameters#
| Name | Type |
|---|---|
instanceId |
any |
options |
Object |
Returns#
Promise\<{ instance: IInstanceData = instanceData; items: any[] }>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:70
getItemsFromInstances#
▸ getItemsFromInstances(instances, condition?, trans?): any[]
Parameters#
| Name | Type | Default value |
|---|---|---|
instances |
any |
undefined |
condition |
any |
null |
trans |
any |
null |
Returns#
any[]
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:88
saveInstance#
▸ saveInstance(instance, options?): Promise\<void>
Parameters#
| Name | Type |
|---|---|
instance |
any |
options |
Object |
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:122
findItem#
▸ findItem(query): Promise\<IItemData>
Parameters#
| Name | Type |
|---|---|
query |
any |
Returns#
Promise\<IItemData>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:181
findInstance#
▸ findInstance(query, options): Promise\<IInstanceData>
Parameters#
| Name | Type |
|---|---|
query |
any |
options |
any |
Returns#
Promise\<IInstanceData>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:191
convertObj#
▸ convertObj(obj, cls): any
Parameters#
| Name | Type |
|---|---|
obj |
any |
cls |
any |
Returns#
any
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:206
convertColl#
▸ convertColl(coll, cls): void
Parameters#
| Name | Type |
|---|---|
coll |
any |
cls |
any |
Returns#
void
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:210
findInstances#
▸ findInstances(query, option?): Promise\<IInstanceData[]>
Parameters#
| Name | Type | Default value | Description |
|---|---|---|---|
query |
any |
undefined |
|
option |
any |
'summary' |
'summary' minimal data - 'full' - |
Returns#
Promise\<IInstanceData[]>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:229
findItems#
▸ findItems(query): Promise\<IItemData[]>
scenario:
itemId { items { id : value } }
itemKey { items {key: value } }
instance, task { instance: { id: instanceId }, items: { elementId: value }}
message { items: { messageId: nameofmessage, key: value } {}
status { items: {status: 'wait' } }
custom: { query: query, projection: projection }
itemId { items { id : value } }
itemKey { items {key: value } }
instance, task { id: instanceId , items.elementId: value }
message { items.messageId: nameofmessage, key: value } {}
status { items.status: 'wait' } }
custom: { query: query, projection: projection }
Problem with Mongodb: projection $elematch returns only the first record
Parameters#
| Name | Type |
|---|---|
query |
any |
Returns#
Promise\<IItemData[]>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:270
backup#
▸ backup(): Promise\<Record\<string, any[]>>
Every document of the instances, archive and locks collections, by collection name: for a backup.
Returns#
Promise\<Record\<string, any[]>>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:284
countInstances#
▸ countInstances(query): Promise\<number>
How many instances match query (MongoDB's query language, as findInstances).
Parameters#
| Name | Type |
|---|---|
query |
any |
Returns#
Promise\<number>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:293
updateInstanceSource#
▸ updateInstanceSource(instanceId, source): Promise\<void>
Replaces a saved instance's definition source (upgrading it to a newer model); the caller holds the instance's lock.
Parameters#
| Name | Type |
|---|---|
instanceId |
string |
source |
string |
Returns#
Promise\<void>
Implementation of#
IDataStore.updateInstanceSource
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:300
tagInstance#
▸ tagInstance(instanceId, tag): Promise\<void>
Marks a saved instance with a tag of the caller's: a field of its own, which the engine's saves leave as it is.
Parameters#
| Name | Type |
|---|---|
instanceId |
string |
tag |
any |
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:305
close#
▸ close(): Promise\<void>
Releases the store's connections.
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:309
deleteInstances#
▸ deleteInstances(query): Promise\<any>
Parameters#
| Name | Type |
|---|---|
query |
any |
Returns#
Promise\<any>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:313
install#
▸ install(): Promise\<void>
first time installation of DB
creates a new collection and add an index
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:327
archive#
▸ archive(query): Promise\<void>
Parameters#
| Name | Type |
|---|---|
query |
any |
Returns#
Promise\<void>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:334
find#
▸ find(«destructured»): Promise\<FindResult\<any>>
MongoDB Pagination class for finding instances in a collection.
This module provides a function to retrieve paginated results from a MongoDB collection.
It allows filtering, sorting, and projecting fields in the results.
The results can be paginated using a cursor for efficient data retrieval.
all the parameters are optional and are passed to the findInstances method.
* sort fields can be specified as an object with field names as keys and 1 (ascending) or -1 (descending) as values.
* Sort by _id in descending order by default.
* Sort field can be a nested field, e.g., data.caseId
* Sort field can be a numeric or date field.
* filter is an object that specifies the criteria for filtering the results.
* after is a string that specifies the cursor for pagination, allowing you to retrieve results after a specific document.
* * limit is a number that specifies the maximum number of documents to return in the result set.
* * projection is an object that specifies which fields to include or exclude in the returned documents.
*
Parameters#
| Name | Type |
|---|---|
«destructured» |
FindParams |
Returns#
Promise\<FindResult\<any>>
Implementation of#
Defined in#
packages/bpmn-server/src/datastore/DataStore.ts:365