@villedemontreal/mongo 6.7.0 → 6.7.3
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/scripts/index.d.ts +6 -0
- package/dist/scripts/index.js +16 -0
- package/dist/scripts/index.js.map +1 -0
- package/dist/scripts/lint.d.ts +6 -0
- package/dist/scripts/lint.js +18 -0
- package/dist/scripts/lint.js.map +1 -0
- package/dist/scripts/lintFix.d.ts +6 -0
- package/dist/scripts/lintFix.js +21 -0
- package/dist/scripts/lintFix.js.map +1 -0
- package/dist/scripts/showCoverage.d.ts +13 -0
- package/dist/scripts/showCoverage.js +40 -0
- package/dist/scripts/showCoverage.js.map +1 -0
- package/dist/scripts/test.d.ts +13 -0
- package/dist/scripts/test.js +29 -0
- package/dist/scripts/test.js.map +1 -0
- package/dist/scripts/testUnits.d.ts +15 -0
- package/dist/scripts/testUnits.js +95 -0
- package/dist/scripts/testUnits.js.map +1 -0
- package/dist/scripts/watch.d.ts +14 -0
- package/dist/scripts/watch.js +96 -0
- package/dist/scripts/watch.js.map +1 -0
- package/dist/src/config/configs.d.ts +4 -1
- package/dist/src/config/configs.js +6 -0
- package/dist/src/config/configs.js.map +1 -1
- package/dist/src/config/constants.d.ts +1 -1
- package/dist/src/config/constants.js +12 -12
- package/dist/src/config/constants.js.map +1 -1
- package/dist/src/config/init.js.map +1 -1
- package/dist/src/config/mongooseConfigs.js +8 -6
- package/dist/src/config/mongooseConfigs.js.map +1 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mongoClient.js +64 -59
- package/dist/src/mongoClient.js.map +1 -1
- package/dist/src/mongoUpdater.js +30 -27
- package/dist/src/mongoUpdater.js.map +1 -1
- package/dist/src/mongoUpdater.test.js +11 -11
- package/dist/src/mongoUpdater.test.js.map +1 -1
- package/dist/src/mongoUtils.d.ts +1 -1
- package/dist/src/mongoUtils.js +15 -12
- package/dist/src/mongoUtils.js.map +1 -1
- package/dist/src/mongoUtils.test.d.ts +0 -1
- package/dist/src/mongoUtils.test.js +21 -22
- package/dist/src/mongoUtils.test.js.map +1 -1
- package/dist/src/plugins/pagination/index.js +9 -12
- package/dist/src/plugins/pagination/index.js.map +1 -1
- package/dist/src/plugins/pagination/index.test.js +20 -12
- package/dist/src/plugins/pagination/index.test.js.map +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/utils/logger.js.map +1 -1
- package/dist/src/utils/testingConfigurations.js +1 -1
- package/dist/src/utils/testingConfigurations.js.map +1 -1
- package/dist/tests/testingMongoUpdates/1.0.0.js +3 -3
- package/dist/tests/testingMongoUpdates/1.0.1.js +4 -4
- package/dist/tests/testingMongoUpdates/1.0.1.js.map +1 -1
- package/package.json +20 -15
- package/src/config/configs.ts +10 -1
- package/src/config/constants.ts +13 -13
- package/src/config/init.ts +1 -1
- package/src/config/mongooseConfigs.ts +30 -12
- package/src/mongoClient.ts +80 -63
- package/src/mongoUpdater.test.ts +29 -17
- package/src/mongoUpdater.ts +47 -32
- package/src/mongoUtils.test.ts +21 -21
- package/src/mongoUtils.ts +20 -14
- package/src/plugins/pagination/index.test.ts +38 -27
- package/src/plugins/pagination/index.ts +19 -14
- package/src/utils/logger.ts +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongooseConfigs.js","sourceRoot":"","sources":["../../../src/config/mongooseConfigs.ts"],"names":[],"mappings":";;;AAAA,kEAAuD;AACvD,4BAA4B;AAC5B,4CAA+C;AAC/C,2CAAwC;AAExC,MAAM,MAAM,GAAG,qBAAY,
|
|
1
|
+
{"version":3,"file":"mongooseConfigs.js","sourceRoot":"","sources":["../../../src/config/mongooseConfigs.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./mongoUtils"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,qDAAmC;AAEnC,gDAA8B;AAE9B,6CAA6C;AAC7C,gDAAgD;AAChD,6CAA6C;AAC7C,qCAAqC;AACrC,6CAA6C;AAC7C,gDAA8B;AAC9B,uDAAqC;AACrC,kFAAkF"}
|
package/dist/src/mongoClient.js
CHANGED
|
@@ -8,8 +8,66 @@ const mongooseConfigs_1 = require("./config/mongooseConfigs");
|
|
|
8
8
|
const mongoUpdater_1 = require("./mongoUpdater");
|
|
9
9
|
const mongoUtils_1 = require("./mongoUtils");
|
|
10
10
|
const logger_1 = require("./utils/logger");
|
|
11
|
-
const logger = logger_1.createLogger('mongoClient');
|
|
11
|
+
const logger = (0, logger_1.createLogger)('mongoClient');
|
|
12
12
|
let mongooseConnection;
|
|
13
|
+
async function doInitMongoose(mongooseConfigClean, resolve, reject) {
|
|
14
|
+
let connectionString = mongooseConfigClean.connectionString;
|
|
15
|
+
// ==========================================
|
|
16
|
+
// Mocked Mongo server?
|
|
17
|
+
// ==========================================
|
|
18
|
+
if (connectionString === constants_1.constants.mongo.testing.MOCK_CONNECTION_STRING) {
|
|
19
|
+
// ==========================================
|
|
20
|
+
// Mock!
|
|
21
|
+
// ==========================================
|
|
22
|
+
const mongoServer = await mongoUtils_1.mongoUtils.mockMongoose(null, mongooseConfigClean.mockServer.serverVersion);
|
|
23
|
+
connectionString = mongoServer.getUri();
|
|
24
|
+
}
|
|
25
|
+
if (mongooseConnection) {
|
|
26
|
+
await mongooseConnection.close();
|
|
27
|
+
mongooseConnection = undefined;
|
|
28
|
+
}
|
|
29
|
+
// Updates Promise for mongoose, avoid warning log emit by mongoose
|
|
30
|
+
mongoose.Promise = global.Promise;
|
|
31
|
+
const mongoOptions = (0, lodash_1.defaultsDeep)(mongooseConfigClean.connectionOptions, {
|
|
32
|
+
promiseLibrary: global.Promise,
|
|
33
|
+
});
|
|
34
|
+
// Creates the connection
|
|
35
|
+
mongooseConnection = mongoose.createConnection(connectionString, mongoOptions);
|
|
36
|
+
// Triggered if an error occured
|
|
37
|
+
mongooseConnection.on('error', (err) => {
|
|
38
|
+
mongooseConnection = null;
|
|
39
|
+
reject(`Mongo Database: Error connecting to Mongo: ${err}`);
|
|
40
|
+
});
|
|
41
|
+
// Triggered when the connection is made.
|
|
42
|
+
mongooseConnection.on('connected', () => {
|
|
43
|
+
(async () => {
|
|
44
|
+
// Check for schema updates once the connexion is made
|
|
45
|
+
if (mongooseConfigClean.applyUpdates) {
|
|
46
|
+
try {
|
|
47
|
+
await checkForUpdates(mongooseConfigClean);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
try {
|
|
51
|
+
await mongooseConnection.close();
|
|
52
|
+
mongooseConnection = undefined;
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
logger.warning(`Error closing connection to Mongo : ${err}`);
|
|
56
|
+
}
|
|
57
|
+
reject(`Error updating Mongo: ${err}`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
logger.info(`Mongo updates skipped`);
|
|
63
|
+
}
|
|
64
|
+
// All good!
|
|
65
|
+
resolve(mongooseConnection);
|
|
66
|
+
})().catch((err) => {
|
|
67
|
+
reject(err);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
13
71
|
/**
|
|
14
72
|
* This is the entry point to use this library to manage your
|
|
15
73
|
* Mongoose connections.
|
|
@@ -25,63 +83,10 @@ async function initMongoose(mongooseConfig) {
|
|
|
25
83
|
// configs have a default value.
|
|
26
84
|
// ==========================================
|
|
27
85
|
const mongooseConfigClean = new mongooseConfigs_1.MongooseConfigs(mongooseConfig);
|
|
28
|
-
return new Promise(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
// ==========================================
|
|
33
|
-
if (connectionString === constants_1.constants.mongo.testing.MOCK_CONNECTION_STRING) {
|
|
34
|
-
// ==========================================
|
|
35
|
-
// Mock!
|
|
36
|
-
// ==========================================
|
|
37
|
-
const mongoServer = await mongoUtils_1.mongoUtils.mockMongoose(null, mongooseConfigClean.mockServer.serverVersion);
|
|
38
|
-
connectionString = mongoServer.getUri();
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
if (mongooseConnection) {
|
|
42
|
-
await mongooseConnection.close();
|
|
43
|
-
mongooseConnection = undefined;
|
|
44
|
-
}
|
|
45
|
-
// Updates Promise for mongoose, avoid warning log emit by mongoose
|
|
46
|
-
mongoose.Promise = global.Promise;
|
|
47
|
-
const mongoOptions = lodash_1.defaultsDeep(mongooseConfigClean.connectionOptions, {
|
|
48
|
-
promiseLibrary: global.Promise
|
|
49
|
-
});
|
|
50
|
-
// Creates the connection
|
|
51
|
-
mongooseConnection = mongoose.createConnection(connectionString, mongoOptions);
|
|
52
|
-
// Triggered if an error occured
|
|
53
|
-
mongooseConnection.on('error', (err) => {
|
|
54
|
-
mongooseConnection = null;
|
|
55
|
-
reject('Mongo Database: Error connecting to Mongo: ' + err);
|
|
56
|
-
});
|
|
57
|
-
// Triggered when the connection is made.
|
|
58
|
-
mongooseConnection.on('connected', async () => {
|
|
59
|
-
// Check for schema updates once the connexion is made
|
|
60
|
-
if (mongooseConfigClean.applyUpdates) {
|
|
61
|
-
try {
|
|
62
|
-
await checkForUpdates(mongooseConfigClean);
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
try {
|
|
66
|
-
await mongooseConnection.close();
|
|
67
|
-
mongooseConnection = undefined;
|
|
68
|
-
}
|
|
69
|
-
catch (err) {
|
|
70
|
-
logger.warning(`Error closing connection to Mongo : ${err}`);
|
|
71
|
-
}
|
|
72
|
-
return reject('Error updating Mongo: ' + err);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
logger.info(`Mongo updates skipped`);
|
|
77
|
-
}
|
|
78
|
-
// All good!
|
|
79
|
-
resolve(mongooseConnection);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
return reject('Error initializing Mongo: ' + err);
|
|
84
|
-
}
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
doInitMongoose(mongooseConfigClean, resolve, reject).catch((err) => {
|
|
88
|
+
reject(`Error initializing Mongo: ${err}`);
|
|
89
|
+
});
|
|
85
90
|
});
|
|
86
91
|
}
|
|
87
92
|
exports.initMongoose = initMongoose;
|
|
@@ -90,7 +95,7 @@ exports.initMongoose = initMongoose;
|
|
|
90
95
|
* to run the application on the target Mongo database.
|
|
91
96
|
*/
|
|
92
97
|
async function checkForUpdates(mongooseConfig) {
|
|
93
|
-
const connection =
|
|
98
|
+
const connection = getMongooseConnection();
|
|
94
99
|
const updater = new mongoUpdater_1.MongoUpdater(connection.db, mongooseConfig.updater.mongoSchemaUpdatesDirPath, mongooseConfig.updater.lockMaxAgeSeconds, mongooseConfig.updater.appSchemaCollectionName);
|
|
95
100
|
await updater.checkInstallation();
|
|
96
101
|
await updater.checkUpdates();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoClient.js","sourceRoot":"","sources":["../../src/mongoClient.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,qCAAqC;AACrC,kDAA+C;AAC/C,8DAA6E;AAC7E,iDAA6D;AAC7D,6CAA0C;AAC1C,2CAA8C;AAE9C,MAAM,MAAM,GAAG,qBAAY,
|
|
1
|
+
{"version":3,"file":"mongoClient.js","sourceRoot":"","sources":["../../src/mongoClient.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,qCAAqC;AACrC,kDAA+C;AAC/C,8DAA6E;AAC7E,iDAA6D;AAC7D,6CAA0C;AAC1C,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,aAAa,CAAC,CAAC;AAE3C,IAAI,kBAAuC,CAAC;AAE5C,KAAK,UAAU,cAAc,CAC3B,mBAAoC,EACpC,OAA6C,EAC7C,MAA8B;IAE9B,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;IAE5D,6CAA6C;IAC7C,uBAAuB;IACvB,6CAA6C;IAC7C,IAAI,gBAAgB,KAAK,qBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE;QACvE,6CAA6C;QAC7C,QAAQ;QACR,6CAA6C;QAC7C,MAAM,WAAW,GAAG,MAAM,uBAAU,CAAC,YAAY,CAC/C,IAAI,EACJ,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAC7C,CAAC;QAEF,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;KACzC;IAED,IAAI,kBAAkB,EAAE;QACtB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACjC,kBAAkB,GAAG,SAAS,CAAC;KAChC;IAED,mEAAmE;IAClE,QAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3C,MAAM,YAAY,GAA+B,IAAA,qBAAY,EAC3D,mBAAmB,CAAC,iBAAiB,EACrC;QACE,cAAc,EAAE,MAAM,CAAC,OAAO;KAC/B,CACF,CAAC;IAEF,yBAAyB;IACzB,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE/E,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;QAC1C,kBAAkB,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACtC,CAAC,KAAK,IAAI,EAAE;YACV,sDAAsD;YACtD,IAAI,mBAAmB,CAAC,YAAY,EAAE;gBACpC,IAAI;oBACF,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC;iBAC5C;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI;wBACF,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;wBACjC,kBAAkB,GAAG,SAAS,CAAC;qBAChC;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,CAAC,OAAO,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;qBAC9D;oBAED,MAAM,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;oBACvC,OAAO;iBACR;aACF;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACtC;YAED,YAAY;YACZ,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAAC,cAAgC;IACjE,6CAA6C;IAC7C,oDAAoD;IACpD,gCAAgC;IAChC,6CAA6C;IAC7C,MAAM,mBAAmB,GAAG,IAAI,iCAAe,CAAC,cAAc,CAAC,CAAC;IAEhE,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1D,cAAc,CAAC,mBAAmB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjE,MAAM,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,oCAYC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,cAAgC;IAC7D,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAkB,IAAI,2BAAY,CAC7C,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAChD,cAAc,CAAC,OAAO,CAAC,iBAAiB,EACxC,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAC/C,CAAC;IACF,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAClC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB;IACnC,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;KAC5F;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAND,sDAMC"}
|
package/dist/src/mongoUpdater.js
CHANGED
|
@@ -7,7 +7,7 @@ const lodash_1 = require("lodash");
|
|
|
7
7
|
const semver = require("semver");
|
|
8
8
|
const constants_1 = require("./config/constants");
|
|
9
9
|
const logger_1 = require("./utils/logger");
|
|
10
|
-
const logger = logger_1.createLogger('MongoUpdater');
|
|
10
|
+
const logger = (0, logger_1.createLogger)('MongoUpdater');
|
|
11
11
|
class MongoUpdater {
|
|
12
12
|
constructor(mongoDb,
|
|
13
13
|
/**
|
|
@@ -22,25 +22,20 @@ class MongoUpdater {
|
|
|
22
22
|
this.checkUpdates = async () => {
|
|
23
23
|
logger.info('Checking for db app schema updates:');
|
|
24
24
|
let lockAcquired = false;
|
|
25
|
+
let currentAppSchemaVersion;
|
|
25
26
|
const targetVersion = this.findMongoAppSchemaTargetVersion();
|
|
26
27
|
try {
|
|
27
|
-
while (
|
|
28
|
+
while (!lockAcquired) {
|
|
28
29
|
// ==========================================
|
|
29
30
|
// Checks if the appSchema version has to be
|
|
30
31
|
// updated.
|
|
31
32
|
// ==========================================
|
|
32
|
-
|
|
33
|
+
currentAppSchemaVersion = await this.getAppSchemaVersion();
|
|
33
34
|
if (semver.gte(currentAppSchemaVersion, targetVersion)) {
|
|
34
35
|
// tslint:disable-next-line: prefer-template
|
|
35
36
|
logger.info(' > Current database app schema is up to date : ' + currentAppSchemaVersion + ').');
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
|
-
if (lockAcquired) {
|
|
39
|
-
logger.info(` > Applying some required updates...`);
|
|
40
|
-
await this.applyAppSchemaUpdates(currentAppSchemaVersion, targetVersion);
|
|
41
|
-
await this.updateAppSchemaVersion(currentAppSchemaVersion, targetVersion);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
39
|
// ==========================================
|
|
45
40
|
// Tries to get the lock. Will do this as long
|
|
46
41
|
// as the lock can't be acquired (ie : it is
|
|
@@ -58,6 +53,11 @@ class MongoUpdater {
|
|
|
58
53
|
logger.info(` > Lock acquired.`);
|
|
59
54
|
}
|
|
60
55
|
}
|
|
56
|
+
if (lockAcquired && currentAppSchemaVersion) {
|
|
57
|
+
logger.info(` > Applying some required updates...`);
|
|
58
|
+
await this.applyAppSchemaUpdates(currentAppSchemaVersion, targetVersion);
|
|
59
|
+
await this.updateAppSchemaVersion(currentAppSchemaVersion, targetVersion);
|
|
60
|
+
}
|
|
61
61
|
}
|
|
62
62
|
finally {
|
|
63
63
|
if (lockAcquired) {
|
|
@@ -78,11 +78,11 @@ class MongoUpdater {
|
|
|
78
78
|
await collection.createIndexes([
|
|
79
79
|
{
|
|
80
80
|
key: {
|
|
81
|
-
name: 1
|
|
81
|
+
name: 1,
|
|
82
82
|
},
|
|
83
83
|
name: 'name_1',
|
|
84
|
-
unique: true
|
|
85
|
-
}
|
|
84
|
+
unique: true,
|
|
85
|
+
},
|
|
86
86
|
]);
|
|
87
87
|
// ==========================================
|
|
88
88
|
// Inserts the first version of the AppSchema document
|
|
@@ -91,7 +91,7 @@ class MongoUpdater {
|
|
|
91
91
|
name: 'singleton',
|
|
92
92
|
version: '0.0.0',
|
|
93
93
|
lock: false,
|
|
94
|
-
lockTimestamp: 0
|
|
94
|
+
lockTimestamp: 0,
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
catch (err) {
|
|
@@ -137,13 +137,13 @@ class MongoUpdater {
|
|
|
137
137
|
let filesClean = files;
|
|
138
138
|
try {
|
|
139
139
|
filesClean = filesClean
|
|
140
|
-
.filter(name => {
|
|
140
|
+
.filter((name) => {
|
|
141
141
|
return name.match(/\.js$/) !== null;
|
|
142
142
|
})
|
|
143
|
-
.map(name => {
|
|
143
|
+
.map((name) => {
|
|
144
144
|
return name.split('.js')[0];
|
|
145
145
|
})
|
|
146
|
-
.filter(updateFileVersion => {
|
|
146
|
+
.filter((updateFileVersion) => {
|
|
147
147
|
if (semver.gt(updateFileVersion, currentAppSchemaVersion) &&
|
|
148
148
|
semver.lte(updateFileVersion, targetAppSchemaVersion)) {
|
|
149
149
|
return true;
|
|
@@ -172,8 +172,9 @@ class MongoUpdater {
|
|
|
172
172
|
catch (e) {
|
|
173
173
|
return Promise.reject(e);
|
|
174
174
|
}
|
|
175
|
-
if (!lodash_1.isFunction(updateFunction)) {
|
|
176
|
-
return Promise.reject('The default export for an app schema update file must be a function! Was not for file : ' +
|
|
175
|
+
if (!(0, lodash_1.isFunction)(updateFunction)) {
|
|
176
|
+
return Promise.reject('The default export for an app schema update file must be a function! Was not for file : ' +
|
|
177
|
+
updateFilePath);
|
|
177
178
|
}
|
|
178
179
|
await updateFunction(this.mongoDb);
|
|
179
180
|
}
|
|
@@ -181,7 +182,7 @@ class MongoUpdater {
|
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
async getAppSchemaCollection() {
|
|
184
|
-
return
|
|
185
|
+
return this.mongoDb.collection(this.appSchemaCollectionName);
|
|
185
186
|
}
|
|
186
187
|
async getAppSchemaVersion() {
|
|
187
188
|
const appSchemaCollection = await this.getAppSchemaCollection();
|
|
@@ -206,8 +207,8 @@ class MongoUpdater {
|
|
|
206
207
|
let document = await appSchemaCollection.findOneAndUpdate({ lock: false }, {
|
|
207
208
|
$set: {
|
|
208
209
|
lock: true,
|
|
209
|
-
lockTimestamp: new Date().getTime()
|
|
210
|
-
}
|
|
210
|
+
lockTimestamp: new Date().getTime(),
|
|
211
|
+
},
|
|
211
212
|
});
|
|
212
213
|
if (document.value !== null) {
|
|
213
214
|
logger.info(` > Succesfully locked the ${this.appSchemaCollectionName} document`);
|
|
@@ -231,8 +232,8 @@ class MongoUpdater {
|
|
|
231
232
|
document = await appSchemaCollection.findOneAndUpdate({ lockTimestamp }, {
|
|
232
233
|
$set: {
|
|
233
234
|
lock: true,
|
|
234
|
-
lockTimestamp: new Date().getTime()
|
|
235
|
-
}
|
|
235
|
+
lockTimestamp: new Date().getTime(),
|
|
236
|
+
},
|
|
236
237
|
});
|
|
237
238
|
// ==========================================
|
|
238
239
|
// *Just* taken by another app!
|
|
@@ -253,8 +254,8 @@ class MongoUpdater {
|
|
|
253
254
|
const document = await appSchemaCollection.findOneAndUpdate({ lock: true }, {
|
|
254
255
|
$set: {
|
|
255
256
|
lock: false,
|
|
256
|
-
lockTimestamp: 0
|
|
257
|
-
}
|
|
257
|
+
lockTimestamp: 0,
|
|
258
|
+
},
|
|
258
259
|
});
|
|
259
260
|
if (document.value !== null) {
|
|
260
261
|
logger.info(` > Succesfully unlocked the ${this.appSchemaCollectionName} document`);
|
|
@@ -265,7 +266,9 @@ class MongoUpdater {
|
|
|
265
266
|
}
|
|
266
267
|
async checkInstallation() {
|
|
267
268
|
logger.info(`Validating that the "${this.appSchemaCollectionName}" collection required by the application has been installed.`);
|
|
268
|
-
const collections = await this.mongoDb
|
|
269
|
+
const collections = await this.mongoDb
|
|
270
|
+
.listCollections({ name: this.appSchemaCollectionName })
|
|
271
|
+
.toArray();
|
|
269
272
|
if (collections.length === 0) {
|
|
270
273
|
logger.info(` > The "${this.appSchemaCollectionName}" collection was not found... Starting a new installation.`);
|
|
271
274
|
await this.installAppSchemaCollection();
|
|
@@ -282,7 +285,7 @@ class MongoUpdater {
|
|
|
282
285
|
*/
|
|
283
286
|
findMongoAppSchemaTargetVersion() {
|
|
284
287
|
let targetVersion = '0.0.0';
|
|
285
|
-
fs.readdirSync(this.getAppSchemaFilesDirPath()).forEach(fileName => {
|
|
288
|
+
fs.readdirSync(this.getAppSchemaFilesDirPath()).forEach((fileName) => {
|
|
286
289
|
if (fileName.endsWith('.js')) {
|
|
287
290
|
const version = fileName.split('.js')[0];
|
|
288
291
|
if (semver.gt(version, targetVersion)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoUpdater.js","sourceRoot":"","sources":["../../src/mongoUpdater.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,yBAAyB;AACzB,mCAAoC;AAEpC,iCAAiC;AACjC,kDAAmE;AACnE,2CAA8C;AAE9C,MAAM,MAAM,GAAG,qBAAY,
|
|
1
|
+
{"version":3,"file":"mongoUpdater.js","sourceRoot":"","sources":["../../src/mongoUpdater.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,yBAAyB;AACzB,mCAAoC;AAEpC,iCAAiC;AACjC,kDAAmE;AACnE,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;AA0E5C,MAAa,YAAY;IACvB,YACU,OAAmB;IAC3B;;;OAGG;IACK,yBAAiC,EACjC,iBAAyB,EACzB,uBAA+B;QAP/B,YAAO,GAAP,OAAO,CAAY;QAKnB,8BAAyB,GAAzB,yBAAyB,CAAQ;QACjC,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,4BAAuB,GAAvB,uBAAuB,CAAQ;QAkRlC,iBAAY,GAAG,KAAK,IAAmB,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEnD,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,uBAA2C,CAAC;YAChD,MAAM,aAAa,GAAW,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACrE,IAAI;gBACF,OAAO,CAAC,YAAY,EAAE;oBACpB,6CAA6C;oBAC7C,4CAA4C;oBAC5C,WAAW;oBACX,6CAA6C;oBAC7C,uBAAuB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,EAAE;wBACtD,4CAA4C;wBAC5C,MAAM,CAAC,IAAI,CACT,iDAAiD,GAAG,uBAAuB,GAAG,IAAI,CACnF,CAAC;wBACF,OAAO;qBACR;oBAED,6CAA6C;oBAC7C,8CAA8C;oBAC9C,4CAA4C;oBAC5C,sDAAsD;oBACtD,mCAAmC;oBACnC,6CAA6C;oBAC7C,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAClD,IAAI,CAAC,YAAY,EAAE;wBACjB,MAAM,IAAI,GAAG,IAAI,CAAC;wBAClB,MAAM,CAAC,OAAO,CACZ,gFAAgF;4BAC9E,oBAAoB,IAAI,CAAC,iBAAiB,yBAAyB,IAAI,kBAAkB,CAC5F,CAAC;wBACF,MAAM,qBAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACzB;yBAAM;wBACL,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;qBAClC;iBACF;gBACD,IAAI,YAAY,IAAI,uBAAuB,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACpD,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;oBACzE,MAAM,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;iBAC3E;aACF;oBAAS;gBACR,IAAI,YAAY,EAAE;oBAChB,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBACtC;aACF;QACH,CAAC,CAAC;IAlUC,CAAC;IAEG,KAAK,CAAC,0BAA0B;QACrC,IAAI;YACF,yCAAyC;YACzC,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,GAAG,eAAe,CAAC,CAAC;YACpF,MAAM,UAAU,GAAuB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACxE,IAAI,CAAC,uBAAuB,CAC7B,CAAC;YAEF,6CAA6C;YAC7C,iDAAiD;YACjD,6CAA6C;YAC7C,MAAM,UAAU,CAAC,aAAa,CAAC;gBAC7B;oBACE,GAAG,EAAE;wBACH,IAAI,EAAE,CAAC;qBACR;oBACD,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,6CAA6C;YAC7C,sDAAsD;YACtD,6CAA6C;YAC7C,MAAM,UAAU,CAAC,SAAS,CAAC;gBACzB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,KAAK;gBACX,aAAa,EAAE,CAAC;aACF,CAAC,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,6CAA6C;YAC7C,8CAA8C;YAC9C,4CAA4C;YAC5C,6CAA6C;YAC7C,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,qBAAK,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,sBAAsB,EAAE,GAAG,mBAAmB,EAAE;gBAC3D,MAAM,qBAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAExB,MAAM,mBAAmB,GAAuB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACpF,IAAI,CAAC,mBAAmB,EAAE;oBACxB,SAAS;iBACV;gBAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,QAAQ,EAAE;oBACb,SAAS;iBACV;gBAED,6CAA6C;gBAC7C,uBAAuB;gBACvB,6CAA6C;gBAC7C,OAAO;aACR;YAED,6CAA6C;YAC7C,sBAAsB;YACtB,6CAA6C;YAC7C,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,cAAsB,EAAE,UAAkB;QAC5E,MAAM,mBAAmB,GAAuB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpF,MAAM,mBAAmB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3E,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CACT,8CAA8C,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,CAC9F,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAClC,uBAA+B,EAC/B,sBAA8B;QAE9B,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACzD,IAAI,GAAG,EAAE;oBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpB;gBAED,IAAI,UAAU,GAAG,KAAK,CAAC;gBAEvB,IAAI;oBACF,UAAU,GAAG,UAAU;yBACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;wBACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;oBACtC,CAAC,CAAC;yBACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9B,CAAC,CAAC;yBACD,MAAM,CAAC,CAAC,iBAAiB,EAAE,EAAE;wBAC5B,IACE,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;4BACrD,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,EACrD;4BACA,OAAO,IAAI,CAAC;yBACb;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;iBACN;gBAAC,OAAO,IAAI,EAAE;oBACb,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;iBACrB;gBACD,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,cAAsB,EAAE,UAAkB;QAC3E,MAAM,eAAe,GAAa,MAAM,IAAI,CAAC,uBAAuB,CAClE,cAAc,EACd,UAAU,CACX,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,cAAc,CAAC,CAAC;gBAE/D,4CAA4C;gBAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,GAAG,GAAG,GAAG,cAAc,CAAC;gBAC9E,IAAI,cAAiD,CAAC;gBACtD,IAAI;oBACF,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBAED,IAAI,CAAC,IAAA,mBAAU,EAAC,cAAc,CAAC,EAAE;oBAC/B,OAAO,OAAO,CAAC,MAAM,CACnB,0FAA0F;wBACxF,cAAc,CACjB,CAAC;iBACH;gBAED,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpC;YACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;SAC5C;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC9B,MAAM,mBAAmB,GAAuB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpF,MAAM,SAAS,GAAU,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7B;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,qBAAqB;QAChC,MAAM,mBAAmB,GAAuB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpF,IAAI,QAAQ,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CACvD,EAAE,IAAI,EAAE,KAAK,EAAE,EACf;YACE,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;aACpC;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,uBAAuB,WAAW,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;SACb;QAED,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,aAAa;YACb,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACrC;QAED,6CAA6C;QAC7C,uCAAuC;QACvC,6CAA6C;QAC7C,MAAM,aAAa,GAAI,QAAgB,CAAC,aAAa,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,mBAAmB,GAAG,YAAY,GAAG,aAAa,CAAC;QAEzD,6CAA6C;QAC7C,uCAAuC;QACvC,6CAA6C;QAC7C,IAAI,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,EAAE;YACvD,QAAQ,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CACnD,EAAE,aAAa,EAAE,EACjB;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;iBACpC;aACF,CACF,CAAC;YAEF,6CAA6C;YAC7C,+BAA+B;YAC/B,6CAA6C;YAC7C,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;gBAC3B,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;SACb;QAED,6CAA6C;QAC7C,sCAAsC;QACtC,mBAAmB;QACnB,6CAA6C;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,uBAAuB;QAClC,MAAM,mBAAmB,GAAuB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CACzD,EAAE,IAAI,EAAE,IAAI,EAAE,EACd;YACE,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,aAAa,EAAE,CAAC;aACjB;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,uBAAuB,WAAW,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;SACb;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,uBAAuB,0BAA0B,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,CAAC,IAAI,CACT,wBAAwB,IAAI,CAAC,uBAAuB,8DAA8D,CACnH,CAAC;QACF,MAAM,WAAW,GAAU,MAAM,IAAI,CAAC,OAAO;aAC1C,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;aACvD,OAAO,EAAE,CAAC;QAEb,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,IAAI,CACT,WAAW,IAAI,CAAC,uBAAuB,4DAA4D,CACpG,CAAC;YACF,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACzC;aAAM;YACL,MAAM,CAAC,IAAI,CACT,WAAW,IAAI,CAAC,uBAAuB,mDAAmD,CAC3F,CAAC;SACH;IACH,CAAC;IAqDS,wBAAwB;QAChC,OAAO,qBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;IACnE,CAAC;IAED;;OAEG;IACO,+BAA+B;QACvC,IAAI,aAAa,GAAG,OAAO,CAAC;QAE5B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;oBACrC,aAAa,GAAG,OAAO,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAnWD,oCAmWC"}
|
|
@@ -13,7 +13,7 @@ const mongoUtils_1 = require("./mongoUtils");
|
|
|
13
13
|
const testingConfigurations_1 = require("./utils/testingConfigurations");
|
|
14
14
|
let mongoDb;
|
|
15
15
|
let mongoUpdater;
|
|
16
|
-
testingConfigurations_1.setTestingConfigurations();
|
|
16
|
+
(0, testingConfigurations_1.setTestingConfigurations)();
|
|
17
17
|
// ==========================================
|
|
18
18
|
// Mongo Updater
|
|
19
19
|
// ==========================================
|
|
@@ -24,7 +24,7 @@ describe('Mongo Updater', () => {
|
|
|
24
24
|
before(async function () {
|
|
25
25
|
// Makes sure Mongoose is mocked, but not in Jenkins as we will start a dedicated mongodb container.
|
|
26
26
|
await mongoUtils_1.mongoUtils.mockMongoose(this, testconfig.mockServer.serverVersion);
|
|
27
|
-
const connection = await mongoClient_1.initMongoose(testconfig);
|
|
27
|
+
const connection = await (0, mongoClient_1.initMongoose)(testconfig);
|
|
28
28
|
chai_1.assert.isOk(connection);
|
|
29
29
|
mongoDb = connection.db;
|
|
30
30
|
// Creates the Updater directly.
|
|
@@ -36,13 +36,13 @@ describe('Mongo Updater', () => {
|
|
|
36
36
|
// ==========================================
|
|
37
37
|
await mongoDb.dropDatabase();
|
|
38
38
|
});
|
|
39
|
-
describe('getSchemaVersion',
|
|
39
|
+
describe('getSchemaVersion', () => {
|
|
40
40
|
it('should contain schema version 0.0.0', async () => {
|
|
41
41
|
const version = await mongoUpdater.getAppSchemaVersion();
|
|
42
42
|
chai_1.assert.strictEqual(version, '0.0.0');
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
|
-
describe('checkInstall',
|
|
45
|
+
describe('checkInstall', () => {
|
|
46
46
|
let installAppSchemaCollectionSpy;
|
|
47
47
|
beforeEach(async () => {
|
|
48
48
|
installAppSchemaCollectionSpy = sinon.spy(mongoUpdater, 'installAppSchemaCollection');
|
|
@@ -80,13 +80,13 @@ describe('Mongo Updater', () => {
|
|
|
80
80
|
chai_1.assert.strictEqual(schemaDb[0].version, '0.0.0');
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
|
-
describe('getSchemaVersion',
|
|
83
|
+
describe('getSchemaVersion', () => {
|
|
84
84
|
it('should contain schema version 0.0.0', async () => {
|
|
85
85
|
const version = await mongoUpdater.getAppSchemaVersion();
|
|
86
86
|
chai_1.assert.strictEqual(version, '0.0.0');
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
-
describe('lock',
|
|
89
|
+
describe('lock', () => {
|
|
90
90
|
it('lock should be equal to false', async () => {
|
|
91
91
|
const schema = mongoDb.collection(testconfig.updater.appSchemaCollectionName);
|
|
92
92
|
const schemaDb = await schema.find().toArray();
|
|
@@ -106,7 +106,7 @@ describe('Mongo Updater', () => {
|
|
|
106
106
|
chai_1.assert.strictEqual(isLocked, false);
|
|
107
107
|
});
|
|
108
108
|
});
|
|
109
|
-
describe('unlock',
|
|
109
|
+
describe('unlock', () => {
|
|
110
110
|
it('lock should be equal to true', async () => {
|
|
111
111
|
const schema = mongoDb.collection(testconfig.updater.appSchemaCollectionName);
|
|
112
112
|
const schemaDb = await schema.find().toArray();
|
|
@@ -129,7 +129,7 @@ describe('Mongo Updater', () => {
|
|
|
129
129
|
chai_1.assert.strictEqual(schemaDb[0].lock, false);
|
|
130
130
|
});
|
|
131
131
|
});
|
|
132
|
-
describe('updateSchemaVersion',
|
|
132
|
+
describe('updateSchemaVersion', () => {
|
|
133
133
|
it('should contain schema version 0.0.0', async () => {
|
|
134
134
|
const version = await mongoUpdater.getAppSchemaVersion();
|
|
135
135
|
chai_1.assert.strictEqual(version, '0.0.0');
|
|
@@ -145,7 +145,7 @@ describe('Mongo Updater', () => {
|
|
|
145
145
|
chai_1.assert.strictEqual(version, '0.0.0');
|
|
146
146
|
});
|
|
147
147
|
});
|
|
148
|
-
describe('checkUpdate',
|
|
148
|
+
describe('checkUpdate', () => {
|
|
149
149
|
let lockSpy;
|
|
150
150
|
let applyUpdateSchemasSpy;
|
|
151
151
|
let updateSchemaVersionSpy;
|
|
@@ -200,7 +200,7 @@ describe('Mongo Updater', () => {
|
|
|
200
200
|
}
|
|
201
201
|
});
|
|
202
202
|
});
|
|
203
|
-
describe('getUpdateFiles',
|
|
203
|
+
describe('getUpdateFiles', () => {
|
|
204
204
|
it('should not contain files for version between 0.0.0 and 0.0.0', async () => {
|
|
205
205
|
const files = await mongoUpdater.getAppSchemaUpdateFiles('0.0.0', '0.0.0');
|
|
206
206
|
chai_1.assert.strictEqual(files.length, 0);
|
|
@@ -215,7 +215,7 @@ describe('Mongo Updater', () => {
|
|
|
215
215
|
chai_1.assert.strictEqual(files[0], '1.0.0');
|
|
216
216
|
});
|
|
217
217
|
});
|
|
218
|
-
describe('applyUpdateSchemas',
|
|
218
|
+
describe('applyUpdateSchemas', () => {
|
|
219
219
|
let getUpdateFilesSpy;
|
|
220
220
|
beforeEach(async () => {
|
|
221
221
|
getUpdateFilesSpy = sinon.spy(mongoUpdater, 'getAppSchemaUpdateFiles');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoUpdater.test.js","sourceRoot":"","sources":["../../src/mongoUpdater.test.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,sCAAsC;AACtC,mCAAmC;;AAEnC,kEAAuD;AACvD,+BAA8B;AAE9B,+BAA+B;AAC/B,kDAAmE;AAEnE,+CAA6C;AAC7C,iDAA6D;AAC7D,6CAA0C;AAC1C,yEAAyE;AAEzE,IAAI,OAAmB,CAAC;AACxB,IAAI,YAA2B,CAAC;AAEhC,gDAAwB,
|
|
1
|
+
{"version":3,"file":"mongoUpdater.test.js","sourceRoot":"","sources":["../../src/mongoUpdater.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mongoUtils.d.ts
CHANGED
package/dist/src/mongoUtils.js
CHANGED
|
@@ -88,16 +88,19 @@ class MongoUtils {
|
|
|
88
88
|
// Voir https://www.npmjs.com/package/mongodb-memory-server pour les options
|
|
89
89
|
const memoryServerOption = {
|
|
90
90
|
instance: {
|
|
91
|
-
dbPath: dataPath // by default create in temp directory,
|
|
91
|
+
dbPath: dataPath, // by default create in temp directory,
|
|
92
92
|
},
|
|
93
93
|
binary: {
|
|
94
94
|
version: mongoServerVersion ? mongoServerVersion : 'latest',
|
|
95
|
-
downloadDir: downloadDirPath // by default node_modules/.cache/mongodb-memory-server/mongodb-binaries
|
|
95
|
+
downloadDir: downloadDirPath, // by default node_modules/.cache/mongodb-memory-server/mongodb-binaries
|
|
96
96
|
},
|
|
97
|
-
debug: false
|
|
97
|
+
debug: false,
|
|
98
98
|
};
|
|
99
99
|
if (useReplSet) {
|
|
100
|
-
const replSetOptions =
|
|
100
|
+
const replSetOptions = {
|
|
101
|
+
...memoryServerOption,
|
|
102
|
+
replSet: { count: 3 },
|
|
103
|
+
};
|
|
101
104
|
this.mongoMemServer = await mongodb_memory_server_core_1.MongoMemoryReplSet.create(replSetOptions);
|
|
102
105
|
}
|
|
103
106
|
else {
|
|
@@ -147,7 +150,7 @@ class MongoUtils {
|
|
|
147
150
|
if (_.isEmpty(obj.errors) && 'kind' in obj && 'path' in obj && 'message' in obj) {
|
|
148
151
|
return true;
|
|
149
152
|
}
|
|
150
|
-
Object.keys(obj.errors).forEach(errorKey => {
|
|
153
|
+
Object.keys(obj.errors).forEach((errorKey) => {
|
|
151
154
|
const errorObject = obj.errors[errorKey];
|
|
152
155
|
if (!('kind' in errorObject) || !('path' in errorObject) || !('message' in errorObject)) {
|
|
153
156
|
return false;
|
|
@@ -185,7 +188,7 @@ class MongoUtils {
|
|
|
185
188
|
*/
|
|
186
189
|
convertMongoOrMongooseErrorToApiError(err, publicMessage) {
|
|
187
190
|
if (!err) {
|
|
188
|
-
return general_utils_1.createServerError('Empty error object');
|
|
191
|
+
return (0, general_utils_1.createServerError)('Empty error object');
|
|
189
192
|
}
|
|
190
193
|
let errClean = err;
|
|
191
194
|
// ==========================================
|
|
@@ -198,7 +201,7 @@ class MongoUtils {
|
|
|
198
201
|
// code.
|
|
199
202
|
// ==========================================
|
|
200
203
|
if (errClean.code === constants_1.constants.mongo.mongoErrorCodes.DUPLICATE_KEY) {
|
|
201
|
-
return general_utils_1.createError(general_utils_1.globalConstants.errors.apiGeneralErrors.codes.DUPLICATE_KEY, publicMessage)
|
|
204
|
+
return (0, general_utils_1.createError)(general_utils_1.globalConstants.errors.apiGeneralErrors.codes.DUPLICATE_KEY, publicMessage)
|
|
202
205
|
.httpStatus(HttpStatusCodes.CONFLICT)
|
|
203
206
|
.publicMessage(publicMessage)
|
|
204
207
|
.logLevel(logger_1.LogLevel.INFO)
|
|
@@ -220,29 +223,29 @@ class MongoUtils {
|
|
|
220
223
|
// ==========================================
|
|
221
224
|
if (errClean.kind === constants_1.constants.mongo.mongoose.errorKinds.OBJECT_ID &&
|
|
222
225
|
errClean.name === constants_1.constants.mongo.mongoose.errorNames.CAST_ERROR) {
|
|
223
|
-
throw general_utils_1.createNotFoundError('Invalid ObjectId id', publicMessage);
|
|
226
|
+
throw (0, general_utils_1.createNotFoundError)('Invalid ObjectId id', publicMessage);
|
|
224
227
|
}
|
|
225
228
|
else {
|
|
226
229
|
const error = errClean;
|
|
227
230
|
errClean = {
|
|
228
|
-
errors: [error]
|
|
231
|
+
errors: [error],
|
|
229
232
|
};
|
|
230
233
|
}
|
|
231
234
|
}
|
|
232
235
|
let errorDetails;
|
|
233
236
|
if (errClean.errors && !_.isEmpty(errClean.errors)) {
|
|
234
237
|
errorDetails = [];
|
|
235
|
-
Object.keys(errClean.errors).forEach(errorKey => {
|
|
238
|
+
Object.keys(errClean.errors).forEach((errorKey) => {
|
|
236
239
|
const errorMessage = errClean.errors[errorKey];
|
|
237
240
|
const errorDetail = {
|
|
238
241
|
code: errorMessage.kind,
|
|
239
242
|
target: errorMessage.path,
|
|
240
|
-
message: errorMessage.message
|
|
243
|
+
message: errorMessage.message,
|
|
241
244
|
};
|
|
242
245
|
errorDetails.push(errorDetail);
|
|
243
246
|
});
|
|
244
247
|
}
|
|
245
|
-
throw general_utils_1.createInvalidParameterError(publicMessage, errorDetails);
|
|
248
|
+
throw (0, general_utils_1.createInvalidParameterError)(publicMessage, errorDetails);
|
|
246
249
|
}
|
|
247
250
|
else {
|
|
248
251
|
// ==========================================
|