bpmn-server / ModelHistory
Class: ModelHistory#
A model's history: every save kept, as files beside the models, in <models folder>/.history/<name>/: one file
per version, 0001.bpmn, or 0001.<user>.bpmn with who saved it. When it was saved and its size are the file's.
A save that changes nothing adds nothing. The first save of a model that has a file but no history keeps that
file first, as it was (with its time). Purging removes the model's history folder.
Table of contents#
Constructors#
Properties#
Methods#
Constructors#
constructor#
• new ModelHistory(folder): ModelHistory
Parameters#
| Name | Type |
|---|---|
folder |
string |
Returns#
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:32
Properties#
turns#
▪ Static Private Readonly turns: Map\<string, Promise\<unknown>>
Saves of a model's history take turns in this process, by its folder: two saves at once are two versions.
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:30
folder#
• Private Readonly folder: string
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:32
Methods#
dir#
▸ dir(name): string
Parameters#
| Name | Type |
|---|---|
name |
string |
Returns#
string
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:34
files#
▸ files(name): Promise\<{ version: number ; savedBy: string ; file: string }[]>
The version files: [{ version, savedBy, file }], newest first.
Parameters#
| Name | Type |
|---|---|
name |
string |
Returns#
Promise\<{ version: number ; savedBy: string ; file: string }[]>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:43
list#
▸ list(name): Promise\<IModelVersion[]>
The model's versions, newest first.
Parameters#
| Name | Type |
|---|---|
name |
string |
Returns#
Promise\<IModelVersion[]>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:58
source#
▸ source(name, version): Promise\<string>
A version's model, or null when there is no such version.
Parameters#
| Name | Type |
|---|---|
name |
string |
version |
number |
Returns#
Promise\<string>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:72
keep#
▸ keep(name, source, savedBy?, before?): Promise\<IModelVersion>
Keeps a save: the next version, unless the model is the latest version already. before is the model's
file as it was before this save (kept first when the model has no history yet). Returns the version kept,
or null.
Parameters#
| Name | Type |
|---|---|
name |
string |
source |
string |
savedBy? |
string |
before? |
Object |
before.source |
string |
before.savedAt |
Date |
Returns#
Promise\<IModelVersion>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:90
keepNow#
▸ keepNow(dir, name, source, savedBy?, before?): Promise\<IModelVersion>
Parameters#
| Name | Type |
|---|---|
dir |
string |
name |
string |
source |
string |
savedBy? |
string |
before? |
Object |
before.source |
string |
before.savedAt |
Date |
Returns#
Promise\<IModelVersion>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:104
write#
▸ write(dir, name, version, source, savedBy?, savedAt?): Promise\<IModelVersion>
Writes a version's file; null when the number is taken (by a save in another process), to try the next.
Parameters#
| Name | Type |
|---|---|
dir |
string |
name |
string |
version |
number |
source |
string |
savedBy? |
string |
savedAt? |
Date |
Returns#
Promise\<IModelVersion>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:124
remove#
▸ remove(name, version): Promise\<boolean>
Removes one version; false when there is no such version. It takes its turn with the saves, so a save and a delete at once do not cross. The other versions keep their numbers.
Parameters#
| Name | Type |
|---|---|
name |
string |
version |
number |
Returns#
Promise\<boolean>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:147
purge#
▸ purge(name): Promise\<number>
Removes the model's history; returns how many versions it had.
Parameters#
| Name | Type |
|---|---|
name |
string |
Returns#
Promise\<number>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:167
rename#
▸ rename(name, newName): Promise\<void>
The history follows the model to its new name.
Parameters#
| Name | Type |
|---|---|
name |
string |
newName |
string |
Returns#
Promise\<void>
Defined in#
packages/bpmn-server/src/datastore/ModelHistory.ts:174