diff options
Diffstat (limited to 'server/models/application.js')
-rw-r--r-- | server/models/application.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/server/models/application.js b/server/models/application.js new file mode 100644 index 000000000..8185f0915 --- /dev/null +++ b/server/models/application.js | |||
@@ -0,0 +1,31 @@ | |||
1 | const mongoose = require('mongoose') | ||
2 | |||
3 | // --------------------------------------------------------------------------- | ||
4 | |||
5 | const ApplicationSchema = mongoose.Schema({ | ||
6 | mongoSchemaVersion: { | ||
7 | type: Number, | ||
8 | default: 0 | ||
9 | } | ||
10 | }) | ||
11 | |||
12 | ApplicationSchema.statics = { | ||
13 | loadMongoSchemaVersion: loadMongoSchemaVersion, | ||
14 | updateMongoSchemaVersion: updateMongoSchemaVersion | ||
15 | } | ||
16 | |||
17 | mongoose.model('Application', ApplicationSchema) | ||
18 | |||
19 | // --------------------------------------------------------------------------- | ||
20 | |||
21 | function loadMongoSchemaVersion (callback) { | ||
22 | return this.findOne({}, { mongoSchemaVersion: 1 }, function (err, data) { | ||
23 | const version = data ? data.mongoSchemaVersion : 0 | ||
24 | |||
25 | return callback(err, version) | ||
26 | }) | ||
27 | } | ||
28 | |||
29 | function updateMongoSchemaVersion (newVersion, callback) { | ||
30 | return this.update({}, { mongoSchemaVersion: newVersion }, callback) | ||
31 | } | ||