From dc8ff86d2f1461f1dd1f8316908a1eb85d059bdf Mon Sep 17 00:00:00 2001 From: Amine Mouafik Date: Thu, 28 Nov 2019 17:55:35 +0700 Subject: #13 Remove uneccessary validation on service update --- app/Controllers/Http/ServiceController.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/app/Controllers/Http/ServiceController.js b/app/Controllers/Http/ServiceController.js index 4a4a8c4..90055b6 100644 --- a/app/Controllers/Http/ServiceController.js +++ b/app/Controllers/Http/ServiceController.js @@ -179,17 +179,6 @@ class ServiceController { }); } else { // Update service info - const validation = await validateAll(request.all(), { - name: 'required', - }); - if (validation.fails()) { - return response.status(401).send({ - message: 'Invalid POST arguments', - messages: validation.messages(), - status: 401, - }); - } - const data = request.all(); const { id, -- cgit v1.2.3-54-g00ecf From 1d1eafab088b66b599b3b6f734f98dc81f989445 Mon Sep 17 00:00:00 2001 From: Amine Mouafik Date: Fri, 29 Nov 2019 03:43:11 +0700 Subject: Create FUNDING.yml --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..5200e71 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +open_collective: getferdi -- cgit v1.2.3-54-g00ecf From cc8471e39664c7864cdbac6e3234220652602c9d Mon Sep 17 00:00:00 2001 From: Amine Mouafik Date: Fri, 29 Nov 2019 16:13:46 +0700 Subject: #15 Setup Sentry to capture errors --- package-lock.json | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- package.json | 1 + server.js | 2 + 3 files changed, 116 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00d3f18..23a9522 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ferdi-server", - "version": "1.0.0", + "version": "1.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -419,6 +419,67 @@ } } }, + "@sentry/core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.8.0.tgz", + "integrity": "sha512-aAh2KLidIXJVGrxmHSVq2eVKbu7tZiYn5ylW6yzJXFetS5z4MA+JYaSBaG2inVYDEEqqMIkb17TyWxxziUDieg==", + "requires": { + "@sentry/hub": "5.8.0", + "@sentry/minimal": "5.8.0", + "@sentry/types": "5.7.1", + "@sentry/utils": "5.8.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.8.0.tgz", + "integrity": "sha512-VdApn1ZCNwH1wwQwoO6pu53PM/qgHG+DQege0hbByluImpLBhAj9w50nXnF/8KzV4UoMIVbzCb6jXzMRmqqp9A==", + "requires": { + "@sentry/types": "5.7.1", + "@sentry/utils": "5.8.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.8.0.tgz", + "integrity": "sha512-MIlFOgd+JvAUrBBmq7vr9ovRH1HvckhnwzHdoUPpKRBN+rQgTyZy1o6+kA2fASCbrRqFCP+Zk7EHMACKg8DpIw==", + "requires": { + "@sentry/hub": "5.8.0", + "@sentry/types": "5.7.1", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.9.0.tgz", + "integrity": "sha512-1CWwSGhRfMr4Bvt1i0vIms+BBZd4dBzlDyWpyCboodCXF1rTJRci9roQ+Wh9XWwFEWvgDD2PzuKzfvu638v2Wg==", + "requires": { + "@sentry/core": "5.8.0", + "@sentry/hub": "5.8.0", + "@sentry/types": "5.7.1", + "@sentry/utils": "5.8.0", + "cookie": "^0.3.1", + "https-proxy-agent": "^3.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.7.1.tgz", + "integrity": "sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ==" + }, + "@sentry/utils": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.8.0.tgz", + "integrity": "sha512-KDxUvBSYi0/dHMdunbxAxD3389pcQioLtcO6CI6zt/nJXeVFolix66cRraeQvqupdLhvOk/el649W4fCPayTHw==", + "requires": { + "@sentry/types": "5.7.1", + "tslib": "^1.9.3" + } + }, "@slynova/flydrive": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@slynova/flydrive/-/flydrive-0.3.1.tgz", @@ -482,6 +543,14 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==" }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -1724,6 +1793,19 @@ "is-symbol": "^1.0.2" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -2608,6 +2690,30 @@ "sshpk": "^1.7.0" } }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3295,6 +3401,11 @@ } } }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + }, "macroable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/macroable/-/macroable-1.0.0.tgz", @@ -5868,8 +5979,7 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tsscmp": { "version": "1.0.6", diff --git a/package.json b/package.json index e8d34e1..3bcae53 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@adonisjs/session": "^1.0.29", "@adonisjs/shield": "^1.0.8", "@adonisjs/validator": "^5.0.6", + "@sentry/node": "^5.9.0", "atob": "^2.1.2", "btoa": "^1.2.1", "fs-extra": "^8.1.0", diff --git a/server.js b/server.js index e56b08e..81f8e73 100644 --- a/server.js +++ b/server.js @@ -1,3 +1,5 @@ +const Sentry = require('@sentry/node'); +Sentry.init({ dsn: 'https://34e9a42c1de24048b7bfc980211dd7c8@sentry.io/1838449' }); /* |-------------------------------------------------------------------------- -- cgit v1.2.3-54-g00ecf From 36ccd2fd3c3b53ca5d269314282579cf01acb907 Mon Sep 17 00:00:00 2001 From: Amine Mouafik Date: Fri, 29 Nov 2019 16:51:45 +0700 Subject: #17 Return HTTP 404 when no announcements available --- app/Controllers/Http/StaticController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Controllers/Http/StaticController.js b/app/Controllers/Http/StaticController.js index 2e424e1..5b8d716 100644 --- a/app/Controllers/Http/StaticController.js +++ b/app/Controllers/Http/StaticController.js @@ -234,7 +234,7 @@ class StaticController { if (await fs.pathExists(announcement)) { return response.download(announcement); } - return response.send('No announcement found.'); + return response.status(404).send('No announcement found.'); } } -- cgit v1.2.3-54-g00ecf