From 37c34f99aca080697c3916e9037f25a1df7f9635 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Mon, 16 Nov 2020 17:50:08 +0100 Subject: [PATCH] Bug fixes --- docker-compose.debug.yml | 2 +- package-lock.json | 251 +++++++----------- package.json | 21 +- public/js-source/{src => }/SomeModule.ts | 0 public/js-source/{src => }/index.ts | 0 public/js-source/tsconfig.json | 2 +- .../js-source/{src => }/utils/resolvable.ts | 0 .../{src => }/utils/types/userinfo.d.ts | 0 public/js-source/{src => }/utils/utils.ts | 0 src/app.ts | 16 +- src/healthcheck.ts | 3 +- src/routes/api/user.ts | 3 +- 12 files changed, 112 insertions(+), 186 deletions(-) rename public/js-source/{src => }/SomeModule.ts (100%) rename public/js-source/{src => }/index.ts (100%) rename public/js-source/{src => }/utils/resolvable.ts (100%) rename public/js-source/{src => }/utils/types/userinfo.d.ts (100%) rename public/js-source/{src => }/utils/utils.ts (100%) diff --git a/docker-compose.debug.yml b/docker-compose.debug.yml index e22ef43..96b2d29 100644 --- a/docker-compose.debug.yml +++ b/docker-compose.debug.yml @@ -25,7 +25,7 @@ services: - "CLIENT_SCOPE=openid email profile roles groups" - "NODE_ENV=debug" - "SSL_VERIFY=false" - - "EXT_RESOURCE_URI=http://localhost:3001" + - "EXT_RESOURCE_URI=http://localhost/base" - "REDIS_URL=redis://redis:6379" - "NO_PROXY=redis:6379" ports: diff --git a/package-lock.json b/package-lock.json index 1aa25e7..715ab7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -137,6 +137,12 @@ "ms": "2.1.2" } }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -345,7 +351,6 @@ "version": "1.19.0", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", - "dev": true, "requires": { "@types/connect": "*", "@types/node": "*" @@ -364,28 +369,14 @@ "version": "3.4.33", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", - "dev": true, "requires": { "@types/node": "*" } }, - "@types/connect-redis": { - "version": "0.0.15", - "resolved": "https://registry.npmjs.org/@types/connect-redis/-/connect-redis-0.0.15.tgz", - "integrity": "sha512-3HfilxHxTQRNA2m7bF6gAE/4sfEUwW3kD9mJD+8MDCmuEwXHvbW+qJxSiv6HYRK7xEKBlLr2RnEpI9tISTA3oA==", - "dev": true, - "requires": { - "@types/express": "*", - "@types/express-session": "*", - "@types/ioredis": "*", - "@types/redis": "*" - } - }, "@types/express": { "version": "4.17.9", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", - "dev": true, "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "*", @@ -397,7 +388,6 @@ "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz", "integrity": "sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==", - "dev": true, "requires": { "@types/node": "*", "@types/qs": "*", @@ -405,10 +395,9 @@ } }, "@types/express-session": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.1.tgz", - "integrity": "sha512-XWiWXO+IOoiAj6rUG1HggCAl+ykY4GKo/Evwil+r9N2jHWq1zbAzKqjlGn5nmh/+Xl21SyF1bHyLrpoj7cjeYw==", - "dev": true, + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.2.tgz", + "integrity": "sha512-QRm/fUuvr/BAosL9CvK351SDQP7wpD8+h3S8ZEE/8IvHJ/ZqHrjZbjx/flYfazyPw7yNi9O5fbjFZbh0vZ1ccg==", "requires": { "@types/express": "*" } @@ -419,15 +408,6 @@ "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==", "dev": true }, - "@types/ioredis": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.17.7.tgz", - "integrity": "sha512-M8/KDSGmNYhPFMn+CxDDpIEHP27b2muEHgnK1UgIQIMEO2KXH9mznHx3epeRlD+AjF94HFh3dy2/9zqO+pPDqQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/json-schema": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", @@ -437,8 +417,7 @@ "@types/mime": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", - "dev": true + "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==" }, "@types/minimatch": { "version": "3.0.3", @@ -448,31 +427,7 @@ "@types/node": { "version": "14.14.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.7.tgz", - "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==", - "dev": true - }, - "@types/node-fetch": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", - "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } + "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==" }, "@types/node-sass": { "version": "4.11.1", @@ -497,7 +452,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/proper-url-join/-/proper-url-join-2.0.0.tgz", "integrity": "sha512-Q2MqlyNLYiqnJI01t/FRut17VURfCtbGzkavnfGueUQ9oM4a1cQwogjDUnCFxjaIfQBAomspYHuNGxhngVkfTQ==", - "dev": true, "requires": { "query-string": "^6.3.0" } @@ -505,20 +459,17 @@ "@types/qs": { "version": "6.9.5", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", - "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==", - "dev": true + "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==" }, "@types/range-parser": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", - "dev": true + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" }, "@types/redis": { "version": "2.8.28", "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.28.tgz", "integrity": "sha512-8l2gr2OQ969ypa7hFOeKqtFoY70XkHxISV0pAwmQ2nm6CSPb1brmTmqJCGGrekCo+pAZyWlNXr+Kvo6L/1wijA==", - "dev": true, "requires": { "@types/node": "*" } @@ -527,18 +478,11 @@ "version": "1.13.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.7.tgz", "integrity": "sha512-3diZWucbR+xTmbDlU+FRRxBf+31OhFew7cJXML/zh9NmvSPTNoFecAwHB66BUqFgENJtqMiyl7JAwUE/siqdLw==", - "dev": true, "requires": { "@types/mime": "*", "@types/node": "*" } }, - "@types/uuid": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", - "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", - "dev": true - }, "@typescript-eslint/eslint-plugin": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.7.0.tgz", @@ -766,13 +710,9 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "aproba": { "version": "1.2.0", @@ -988,25 +928,15 @@ } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "character-parser": { @@ -1169,6 +1099,37 @@ "yargs": "^13.3.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -1195,6 +1156,15 @@ "parse-json": "^4.0.0", "pify": "^3.0.0" } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -1549,6 +1519,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1651,12 +1627,6 @@ "eslint-visitor-keys": "^1.3.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", @@ -2122,14 +2092,6 @@ "ignore": "^5.1.4", "merge2": "^1.3.0", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } } }, "globule": { @@ -2233,9 +2195,9 @@ } }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "import-fresh": { @@ -2886,30 +2848,6 @@ "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } } }, "node-sass-middleware": { @@ -3174,10 +3112,13 @@ } }, "pkg-express-utils": { - "version": "git+https://git.biotronik.int/scm/coe-bs-website/node-pkg-express-utils.git#99527fdb494c464c9351626548bf446b39c155f4", + "version": "git+https://git.biotronik.int/scm/coe-bs-website/node-pkg-express-utils.git#d58aa134ecdb8c86eff83b0d63db283918ad35d7", "from": "git+https://git.biotronik.int/scm/coe-bs-website/node-pkg-express-utils.git", "requires": { "@10xjs/polyfill-analyzer": "^0.1.0", + "@types/express-session": "^1.17.1", + "@types/proper-url-join": "^2.0.0", + "@types/redis": "^2.8.28", "connect-redis": "^5.0.0", "cookie-parser": "~1.4.4", "env-var": "^6.3.0", @@ -3194,6 +3135,13 @@ "tiny-worker": "^2.3.0", "uuid": "^8.3.1", "winston": "^3.3.3" + }, + "dependencies": { + "uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" + } } }, "polyfill-library": { @@ -3594,13 +3542,6 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, "require-directory": { @@ -3614,11 +3555,11 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "requires": { - "is-core-module": "^2.0.0", + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -4037,13 +3978,9 @@ "dev": true }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "symbol-observable": { "version": "1.2.0", @@ -4433,9 +4370,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { "version": "2.2.0", diff --git a/package.json b/package.json index c9af3a2..429fd35 100644 --- a/package.json +++ b/package.json @@ -15,40 +15,21 @@ "install-prod-win": "npm install --only=dev && npm install --only=prod && npm run build && rmdir /Q/S node_modules && npm install --only=prod" }, "dependencies": { - "@10xjs/polyfill-analyzer": "^0.1.0", "compression": "^1.7.4", - "connect-redis": "^5.0.0", "cookie-parser": "~1.4.4", - "env-var": "^6.3.0", "express": "~4.16.1", - "express-session": "^1.17.1", "http-errors": "~1.6.3", - "json-prune": "^1.1.0", - "node-fetch": "^2.6.1", "node-sass-middleware": "0.11.0", "pkg-express-utils": "git+https://git.biotronik.int/scm/coe-bs-website/node-pkg-express-utils.git", - "polyfill-library": "^3.97.0", - "proper-url-join": "^2.1.1", "pug": "^3.0.0", - "redis": "^3.0.2", - "role-acl": "^4.5.4", - "threads": "^1.6.3", - "tiny-worker": "^2.3.0", - "uuid": "^8.3.1", - "winston": "^3.3.3" + "role-acl": "^4.5.4" }, "devDependencies": { "@types/compression": "^1.7.0", - "@types/connect-redis": "0.0.15", "@types/express": "^4.17.8", - "@types/express-session": "^1.17.1", "@types/http-errors": "^1.8.0", "@types/node": "^14.14.7", - "@types/node-fetch": "^2.5.7", "@types/node-sass-middleware": "0.0.31", - "@types/proper-url-join": "^2.0.0", - "@types/redis": "^2.8.28", - "@types/uuid": "^8.3.0", "@typescript-eslint/eslint-plugin": "^4.7.0", "@typescript-eslint/parser": "^4.7.0", "concurrently": "^5.3.0", diff --git a/public/js-source/src/SomeModule.ts b/public/js-source/SomeModule.ts similarity index 100% rename from public/js-source/src/SomeModule.ts rename to public/js-source/SomeModule.ts diff --git a/public/js-source/src/index.ts b/public/js-source/index.ts similarity index 100% rename from public/js-source/src/index.ts rename to public/js-source/index.ts diff --git a/public/js-source/tsconfig.json b/public/js-source/tsconfig.json index 9905215..34a0e1b 100644 --- a/public/js-source/tsconfig.json +++ b/public/js-source/tsconfig.json @@ -16,7 +16,7 @@ "baseUrl": "." }, "include": [ - "./src/**/*.ts" + "./**/*.ts" ], "exclude": [ ] diff --git a/public/js-source/src/utils/resolvable.ts b/public/js-source/utils/resolvable.ts similarity index 100% rename from public/js-source/src/utils/resolvable.ts rename to public/js-source/utils/resolvable.ts diff --git a/public/js-source/src/utils/types/userinfo.d.ts b/public/js-source/utils/types/userinfo.d.ts similarity index 100% rename from public/js-source/src/utils/types/userinfo.d.ts rename to public/js-source/utils/types/userinfo.d.ts diff --git a/public/js-source/src/utils/utils.ts b/public/js-source/utils/utils.ts similarity index 100% rename from public/js-source/src/utils/utils.ts rename to public/js-source/utils/utils.ts diff --git a/src/app.ts b/src/app.ts index d87899f..d4cc446 100644 --- a/src/app.ts +++ b/src/app.ts @@ -5,20 +5,26 @@ import * as path from 'path'; import * as sassMiddleware from 'node-sass-middleware'; import * as compression from 'compression'; import indexRouter from './routes'; -import {AuthProxy, AutoReloader, DefaultConfig, HttpLogger, Polyfill, Permissions} from 'pkg-express-utils'; +import {AuthProxy, AutoReloader, DefaultConfig, HttpLogger, Polyfill, PermManager} from 'pkg-express-utils'; export const app = express(); +// Permissions +PermManager + .grant("user") + .execute("read").on("userinfo") + .grant("coe_bs") + .extend("user") + .execute("write").on("userinfo"); + // view engine setup app.set('views', path.join(__dirname, '../views')); app.set('view engine', 'pug'); app.use((req, res, next) => { - res.locals.Config = DefaultConfig; + res.locals.DefaultConfig = DefaultConfig; next(); }); -const router = express.Router(); - // http logger app.use(HttpLogger); app.use(express.json()); @@ -27,6 +33,8 @@ app.use(express.urlencoded({extended: false})); // compression app.use(compression()); +const router = express.Router(); + // auth proxy middleware router.use(AuthProxy.router); // auto reloader (when running in debug mode) diff --git a/src/healthcheck.ts b/src/healthcheck.ts index d880f40..f7006d1 100644 --- a/src/healthcheck.ts +++ b/src/healthcheck.ts @@ -1,7 +1,6 @@ /* eslint-disable no-process-exit,no-console */ import * as http from "http"; -import urlJoin from 'proper-url-join'; -import {DefaultConfig} from 'pkg-express-utils'; +import {DefaultConfig, urlJoin} from 'pkg-express-utils'; const options = { host: DefaultConfig.HOSTNAME, diff --git a/src/routes/api/user.ts b/src/routes/api/user.ts index cdeab6b..156f330 100644 --- a/src/routes/api/user.ts +++ b/src/routes/api/user.ts @@ -1,9 +1,10 @@ import * as express from 'express'; +import {PermManager} from 'pkg-express-utils'; const userRouter = express.Router(); /* GET users listing. */ -userRouter.get('/', async (req, res) => { +userRouter.get('/', PermManager.getRouter("userinfo", {action: "read"}), async (req, res) => { res.json(await req.getUserInfo() || {}); });