@ngageoint/mage.service 6.5.11 → 6.5.16
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/lib/dist-package.json +1 -1
- package/lib/express.d.ts.map +1 -1
- package/lib/express.js +22 -4
- package/lib/express.js.map +1 -1
- package/lib/models/login.d.ts.map +1 -1
- package/lib/models/login.js +3 -1
- package/lib/models/login.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/lib/dist-package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngageoint/mage.service",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.16",
|
|
4
4
|
"displayName": "Mage Service",
|
|
5
5
|
"description": "Mage is a geospatial situational awareness and data collection platform. The Mage Service is the ReST service API that the Mage client apps use to interact with Mage data.",
|
|
6
6
|
"keywords": [
|
package/lib/express.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.js"],"names":[],"mappings":"AAcA,8DAAsB;
|
|
1
|
+
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.js"],"names":[],"mappings":"AAcA,8DAAsB;AAqDtB,kEAIE"}
|
package/lib/express.js
CHANGED
|
@@ -8,11 +8,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
const express = require(
|
|
11
|
+
const express = require('express'), crypto = require('crypto'), session = require('express-session'), fs = require('fs'), passport = require('passport'), path = require('path'), config = require('./config.js'), provision = require('./provision'), log = require('./logger'), api = require('./api'), env = require('./environment/env'), yaml = require('yaml'), AuthenticationInitializer = require('./authentication');
|
|
12
12
|
const app = express();
|
|
13
13
|
app.use(function (req, res, next) {
|
|
14
14
|
req.getRoot = function () {
|
|
15
|
-
return req.protocol +
|
|
15
|
+
return req.protocol + '://' + req.get('host');
|
|
16
16
|
};
|
|
17
17
|
req.getPath = function () {
|
|
18
18
|
return req.getRoot() + req.path;
|
|
@@ -50,8 +50,24 @@ const authentication = AuthenticationInitializer.initialize(app, passport, provi
|
|
|
50
50
|
// TODO: don't pass authentication to other routes, but enforce authentication ahead of adding route modules
|
|
51
51
|
require('./routes')(app, { authentication });
|
|
52
52
|
const adminDist = path.join(__dirname, '..', '..', 'web-app', 'dist', 'admin');
|
|
53
|
-
app.use('/admin', express.static(adminDist
|
|
53
|
+
app.use('/admin', express.static(adminDist, {
|
|
54
|
+
etag: true,
|
|
55
|
+
lastModified: true,
|
|
56
|
+
setHeaders: (res, filePath) => {
|
|
57
|
+
const rel = path.relative(adminDist, filePath).replace(/\\/g, '/');
|
|
58
|
+
if (rel === 'index.html') {
|
|
59
|
+
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (/\.(?:js|css|woff2?|ttf|eot|ico|png|jpg|jpeg|gif|svg)$/.test(filePath)) {
|
|
63
|
+
res.setHeader('Cache-Control', 'public, max-age=31536000, immutable');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
54
69
|
app.get('/admin/*', (req, res) => {
|
|
70
|
+
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
|
|
55
71
|
res.sendFile(path.join(adminDist, 'index.html'));
|
|
56
72
|
});
|
|
57
73
|
// Express requires a 4 parameter function callback, do not remove unused next parameter
|
|
@@ -59,7 +75,9 @@ app.get('/admin/*', (req, res) => {
|
|
|
59
75
|
app.use(function (err, req, res, next) {
|
|
60
76
|
log.error('\n-----\nunhandled error during request\n', req.method, req.path, err, '\n-----');
|
|
61
77
|
const status = err.status || 500;
|
|
62
|
-
let msg = status === 500
|
|
78
|
+
let msg = status === 500
|
|
79
|
+
? 'Internal server error, please contact MAGE administrator.'
|
|
80
|
+
: err.message;
|
|
63
81
|
if (err.name === 'ValidationError') {
|
|
64
82
|
msg = {
|
|
65
83
|
message: err.message,
|
package/lib/express.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.js"],"names":[],"mappings":";;;;;;;;;;AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/models/login.js"],"names":[],"mappings":"AA4CoB,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/models/login.js"],"names":[],"mappings":"AA4CoB,6DAyCnB;AAEqB,yEAcrB;AAE6B,oEAI7B"}
|
package/lib/models/login.js
CHANGED
|
@@ -64,7 +64,9 @@ exports.getLogins = function (options, callback) {
|
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
Login.find(conditions, null, o).populate([{ path: 'userId' }, { path: 'deviceId' }]).exec(function (err, logins) {
|
|
67
|
-
|
|
67
|
+
if (err || !logins)
|
|
68
|
+
return callback(err, logins);
|
|
69
|
+
callback(null, options.firstLoginId ? logins.reverse() : logins);
|
|
68
70
|
});
|
|
69
71
|
};
|
|
70
72
|
exports.createLogin = function (user, device, callback) {
|
package/lib/models/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/models/login.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/models/login.js"],"names":[],"mappings":"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"}
|