@ngageoint/mage.service 6.3.0-beta.7 → 6.3.0

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.
@@ -48,6 +48,8 @@ const options = [
48
48
  new Option('--security-dir <string>').env('MAGE_SECURITY_DIR').default('/var/lib/mage/security'),
49
49
  new Option('--temp-dir <string>').env('MAGE_TEMP_DIR').default('/tmp'),
50
50
  new Option('--user-dir <string>').env('MAGE_USER_DIR').default('/var/lib/mage/users'),
51
+ new Option('--sftp-key-dir <string>').env('MAGE_SFTP_KEY_DIR').default('/var/lib/mage/sftp-keys'),
52
+ new Option('--sftp-key-file <string>').env('MAGE_SFTP_KEY_FILE').default('/var/lib/mage/sftp-keys/mage-sftp-key'),
51
53
  new Option('--export-sweep-interval <number>').env('MAGE_EXPORT_SWEEP_INTERVAL').default(28800, '8 hours').argParser(x => parseInt(x)),
52
54
  new Option('--export-ttl <number>').env('MAGE_EXPORT_TTL').default(259200, '72 hours').argParser(x => parseInt(x)),
53
55
  new Option('--token-expiration <number>').env('MAGE_TOKEN_EXPIRATION').default(28800, '8 hours').argParser(x => parseInt(x)),
@@ -98,9 +100,9 @@ const configKeyForOptKey = {
98
100
 
99
101
  function mergeOptsToConfig(opts) {
100
102
  const config = opts.config ? opts.config.mage || {} : {};
101
- const manualMergeKeys = [ 'config', 'plugins', 'plugin', 'webPlugin' ];
103
+ const manualMergeKeys = ['config', 'plugins', 'plugin', 'webPlugin'];
102
104
  const optsSimple = _.omit(opts, manualMergeKeys);
103
- const DefaultValue = function(x) {
105
+ const DefaultValue = function (x) {
104
106
  this.value = x;
105
107
  };
106
108
  const optsDefaultsMarked = _.mapValues(optsSimple, (value, key) => {
@@ -124,17 +126,17 @@ function mergeOptsToConfig(opts) {
124
126
  }
125
127
  if (typeof configValue === 'object') {
126
128
  // nested object - continue recursive merge
127
- return void(0);
129
+ return void (0);
128
130
  }
129
131
  if (!configValue) {
130
- return optValue instanceof DefaultValue ? optValue.value : void(0);
132
+ return optValue instanceof DefaultValue ? optValue.value : void (0);
131
133
  }
132
134
  if (optValue instanceof DefaultValue) {
133
135
  return configValue;
134
136
  }
135
137
  if (typeof optValue === 'object') {
136
138
  // nested object - continue recursive merge
137
- return void(0);
139
+ return void (0);
138
140
  }
139
141
  return optValue;
140
142
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngageoint/mage.service",
3
- "version": "6.3.0-beta.7",
3
+ "version": "6.3.0",
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": [
@@ -1,6 +1,6 @@
1
1
  openapi: 3.0.1
2
2
  info:
3
- title: MAGE (Mobile Awareness GEOINT Environment) API
3
+ title: MAGE API
4
4
  description: MAGE API
5
5
  contact:
6
6
  name: MAGE Support
@@ -1 +1 @@
1
- {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/routes/imports.js"],"names":[],"mappings":"AAAiB,yDA4DhB"}
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/routes/imports.js"],"names":[],"mappings":"AAAiB,yDAgEhB"}
@@ -12,11 +12,15 @@ module.exports = function (app, security) {
12
12
  fs.readFile(req.file.path, 'utf8', function (err, data) {
13
13
  if (err)
14
14
  return next(err);
15
- const kml = new DOMParser({
16
- errorHandler: (level, message) => {
17
- console.log('kml parsing', level, req.file.filename, message);
18
- }
19
- }).parseFromString(data);
15
+ const parser = new DOMParser();
16
+ const kml = parser.parseFromString(data, "application/xml");
17
+ const parseError = kml.getElementsByTagName("parsererror");
18
+ if (parseError.length > 0) {
19
+ console.error("KML Parsing Error:", parseError[0].textContent);
20
+ }
21
+ else {
22
+ console.log("Parsed KML successfully");
23
+ }
20
24
  if (!kml || kml.documentElement.nodeName !== 'kml') {
21
25
  return res.status(400).send('Invalid file, please upload a KML file.');
22
26
  }
@@ -30,7 +34,7 @@ module.exports = function (app, security) {
30
34
  .then(newFeatures => {
31
35
  const response = {
32
36
  files: [{
33
- name: req.file.originalname,
37
+ name: Buffer.from(req.file.originalname, 'latin1').toString('utf-8'),
34
38
  size: req.file.size,
35
39
  features: newFeatures ? newFeatures.length : 0
36
40
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/routes/imports.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,UAAS,GAAG,EAAE,QAAQ;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,EACzB,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAC7B,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EACxB,EAAC,cAAc,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,WAAW,CAAC,EAC/C,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAC/C,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;IAElD,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;SAChF;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SACxE;QAED,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,IAAI;YACpD,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;gBACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC/D,CAAC;aACF,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEzB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;aACxE;YAED,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;YACd,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAAI,CACN,0BAA0B,EAC1B,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC/B,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACrB,QAAQ,EACR,UAAS,GAAG,EAAE,GAAG,EAAE,IAAI;QACrB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;aAChD,IAAI,CAAC,WAAW,CAAC,EAAE;YAClB,MAAM,QAAQ,GAAG;gBACf,KAAK,EAAE,CAAC;wBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY;wBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC;aACH,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/routes/imports.js"],"names":[],"mappings":"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"}