cleaned TODOS
This commit is contained in:
		
							
								
								
									
										4
									
								
								build.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								build.bat
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					call npm run tsc-full
 | 
				
			||||||
 | 
					copy package.json dist\package.json
 | 
				
			||||||
 | 
					Xcopy /E /I api dist\api
 | 
				
			||||||
 | 
					Xcopy /E /I static dist\static
 | 
				
			||||||
							
								
								
									
										0
									
								
								data_import/import.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								data_import/import.js
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										169
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										169
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -678,6 +678,11 @@
 | 
				
			|||||||
        "type-is": "~1.6.17"
 | 
					        "type-is": "~1.6.17"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "bowser": {
 | 
				
			||||||
 | 
					      "version": "2.9.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.9.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-2ld76tuLBNFekRgmJfT2+3j5MIrP6bFict8WAIT3beq+srz1gcKNAdNKMqHqauQt63NmAa88HfP1/Ypa9Er3HA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "boxen": {
 | 
					    "boxen": {
 | 
				
			||||||
      "version": "4.2.0",
 | 
					      "version": "4.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
 | 
				
			||||||
@@ -861,6 +866,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
 | 
					      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "camelize": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "cfenv": {
 | 
					    "cfenv": {
 | 
				
			||||||
      "version": "1.2.2",
 | 
					      "version": "1.2.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cfenv/-/cfenv-1.2.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cfenv/-/cfenv-1.2.2.tgz",
 | 
				
			||||||
@@ -998,6 +1008,35 @@
 | 
				
			|||||||
      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
 | 
					      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "compressible": {
 | 
				
			||||||
 | 
					      "version": "2.0.18",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "mime-db": ">= 1.43.0 < 2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "compression": {
 | 
				
			||||||
 | 
					      "version": "1.7.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "accepts": "~1.3.5",
 | 
				
			||||||
 | 
					        "bytes": "3.0.0",
 | 
				
			||||||
 | 
					        "compressible": "~2.0.16",
 | 
				
			||||||
 | 
					        "debug": "2.6.9",
 | 
				
			||||||
 | 
					        "on-headers": "~1.0.2",
 | 
				
			||||||
 | 
					        "safe-buffer": "5.1.2",
 | 
				
			||||||
 | 
					        "vary": "~1.1.2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "bytes": {
 | 
				
			||||||
 | 
					          "version": "3.0.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "concat-map": {
 | 
					    "concat-map": {
 | 
				
			||||||
      "version": "0.0.1",
 | 
					      "version": "0.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 | 
				
			||||||
@@ -1029,6 +1068,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/content-filter/-/content-filter-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/content-filter/-/content-filter-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-VaZ4Y7h776r0v2WxWqu3iatjYI6/N0msXK8O1ymtkFWbSvaFoCePksS8U60BS6dUMZeAlqhN09SuM7ghdzRP1Q=="
 | 
					      "integrity": "sha512-VaZ4Y7h776r0v2WxWqu3iatjYI6/N0msXK8O1ymtkFWbSvaFoCePksS8U60BS6dUMZeAlqhN09SuM7ghdzRP1Q=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "content-security-policy-builder": {
 | 
				
			||||||
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "content-type": {
 | 
					    "content-type": {
 | 
				
			||||||
      "version": "1.0.4",
 | 
					      "version": "1.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 | 
				
			||||||
@@ -1092,6 +1136,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
 | 
					      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "dasherize": {
 | 
				
			||||||
 | 
					      "version": "2.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "debug": {
 | 
					    "debug": {
 | 
				
			||||||
      "version": "2.6.9",
 | 
					      "version": "2.6.9",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
@@ -1163,6 +1212,16 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
 | 
					      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "dns-prefetch-control": {
 | 
				
			||||||
 | 
					      "version": "0.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hvSnros73+qyZXhHFjx2CMLwoj3Fe7eR9EJsFsqmcI1bB2OBWL/+0YzaEaKssCHnj/6crawNnUyw74Gm2EKe+Q=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dont-sniff-mimetype": {
 | 
				
			||||||
 | 
					      "version": "1.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZjI4zqTaxveH2/tTlzS1wFp+7ncxNZaIEWYg3lzZRHkKf5zPT/MnEG6WL0BhHMJUabkh8GeU5NL5j+rEUCb7Ug=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "dot-prop": {
 | 
					    "dot-prop": {
 | 
				
			||||||
      "version": "5.2.0",
 | 
					      "version": "5.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
 | 
				
			||||||
@@ -1265,6 +1324,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
 | 
					      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "expect-ct": {
 | 
				
			||||||
 | 
					      "version": "0.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/expect-ct/-/expect-ct-0.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-6SK3MG/Bbhm8MsgyJAylg+ucIOU71/FzyFalcfu5nY19dH8y/z0tBJU0wrNBXD4B27EoQtqPF/9wqH0iYAd04g=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "express": {
 | 
					    "express": {
 | 
				
			||||||
      "version": "4.17.1",
 | 
					      "version": "4.17.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 | 
				
			||||||
@@ -1308,6 +1372,11 @@
 | 
				
			|||||||
      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 | 
					      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "feature-policy": {
 | 
				
			||||||
 | 
					      "version": "0.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZtijOTFN7TzCujt1fnNhfWPFPSHeZkesff9AXZj+UEjYBynWNUIYpC87Ve4wHzyexQsImicLu7WsC2LHq7/xrQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "fill-range": {
 | 
					    "fill-range": {
 | 
				
			||||||
      "version": "7.0.1",
 | 
					      "version": "7.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
 | 
				
			||||||
@@ -1409,6 +1478,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
 | 
					      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "frameguard": {
 | 
				
			||||||
 | 
					      "version": "3.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-TxgSKM+7LTA6sidjOiSZK9wxY0ffMPY3Wta//MqwmX0nZuEHc8QrkV8Fh3ZhMJeiH+Uyh/tcaarImRy8u77O7g=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "fresh": {
 | 
					    "fresh": {
 | 
				
			||||||
      "version": "0.5.2",
 | 
					      "version": "0.5.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
 | 
				
			||||||
@@ -1568,6 +1642,76 @@
 | 
				
			|||||||
      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
 | 
					      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "helmet": {
 | 
				
			||||||
 | 
					      "version": "3.22.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.22.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Xrqicn2nm1ZIUxP3YGuTBmbDL04neKsIT583Sjh0FkiwKDXYCMUqGqC88w3NUvVXtA75JyR2Jn6jw6ZEMOD+ZA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "depd": "2.0.0",
 | 
				
			||||||
 | 
					        "dns-prefetch-control": "0.2.0",
 | 
				
			||||||
 | 
					        "dont-sniff-mimetype": "1.1.0",
 | 
				
			||||||
 | 
					        "expect-ct": "0.2.0",
 | 
				
			||||||
 | 
					        "feature-policy": "0.3.0",
 | 
				
			||||||
 | 
					        "frameguard": "3.1.0",
 | 
				
			||||||
 | 
					        "helmet-crossdomain": "0.4.0",
 | 
				
			||||||
 | 
					        "helmet-csp": "2.10.0",
 | 
				
			||||||
 | 
					        "hide-powered-by": "1.1.0",
 | 
				
			||||||
 | 
					        "hpkp": "2.0.0",
 | 
				
			||||||
 | 
					        "hsts": "2.2.0",
 | 
				
			||||||
 | 
					        "ienoopen": "1.1.0",
 | 
				
			||||||
 | 
					        "nocache": "2.1.0",
 | 
				
			||||||
 | 
					        "referrer-policy": "1.2.0",
 | 
				
			||||||
 | 
					        "x-xss-protection": "1.3.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "depd": {
 | 
				
			||||||
 | 
					          "version": "2.0.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "helmet-crossdomain": {
 | 
				
			||||||
 | 
					      "version": "0.4.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.4.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-AB4DTykRw3HCOxovD1nPR16hllrVImeFp5VBV9/twj66lJ2nU75DP8FPL0/Jp4jj79JhTfG+pFI2MD02kWJ+fA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "helmet-csp": {
 | 
				
			||||||
 | 
					      "version": "2.10.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.10.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Rz953ZNEFk8sT2XvewXkYN0Ho4GEZdjAZy4stjiEQV3eN7GDxg1QKmYggH7otDyIA7uGA6XnUMVSgeJwbR5X+w==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bowser": "2.9.0",
 | 
				
			||||||
 | 
					        "camelize": "1.0.0",
 | 
				
			||||||
 | 
					        "content-security-policy-builder": "2.1.0",
 | 
				
			||||||
 | 
					        "dasherize": "2.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "hide-powered-by": {
 | 
				
			||||||
 | 
					      "version": "1.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Io1zA2yOA1YJslkr+AJlWSf2yWFkKjvkcL9Ni1XSUqnGLr/qRQe2UI3Cn/J9MsJht7yEVCe0SscY1HgVMujbgg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "hpkp": {
 | 
				
			||||||
 | 
					      "version": "2.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "hsts": {
 | 
				
			||||||
 | 
					      "version": "2.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "depd": "2.0.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "depd": {
 | 
				
			||||||
 | 
					          "version": "2.0.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "html-escaper": {
 | 
					    "html-escaper": {
 | 
				
			||||||
      "version": "2.0.2",
 | 
					      "version": "2.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
 | 
				
			||||||
@@ -1599,6 +1743,11 @@
 | 
				
			|||||||
        "safer-buffer": ">= 2.1.2 < 3"
 | 
					        "safer-buffer": ">= 2.1.2 < 3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "ienoopen": {
 | 
				
			||||||
 | 
					      "version": "1.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-MFs36e/ca6ohEKtinTJ5VvAJ6oDRAYFdYXweUnGY9L9vcoqFOU4n2ZhmJ0C4z/cwGZ3YIQRSB3XZ1+ghZkY5NQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "ignore-by-default": {
 | 
					    "ignore-by-default": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
 | 
				
			||||||
@@ -2270,6 +2419,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
					      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nocache": {
 | 
				
			||||||
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node-environment-flags": {
 | 
					    "node-environment-flags": {
 | 
				
			||||||
      "version": "1.0.6",
 | 
					      "version": "1.0.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
 | 
				
			||||||
@@ -2571,6 +2725,11 @@
 | 
				
			|||||||
        "ee-first": "1.1.1"
 | 
					        "ee-first": "1.1.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "on-headers": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "once": {
 | 
					    "once": {
 | 
				
			||||||
      "version": "1.4.0",
 | 
					      "version": "1.4.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 | 
				
			||||||
@@ -2845,6 +3004,11 @@
 | 
				
			|||||||
        "picomatch": "^2.0.7"
 | 
					        "picomatch": "^2.0.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "referrer-policy": {
 | 
				
			||||||
 | 
					      "version": "1.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-LgQJIuS6nAy1Jd88DCQRemyE3mS+ispwlqMk3b0yjZ257fI1v9c+/p6SD5gP5FGyXUIgrNOAfmyioHwZtYv2VA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "regexp-clone": {
 | 
					    "regexp-clone": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
 | 
				
			||||||
@@ -3652,6 +3816,11 @@
 | 
				
			|||||||
        "typedarray-to-buffer": "^3.1.5"
 | 
					        "typedarray-to-buffer": "^3.1.5"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "x-xss-protection": {
 | 
				
			||||||
 | 
					      "version": "1.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-kpyBI9TlVipZO4diReZMAHWtS0MMa/7Kgx8hwG/EuZLiA6sg4Ah/4TRdASHhRRN3boobzcYgFRUFSgHRge6Qhg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "xdg-basedir": {
 | 
					    "xdg-basedir": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								package.json
									
									
									
									
									
								
							@@ -6,9 +6,10 @@
 | 
				
			|||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "tsc": "tsc",
 | 
					    "tsc": "tsc",
 | 
				
			||||||
    "tsc-full": "del /q dist\\* & (for /d %x in (dist\\*) do @rd /s /q \"%x\") & tsc",
 | 
					    "tsc-full": "del /q dist\\* & (for /d %x in (dist\\*) do @rd /s /q \"%x\") & tsc",
 | 
				
			||||||
 | 
					    "build": "build.bat",
 | 
				
			||||||
    "test": "mocha dist/**/**.spec.js",
 | 
					    "test": "mocha dist/**/**.spec.js",
 | 
				
			||||||
    "start": "tsc && node dist/index.js || exit 1",
 | 
					    "start": "node index.js",
 | 
				
			||||||
    "dev": "nodemon -e ts,yaml --exec \"npm run start\"",
 | 
					    "dev": "nodemon -e ts,yaml --exec \"tsc && node dist/index.js || exit 1\"",
 | 
				
			||||||
    "loadDev": "node dist/test/loadDev.js",
 | 
					    "loadDev": "node dist/test/loadDev.js",
 | 
				
			||||||
    "coverage": "tsc && nyc --reporter=html --reporter=text mocha dist/**/**.spec.js --timeout 5000"
 | 
					    "coverage": "tsc && nyc --reporter=html --reporter=text mocha dist/**/**.spec.js --timeout 5000"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
@@ -19,35 +20,37 @@
 | 
				
			|||||||
    "@apidevtools/json-schema-ref-parser": "^8.0.0",
 | 
					    "@apidevtools/json-schema-ref-parser": "^8.0.0",
 | 
				
			||||||
    "@apidevtools/swagger-parser": "^9.0.1",
 | 
					    "@apidevtools/swagger-parser": "^9.0.1",
 | 
				
			||||||
    "@hapi/joi": "^17.1.1",
 | 
					    "@hapi/joi": "^17.1.1",
 | 
				
			||||||
    "@types/bcrypt": "^3.0.0",
 | 
					 | 
				
			||||||
    "@types/body-parser": "^1.19.0",
 | 
					 | 
				
			||||||
    "@types/express-serve-static-core": "^4.17.5",
 | 
					 | 
				
			||||||
    "@types/mocha": "^5.2.7",
 | 
					 | 
				
			||||||
    "@types/mongoose": "^5.7.12",
 | 
					 | 
				
			||||||
    "@types/node": "^13.1.6",
 | 
					 | 
				
			||||||
    "@types/qs": "^6.9.1",
 | 
					 | 
				
			||||||
    "@types/serve-static": "^1.13.3",
 | 
					 | 
				
			||||||
    "axios": "^0.19.2",
 | 
					    "axios": "^0.19.2",
 | 
				
			||||||
    "basic-auth": "^2.0.1",
 | 
					    "basic-auth": "^2.0.1",
 | 
				
			||||||
    "bcryptjs": "^2.4.3",
 | 
					    "bcryptjs": "^2.4.3",
 | 
				
			||||||
    "body-parser": "^1.19.0",
 | 
					    "body-parser": "^1.19.0",
 | 
				
			||||||
    "cfenv": "^1.2.2",
 | 
					    "cfenv": "^1.2.2",
 | 
				
			||||||
 | 
					    "compression": "^1.7.4",
 | 
				
			||||||
    "content-filter": "^1.1.2",
 | 
					    "content-filter": "^1.1.2",
 | 
				
			||||||
    "express": "^4.17.1",
 | 
					    "express": "^4.17.1",
 | 
				
			||||||
 | 
					    "helmet": "^3.22.0",
 | 
				
			||||||
    "json-schema": "^0.2.5",
 | 
					    "json-schema": "^0.2.5",
 | 
				
			||||||
    "lodash": "^4.17.15",
 | 
					    "lodash": "^4.17.15",
 | 
				
			||||||
    "mongo-sanitize": "^1.1.0",
 | 
					    "mongo-sanitize": "^1.1.0",
 | 
				
			||||||
    "mongoose": "^5.8.7",
 | 
					    "mongoose": "^5.8.7",
 | 
				
			||||||
    "nodemon": "^2.0.3",
 | 
					    "swagger-ui-express": "^4.1.2"
 | 
				
			||||||
    "swagger-ui-express": "^4.1.2",
 | 
					 | 
				
			||||||
    "tslint": "^5.20.1",
 | 
					 | 
				
			||||||
    "typescript": "^3.7.4"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@types/bcrypt": "^3.0.0",
 | 
				
			||||||
 | 
					    "@types/body-parser": "^1.19.0",
 | 
				
			||||||
 | 
					    "@types/express-serve-static-core": "^4.17.5",
 | 
				
			||||||
    "@types/lodash": "^4.14.150",
 | 
					    "@types/lodash": "^4.14.150",
 | 
				
			||||||
 | 
					    "@types/mocha": "^5.2.7",
 | 
				
			||||||
 | 
					    "@types/mongoose": "^5.7.12",
 | 
				
			||||||
 | 
					    "@types/node": "^13.1.6",
 | 
				
			||||||
 | 
					    "@types/qs": "^6.9.1",
 | 
				
			||||||
 | 
					    "@types/serve-static": "^1.13.3",
 | 
				
			||||||
    "mocha": "^7.1.2",
 | 
					    "mocha": "^7.1.2",
 | 
				
			||||||
 | 
					    "nodemon": "^2.0.3",
 | 
				
			||||||
    "nyc": "^15.0.1",
 | 
					    "nyc": "^15.0.1",
 | 
				
			||||||
    "should": "^13.2.3",
 | 
					    "should": "^13.2.3",
 | 
				
			||||||
    "supertest": "^4.0.2"
 | 
					    "supertest": "^4.0.2",
 | 
				
			||||||
 | 
					    "tslint": "^5.20.1",
 | 
				
			||||||
 | 
					    "typescript": "^3.7.4"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/index.ts
									
									
									
									
									
								
							@@ -1,17 +1,12 @@
 | 
				
			|||||||
import express from 'express';
 | 
					import express from 'express';
 | 
				
			||||||
import bodyParser from 'body-parser';
 | 
					import bodyParser from 'body-parser';
 | 
				
			||||||
 | 
					import compression from 'compression';
 | 
				
			||||||
import contentFilter from 'content-filter';
 | 
					import contentFilter from 'content-filter';
 | 
				
			||||||
import mongoSanitize from 'mongo-sanitize';
 | 
					import mongoSanitize from 'mongo-sanitize';
 | 
				
			||||||
 | 
					import helmet from 'helmet';
 | 
				
			||||||
import api from './api';
 | 
					import api from './api';
 | 
				
			||||||
import db from './db';
 | 
					import db from './db';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO: check executing index.js/move everything needed into dist
 | 
					 | 
				
			||||||
// TODO: validation: VZ, Humidity: min/max value, DPT: filename
 | 
					 | 
				
			||||||
// TODO: add multiple samples at once (only GUI)
 | 
					 | 
				
			||||||
// TODO: think about the display of deleted/new samples and validation in data and UI
 | 
					 | 
				
			||||||
// TODO: improve error coverage
 | 
					 | 
				
			||||||
// TODO: guess properties from material name in UI
 | 
					 | 
				
			||||||
// TODO: mongodb user
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// tell if server is running in debug or production environment
 | 
					// tell if server is running in debug or production environment
 | 
				
			||||||
console.info(process.env.NODE_ENV === 'production' ? '===== PRODUCTION =====' : process.env.NODE_ENV === 'test' ? '' :'===== DEVELOPMENT =====');
 | 
					console.info(process.env.NODE_ENV === 'production' ? '===== PRODUCTION =====' : process.env.NODE_ENV === 'test' ? '' :'===== DEVELOPMENT =====');
 | 
				
			||||||
@@ -28,8 +23,10 @@ app.disable('x-powered-by');
 | 
				
			|||||||
const port = process.env.PORT || 3000;
 | 
					const port = process.env.PORT || 3000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//middleware
 | 
					//middleware
 | 
				
			||||||
 | 
					app.use(helmet());
 | 
				
			||||||
app.use(express.json({ limit: '5mb'}));
 | 
					app.use(express.json({ limit: '5mb'}));
 | 
				
			||||||
app.use(express.urlencoded({ extended: false, limit: '5mb' }));
 | 
					app.use(express.urlencoded({ extended: false, limit: '5mb' }));
 | 
				
			||||||
 | 
					app.use(compression());  // compress responses
 | 
				
			||||||
app.use(bodyParser.json());
 | 
					app.use(bodyParser.json());
 | 
				
			||||||
app.use(contentFilter());  // filter URL query attacks
 | 
					app.use(contentFilter());  // filter URL query attacks
 | 
				
			||||||
app.use((req, res, next) => {  // filter body query attacks
 | 
					app.use((req, res, next) => {  // filter body query attacks
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,9 +9,7 @@ import mongoose from 'mongoose';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// TODO: generate output for ML in format DPT -> data, implement filtering, field selection
 | 
					// TODO: generate output for ML in format DPT -> data, implement filtering, field selection
 | 
				
			||||||
// TODO: generate csv
 | 
					// TODO: generate csv
 | 
				
			||||||
// TODO: filter by not completely filled/no measurements
 | 
					 | 
				
			||||||
// TODO: write script for data import
 | 
					// TODO: write script for data import
 | 
				
			||||||
// TODO: allow adding sample numbers for existing samples
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('/sample', () => {
 | 
					describe('/sample', () => {
 | 
				
			||||||
  let server;
 | 
					  let server;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user