From 10f7f641a4e68217bd282bcfcfcdbc2c5f90dfce Mon Sep 17 00:00:00 2001 From: NinavanBruggen <147059077+NinavanBruggen@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:11:47 +0200 Subject: [PATCH 01/21] Update README.md Some extra helpful links added for troubleshooting --- docker/dev/README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docker/dev/README.md b/docker/dev/README.md index 683940d5e..91750b61b 100644 --- a/docker/dev/README.md +++ b/docker/dev/README.md @@ -21,6 +21,8 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManage choco install make ``` +If you struggle here see (https://stackoverflow.com/questions/48148664/the-term-execution-policy-is-not-recognized) and + ## 1.b. Install make on macos Make sure that you have brew installed https://brew.sh/ @@ -32,21 +34,21 @@ brew install make ## 2. Fork repository 1. Go to [github.com/the-clothing-loop/website](https://github.com/the-clothing-loop/website) and name it something like "clothing-loop" -2. Disable actions in fork -3. Clone repo locally "git clone https://github.com//clothing-loop.git" +2. Disable actions in fork (see https://github.com/orgs/community/discussions/26704) +3. Clone repo locally "git clone https://github.com//clothing-loop.git" (in VS code) 4. Open in VS code, open workspace, installed recommended extensions if asked 5. copy `/clothing-loop/server/config.example.yml` to same directory and name it `config.dev.yml` 6. copy `/clothing-loop/frontend/.env-example` to same directory and name it `.env` ## 3. Start using docker compose -1. Open a terminal and cd into `clothing-loop/docker/dev` -2. Run `make docker-start` this will setup and start the container, wait till this finishes +1. Open a terminal (in VS code) and cd into `clothing-loop/docker/dev` +2. Run `make docker-start` this will setup and start the container, wait till this finishes (if the docker won't start it might help to open Docker Desktop first and try again, see: https://stackoverflow.com/questions/67788960/error-during-connect-this-error-may-indicate-that-the-docker-daemon-is-not-runn) 3. Run `make server-start` to start rest API backend (written in go) this will create the MYSQL database -4. In new tab run `make db-setup` to seed the db with dummy data +4. In new tab run `make db-setup` to seed the db with dummy data (cd into `clothing-loop/docker/dev` first) 5. If you do not have a MYSQL client, install one, like HeidiSQL (Windows). The server is `128.0.0.1` and user: `root` and password is `fb4aeaa6d860dbabe785675e` (from docker-compose.yml). The tables should be populated. -6. Run `make frontend-start` to start the frontend using Vite, it should be visible at +6. Run `make frontend-start` to start the frontend using Vite, it should be visible at in your browser of choice ## 4. Login From 167541fc2d7b621ef340f75ca7da5c55ec4ffd07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:28:02 +0000 Subject: [PATCH 02/21] Bump @babel/traverse from 7.22.5 to 7.23.2 in /app Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- app/package-lock.json | 151 +++++++++++++++++++++++++++++------------- 1 file changed, 104 insertions(+), 47 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index 8c0ef9926..d949bbd99 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -112,16 +112,73 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/compat-data": { "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", @@ -171,12 +228,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -285,22 +342,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -463,9 +520,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -509,12 +566,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -578,9 +635,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1814,33 +1871,33 @@ } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1849,13 +1906,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { From 7bff87fd83fefe01326dd59d045924496f6a4ff2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:28:09 +0000 Subject: [PATCH 03/21] Bump postcss from 8.4.27 to 8.4.31 in /app Bumps [postcss](https://github.com/postcss/postcss) from 8.4.27 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.27...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- app/package-lock.json | 8 ++++---- app/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index 8c0ef9926..bca1f1d9a 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -35,7 +35,7 @@ "ionicons": "^7.1.2", "nlf": "^2.1.1", "onesignal-cordova-plugin": "^3.3.1", - "postcss": "^8.4.27", + "postcss": "^8.4.31", "react": "^18.2.0", "react-dom": "^18.2.0", "react-i18next": "^13.0.2", @@ -8485,9 +8485,9 @@ } }, "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", diff --git a/app/package.json b/app/package.json index 8eb88cbd6..7fcd6f3aa 100644 --- a/app/package.json +++ b/app/package.json @@ -48,7 +48,7 @@ "ionicons": "^7.1.2", "nlf": "^2.1.1", "onesignal-cordova-plugin": "^3.3.1", - "postcss": "^8.4.27", + "postcss": "^8.4.31", "react": "^18.2.0", "react-dom": "^18.2.0", "react-i18next": "^13.0.2", From 619e26c60015b2f4cc9b1270cfd08a2a09e7fa76 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:28:52 +0000 Subject: [PATCH 04/21] Bump @babel/traverse from 7.22.5 to 7.23.2 in /frontend Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 102 +++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 50 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 056e2ae68..567e307a8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -26,6 +26,7 @@ "i18next-http-backend": "^1.2.0", "js-cookie": "^3.0.1", "mapbox-gl": "^2.11.0", + "postcss": "^8.4.31", "prettier": "^2.7.1", "react": "^17.0.2", "react-csv": "^2.2.1", @@ -92,11 +93,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -142,12 +144,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -176,22 +178,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -261,9 +263,9 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { "@babel/types": "^7.22.5" @@ -281,9 +283,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -312,12 +314,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -325,9 +327,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -378,33 +380,33 @@ } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -413,12 +415,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { From 406c42fefebe90685463bc09218421b4f8865136 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 16:40:27 +0000 Subject: [PATCH 05/21] Bump tinymce from 6.5.0 to 6.7.1 in /frontend Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.5.0 to 6.7.1. - [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md) - [Commits](https://github.com/tinymce/tinymce/commits/6.7.1/modules/tinymce) --- updated-dependencies: - dependency-name: tinymce dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 9 +++++---- frontend/package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 056e2ae68..74b7b9824 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -26,6 +26,7 @@ "i18next-http-backend": "^1.2.0", "js-cookie": "^3.0.1", "mapbox-gl": "^2.11.0", + "postcss": "^8.4.31", "prettier": "^2.7.1", "react": "^17.0.2", "react-csv": "^2.2.1", @@ -41,7 +42,7 @@ "redaxios": "^0.5.0", "sanitize-html": "^2.11.0", "sitemap": "^7.1.1", - "tinymce": "^6.4.2", + "tinymce": "^6.7.1", "use-debounce": "^9.0.4", "use-query-params": "^2.2.1" }, @@ -5662,9 +5663,9 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, "node_modules/tinymce": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.5.0.tgz", - "integrity": "sha512-I23hTUhbIyU/HCruy6wpIpOtr8UJhRJjRmJS9DCalN7UxT9iunkkbrcHa0FO9sG4GdMAOmVbZTHFBrgbDPYU6Q==" + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.7.1.tgz", + "integrity": "sha512-SIGJgWk2d/X59VbO+i81QfNx2EP1P5t+sza2/1So3OLGtmMBhEJMag7sN/Mo8sq4s0niwb65Z51yLju32jP11g==" }, "node_modules/tinyqueue": { "version": "2.0.3", diff --git a/frontend/package.json b/frontend/package.json index 41ee8170e..2e4ff70d0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -59,7 +59,7 @@ "redaxios": "^0.5.0", "sanitize-html": "^2.11.0", "sitemap": "^7.1.1", - "tinymce": "^6.4.2", + "tinymce": "^6.7.1", "use-debounce": "^9.0.4", "use-query-params": "^2.2.1" }, From b143afc6a2c5fc162e2b741678b17f5edf52a4c6 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Sat, 28 Oct 2023 22:39:43 +0200 Subject: [PATCH 06/21] Add bruno --- server/bruno/.gitignore | 2 ++ server/bruno/server/bag/create or update.bru | 20 +++++++++++ server/bruno/server/bag/delete.bru | 16 +++++++++ server/bruno/server/bag/get all.bru | 16 +++++++++ server/bruno/server/bruno.json | 5 +++ .../server/bulky item/create or update.bru | 22 ++++++++++++ server/bruno/server/bulky item/delete.bru | 17 +++++++++ server/bruno/server/bulky item/get all.bru | 16 +++++++++ server/bruno/server/chain/add user.bru | 19 ++++++++++ server/bruno/server/chain/approve user.bru | 11 ++++++ server/bruno/server/chain/create.bru | 25 +++++++++++++ .../bruno/server/chain/get all filtered.bru | 17 +++++++++ server/bruno/server/chain/get all.bru | 11 ++++++ server/bruno/server/chain/get.bru | 15 ++++++++ server/bruno/server/chain/unapprove user.bru | 11 ++++++ .../bruno/server/chain/unapproved users.bru | 11 ++++++ server/bruno/server/chain/update.bru | 26 ++++++++++++++ server/bruno/server/collection.bru | 7 ++++ server/bruno/server/contacts/send email.bru | 19 ++++++++++ .../server/contacts/set newsletter status.bru | 19 ++++++++++ server/bruno/server/environments/Example.bru | 10 ++++++ server/bruno/server/event/create.bru | 25 +++++++++++++ server/bruno/server/event/delete.bru | 15 ++++++++ .../bruno/server/event/get all filtered.bru | 17 +++++++++ server/bruno/server/event/ical.bru | 11 ++++++ server/bruno/server/event/update Copy.bru | 18 ++++++++++ server/bruno/server/event/update.bru | 18 ++++++++++ server/bruno/server/info.bru | 11 ++++++ server/bruno/server/login/begin login.bru | 17 +++++++++ server/bruno/server/login/logout.bru | 11 ++++++ .../server/login/register basic user.bru | 25 +++++++++++++ .../server/login/register chain admin.bru | 35 +++++++++++++++++++ server/bruno/server/login/validate login.bru | 23 ++++++++++++ server/bruno/server/payment/initiate.bru | 20 +++++++++++ server/bruno/server/payment/webhook.bru | 11 ++++++ server/bruno/server/ping.bru | 17 +++++++++ server/bruno/server/route/order.bru | 25 +++++++++++++ server/bruno/server/user/delete.bru | 16 +++++++++ server/bruno/server/user/get all by chain.bru | 15 ++++++++ .../server/user/get by email -depricated-.bru | 16 +++++++++ server/bruno/server/user/get by uid.bru | 16 +++++++++ .../bruno/server/user/newsletter status.bru | 21 +++++++++++ server/bruno/server/user/purge gdpr.bru | 15 ++++++++ server/bruno/server/user/update.bru | 17 +++++++++ 44 files changed, 730 insertions(+) create mode 100644 server/bruno/.gitignore create mode 100644 server/bruno/server/bag/create or update.bru create mode 100644 server/bruno/server/bag/delete.bru create mode 100644 server/bruno/server/bag/get all.bru create mode 100644 server/bruno/server/bruno.json create mode 100644 server/bruno/server/bulky item/create or update.bru create mode 100644 server/bruno/server/bulky item/delete.bru create mode 100644 server/bruno/server/bulky item/get all.bru create mode 100644 server/bruno/server/chain/add user.bru create mode 100644 server/bruno/server/chain/approve user.bru create mode 100644 server/bruno/server/chain/create.bru create mode 100644 server/bruno/server/chain/get all filtered.bru create mode 100644 server/bruno/server/chain/get all.bru create mode 100644 server/bruno/server/chain/get.bru create mode 100644 server/bruno/server/chain/unapprove user.bru create mode 100644 server/bruno/server/chain/unapproved users.bru create mode 100644 server/bruno/server/chain/update.bru create mode 100644 server/bruno/server/collection.bru create mode 100644 server/bruno/server/contacts/send email.bru create mode 100644 server/bruno/server/contacts/set newsletter status.bru create mode 100644 server/bruno/server/environments/Example.bru create mode 100644 server/bruno/server/event/create.bru create mode 100644 server/bruno/server/event/delete.bru create mode 100644 server/bruno/server/event/get all filtered.bru create mode 100644 server/bruno/server/event/ical.bru create mode 100644 server/bruno/server/event/update Copy.bru create mode 100644 server/bruno/server/event/update.bru create mode 100644 server/bruno/server/info.bru create mode 100644 server/bruno/server/login/begin login.bru create mode 100644 server/bruno/server/login/logout.bru create mode 100644 server/bruno/server/login/register basic user.bru create mode 100644 server/bruno/server/login/register chain admin.bru create mode 100644 server/bruno/server/login/validate login.bru create mode 100644 server/bruno/server/payment/initiate.bru create mode 100644 server/bruno/server/payment/webhook.bru create mode 100644 server/bruno/server/ping.bru create mode 100644 server/bruno/server/route/order.bru create mode 100644 server/bruno/server/user/delete.bru create mode 100644 server/bruno/server/user/get all by chain.bru create mode 100644 server/bruno/server/user/get by email -depricated-.bru create mode 100644 server/bruno/server/user/get by uid.bru create mode 100644 server/bruno/server/user/newsletter status.bru create mode 100644 server/bruno/server/user/purge gdpr.bru create mode 100644 server/bruno/server/user/update.bru diff --git a/server/bruno/.gitignore b/server/bruno/.gitignore new file mode 100644 index 000000000..b95d7e74c --- /dev/null +++ b/server/bruno/.gitignore @@ -0,0 +1,2 @@ +*/environments/*.bru +!*/environments/Example.bru diff --git a/server/bruno/server/bag/create or update.bru b/server/bruno/server/bag/create or update.bru new file mode 100644 index 000000000..6522df043 --- /dev/null +++ b/server/bruno/server/bag/create or update.bru @@ -0,0 +1,20 @@ +meta { + name: create or update + type: http + seq: 3 +} + +put { + url: {{base}}/v2/bag + body: json + auth: none +} + +body:json { + { + "user_uid": "{{userUID}}", + "chain_uid": "{{chainUID}}", + "number": 1, + "color": "#00ff00" + } +} diff --git a/server/bruno/server/bag/delete.bru b/server/bruno/server/bag/delete.bru new file mode 100644 index 000000000..7f1e54e28 --- /dev/null +++ b/server/bruno/server/bag/delete.bru @@ -0,0 +1,16 @@ +meta { + name: delete + type: http + seq: 2 +} + +delete { + url: {{base}}/v2/bag/all?user_uid={{userUID}}&chain_uid={{chainUID}} + body: none + auth: none +} + +query { + user_uid: {{userUID}} + chain_uid: {{chainUID}} +} diff --git a/server/bruno/server/bag/get all.bru b/server/bruno/server/bag/get all.bru new file mode 100644 index 000000000..8d12a13f0 --- /dev/null +++ b/server/bruno/server/bag/get all.bru @@ -0,0 +1,16 @@ +meta { + name: get all + type: http + seq: 1 +} + +get { + url: {{base}}/v2/bag/all?user_uid={{userUID}}&chain_uid={{chainUID}} + body: none + auth: none +} + +query { + user_uid: {{userUID}} + chain_uid: {{chainUID}} +} diff --git a/server/bruno/server/bruno.json b/server/bruno/server/bruno.json new file mode 100644 index 000000000..2c13873f6 --- /dev/null +++ b/server/bruno/server/bruno.json @@ -0,0 +1,5 @@ +{ + "version": "1", + "name": "The Clothing Loop Server API", + "type": "collection" +} \ No newline at end of file diff --git a/server/bruno/server/bulky item/create or update.bru b/server/bruno/server/bulky item/create or update.bru new file mode 100644 index 000000000..41617fed7 --- /dev/null +++ b/server/bruno/server/bulky item/create or update.bru @@ -0,0 +1,22 @@ +meta { + name: create or update + type: http + seq: 3 +} + +put { + url: {{base}}/v2/bulky-item + body: json + auth: none +} + +body:json { + { + "user_uid": "{{userUID}}", + "chain_uid": "{{chainUID}}", + "id": 1, + "title": "Nikes 38", + "message": "Worn for 2 weeks", + "image_url": "imgbb.com" + } +} diff --git a/server/bruno/server/bulky item/delete.bru b/server/bruno/server/bulky item/delete.bru new file mode 100644 index 000000000..23ebe15ca --- /dev/null +++ b/server/bruno/server/bulky item/delete.bru @@ -0,0 +1,17 @@ +meta { + name: delete + type: http + seq: 2 +} + +delete { + url: {{base}}/v2/bulky-item/all?user_uid={{userUID}}&chain_uid={{chainUID}}&id=1 + body: none + auth: none +} + +query { + user_uid: {{userUID}} + chain_uid: {{chainUID}} + id: 1 +} diff --git a/server/bruno/server/bulky item/get all.bru b/server/bruno/server/bulky item/get all.bru new file mode 100644 index 000000000..f3aba5d74 --- /dev/null +++ b/server/bruno/server/bulky item/get all.bru @@ -0,0 +1,16 @@ +meta { + name: get all + type: http + seq: 1 +} + +get { + url: {{base}}/v2/bulky-item/all?user_uid={{userUID}}&chain_uid={{chainUID}} + body: none + auth: none +} + +query { + user_uid: {{userUID}} + chain_uid: {{chainUID}} +} diff --git a/server/bruno/server/chain/add user.bru b/server/bruno/server/chain/add user.bru new file mode 100644 index 000000000..6e817910c --- /dev/null +++ b/server/bruno/server/chain/add user.bru @@ -0,0 +1,19 @@ +meta { + name: add user + type: http + seq: 6 +} + +post { + url: {{base}}/v2/chain/add-user + body: json + auth: none +} + +body:json { + { + "chain_uid": "{{chainUID}}", + "user_uid":"{{userUID}}", + "is_chain_admin": true + } +} diff --git a/server/bruno/server/chain/approve user.bru b/server/bruno/server/chain/approve user.bru new file mode 100644 index 000000000..74f1b2082 --- /dev/null +++ b/server/bruno/server/chain/approve user.bru @@ -0,0 +1,11 @@ +meta { + name: approve user + type: http + seq: 7 +} + +patch { + url: {{base}}/v2/chain/approve-user + body: none + auth: none +} diff --git a/server/bruno/server/chain/create.bru b/server/bruno/server/chain/create.bru new file mode 100644 index 000000000..afa9daf7b --- /dev/null +++ b/server/bruno/server/chain/create.bru @@ -0,0 +1,25 @@ +meta { + name: create + type: http + seq: 3 +} + +post { + url: {{base}}/v2/chain + body: json + auth: none +} + +body:json { + { + "name": "", + "description": "", + "address": "", + "latitude": 8.9, + "longitude": 3.8, + "radius": 0.1, + "sizes": [ + "" + ] + } +} diff --git a/server/bruno/server/chain/get all filtered.bru b/server/bruno/server/chain/get all filtered.bru new file mode 100644 index 000000000..7c479e85c --- /dev/null +++ b/server/bruno/server/chain/get all filtered.bru @@ -0,0 +1,17 @@ +meta { + name: get all filtered + type: http + seq: 5 +} + +get { + url: {{base}}/v2/chain/all?filter_sizes=2&filter_sizes=B&filter_genders=1 + body: none + auth: none +} + +query { + filter_sizes: 2 + filter_sizes: B + filter_genders: 1 +} diff --git a/server/bruno/server/chain/get all.bru b/server/bruno/server/chain/get all.bru new file mode 100644 index 000000000..e5f70771d --- /dev/null +++ b/server/bruno/server/chain/get all.bru @@ -0,0 +1,11 @@ +meta { + name: get all + type: http + seq: 4 +} + +get { + url: {{base}}/v2/chain/all + body: none + auth: none +} diff --git a/server/bruno/server/chain/get.bru b/server/bruno/server/chain/get.bru new file mode 100644 index 000000000..827aa6d81 --- /dev/null +++ b/server/bruno/server/chain/get.bru @@ -0,0 +1,15 @@ +meta { + name: get + type: http + seq: 1 +} + +get { + url: {{base}}/v2/chain?chain_uid={{chainUID}} + body: none + auth: none +} + +query { + chain_uid: {{chainUID}} +} diff --git a/server/bruno/server/chain/unapprove user.bru b/server/bruno/server/chain/unapprove user.bru new file mode 100644 index 000000000..c6e0fa52c --- /dev/null +++ b/server/bruno/server/chain/unapprove user.bru @@ -0,0 +1,11 @@ +meta { + name: unapprove user + type: http + seq: 8 +} + +delete { + url: {{base}}/v2/chain/unapproved-user + body: none + auth: none +} diff --git a/server/bruno/server/chain/unapproved users.bru b/server/bruno/server/chain/unapproved users.bru new file mode 100644 index 000000000..55fbb16bd --- /dev/null +++ b/server/bruno/server/chain/unapproved users.bru @@ -0,0 +1,11 @@ +meta { + name: unapproved users + type: http + seq: 9 +} + +get { + url: {{base}}/v2/chain/unapproved-users + body: none + auth: none +} diff --git a/server/bruno/server/chain/update.bru b/server/bruno/server/chain/update.bru new file mode 100644 index 000000000..22c934cb4 --- /dev/null +++ b/server/bruno/server/chain/update.bru @@ -0,0 +1,26 @@ +meta { + name: update + type: http + seq: 2 +} + +patch { + url: {{base}}/v2/chain + body: json + auth: none +} + +body:json { + { + "uid": "{{chainUID}}", + "name": "", + "description": "", + "address": "", + "latitude": 8.9, + "longitude": 3.8, + "radius": 0.1, + "sizes": [ + "" + ] + } +} diff --git a/server/bruno/server/collection.bru b/server/bruno/server/collection.bru new file mode 100644 index 000000000..66123ad7f --- /dev/null +++ b/server/bruno/server/collection.bru @@ -0,0 +1,7 @@ +auth { + mode: bearer +} + +auth:bearer { + token: {{token}} +} diff --git a/server/bruno/server/contacts/send email.bru b/server/bruno/server/contacts/send email.bru new file mode 100644 index 000000000..2fde35a52 --- /dev/null +++ b/server/bruno/server/contacts/send email.bru @@ -0,0 +1,19 @@ +meta { + name: send email + type: http + seq: 2 +} + +post { + url: {{base}}/v2/contact/email + body: json + auth: none +} + +body:json { + { + "name":"John Pedro", + "email":"test@example.com", + "message": "This is a test" + } +} diff --git a/server/bruno/server/contacts/set newsletter status.bru b/server/bruno/server/contacts/set newsletter status.bru new file mode 100644 index 000000000..093792e31 --- /dev/null +++ b/server/bruno/server/contacts/set newsletter status.bru @@ -0,0 +1,19 @@ +meta { + name: set newsletter status + type: http + seq: 1 +} + +post { + url: {{base}}/v2/contact/newsletter + body: json + auth: none +} + +body:json { + { + "name": "John Smith", + "email": "test@example.com", + "subscribe": true + } +} diff --git a/server/bruno/server/environments/Example.bru b/server/bruno/server/environments/Example.bru new file mode 100644 index 000000000..60c4ae436 --- /dev/null +++ b/server/bruno/server/environments/Example.bru @@ -0,0 +1,10 @@ +vars { + base: http://localhost:8084 + userUID: + chainUID: + userEmail: test@example.com + eventUID: +} +vars:secret [ + token +] diff --git a/server/bruno/server/event/create.bru b/server/bruno/server/event/create.bru new file mode 100644 index 000000000..8bcbf1e89 --- /dev/null +++ b/server/bruno/server/event/create.bru @@ -0,0 +1,25 @@ +meta { + name: create + type: http + seq: 6 +} + +post { + url: {{base}}/v2/event/ + body: text + auth: none +} + +body:text { + { + "uid": "{{eventUID}}", + "name": "Seven of Nine", + "desciption": "You are to be assimilated", + "latitude": 53.0, + "longitude": 3.2, + "address": "mystreet 23", + "date": "2020-12-31", + "genders": ["1", "3"], + "chain_uid": "{{chainUID}}" + } +} diff --git a/server/bruno/server/event/delete.bru b/server/bruno/server/event/delete.bru new file mode 100644 index 000000000..e9dd612cc --- /dev/null +++ b/server/bruno/server/event/delete.bru @@ -0,0 +1,15 @@ +meta { + name: delete + type: http + seq: 3 +} + +delete { + url: {{base}}/v2/event/?uid={{eventUID}} + body: none + auth: none +} + +query { + uid: {{eventUID}} +} diff --git a/server/bruno/server/event/get all filtered.bru b/server/bruno/server/event/get all filtered.bru new file mode 100644 index 000000000..036fc430b --- /dev/null +++ b/server/bruno/server/event/get all filtered.bru @@ -0,0 +1,17 @@ +meta { + name: get all filtered + type: http + seq: 2 +} + +get { + url: {{base}}/v2/event/all?latitude=52.641460&longitude=5.056810&radius=1000 + body: none + auth: none +} + +query { + latitude: 52.641460 + longitude: 5.056810 + radius: 1000 +} diff --git a/server/bruno/server/event/ical.bru b/server/bruno/server/event/ical.bru new file mode 100644 index 000000000..df1246cc8 --- /dev/null +++ b/server/bruno/server/event/ical.bru @@ -0,0 +1,11 @@ +meta { + name: ical + type: http + seq: 1 +} + +get { + url: {{base}}/v2/event/ical/{{eventUID}} + body: none + auth: none +} diff --git a/server/bruno/server/event/update Copy.bru b/server/bruno/server/event/update Copy.bru new file mode 100644 index 000000000..328745ac3 --- /dev/null +++ b/server/bruno/server/event/update Copy.bru @@ -0,0 +1,18 @@ +meta { + name: update Copy + type: http + seq: 5 +} + +patch { + url: {{base}}/v2/event/ + body: text + auth: none +} + +body:text { + { + "uid": "{{eventUID}}", + "name": "Seven of Nine" + } +} diff --git a/server/bruno/server/event/update.bru b/server/bruno/server/event/update.bru new file mode 100644 index 000000000..faa7049e7 --- /dev/null +++ b/server/bruno/server/event/update.bru @@ -0,0 +1,18 @@ +meta { + name: update + type: http + seq: 4 +} + +patch { + url: {{base}}/v2/event/ + body: text + auth: none +} + +body:text { + { + "uid": "{{eventUID}}", + "name": "Seven of Nine" + } +} diff --git a/server/bruno/server/info.bru b/server/bruno/server/info.bru new file mode 100644 index 000000000..d074fd947 --- /dev/null +++ b/server/bruno/server/info.bru @@ -0,0 +1,11 @@ +meta { + name: info + type: http + seq: 4 +} + +get { + url: {{base}}/v2/info + body: none + auth: none +} diff --git a/server/bruno/server/login/begin login.bru b/server/bruno/server/login/begin login.bru new file mode 100644 index 000000000..0da64addf --- /dev/null +++ b/server/bruno/server/login/begin login.bru @@ -0,0 +1,17 @@ +meta { + name: begin login + type: http + seq: 1 +} + +post { + url: {{base}}/v2/login/email + body: json + auth: none +} + +body:json { + { + "email":"{{userEmail}}" + } +} diff --git a/server/bruno/server/login/logout.bru b/server/bruno/server/login/logout.bru new file mode 100644 index 000000000..f4f59132d --- /dev/null +++ b/server/bruno/server/login/logout.bru @@ -0,0 +1,11 @@ +meta { + name: logout + type: http + seq: 3 +} + +delete { + url: {{base}}/v2/logout + body: none + auth: none +} diff --git a/server/bruno/server/login/register basic user.bru b/server/bruno/server/login/register basic user.bru new file mode 100644 index 000000000..7a8da62a5 --- /dev/null +++ b/server/bruno/server/login/register basic user.bru @@ -0,0 +1,25 @@ +meta { + name: register basic user + type: http + seq: 4 +} + +post { + url: {{base}}/v2/register/basic-user + body: json + auth: none +} + +body:json { + { + "chain_uid":"{{chainUID}}", + "user": { + "email":"test@example.com", + "name": "Test", + "address":"Lorem ipsum 10", + "phone_number": "", + "newsletter": false, + "sizes": [] + } + } +} diff --git a/server/bruno/server/login/register chain admin.bru b/server/bruno/server/login/register chain admin.bru new file mode 100644 index 000000000..89c8a117e --- /dev/null +++ b/server/bruno/server/login/register chain admin.bru @@ -0,0 +1,35 @@ +meta { + name: register chain admin + type: http + seq: 5 +} + +post { + url: {{base}}/v2/register/chain-admin + body: json + auth: none +} + +body:json { + { + "chain":{ + "name":"Test Loop", + "address":"Lorem ipsum 10", + "description":"a test loop from /register/chain-admin call", + "latitude": 3.0, + "longitude": 3.0, + "radius": 5.0, + "open_to_new_members": true, + "sizes": [], + "genders": [] + }, + "user": { + "name": "Test", + "email":"test7@example.com", + "phone_number": "89", + "address":"Lorem ipsum 10", + "sizes": [], + "newsletter": false + } + } +} diff --git a/server/bruno/server/login/validate login.bru b/server/bruno/server/login/validate login.bru new file mode 100644 index 000000000..a119ba21b --- /dev/null +++ b/server/bruno/server/login/validate login.bru @@ -0,0 +1,23 @@ +meta { + name: validate login + type: http + seq: 2 +} + +get { + url: {{base}}/v2/login/validate?apiKey={{token}} + body: none + auth: none +} + +query { + apiKey: {{token}} +} + +script:pre-request { + // +} + +tests { + // +} diff --git a/server/bruno/server/payment/initiate.bru b/server/bruno/server/payment/initiate.bru new file mode 100644 index 000000000..f86d4b69c --- /dev/null +++ b/server/bruno/server/payment/initiate.bru @@ -0,0 +1,20 @@ +meta { + name: initiate + type: http + seq: 1 +} + +post { + url: {{base}}/v2/payment/initiate + body: json + auth: none +} + +body:json { + { + "price_cents": 250, + "email": "{{userEmail}}", + "is_recurring": false, + "price_id": "" + } +} diff --git a/server/bruno/server/payment/webhook.bru b/server/bruno/server/payment/webhook.bru new file mode 100644 index 000000000..087836880 --- /dev/null +++ b/server/bruno/server/payment/webhook.bru @@ -0,0 +1,11 @@ +meta { + name: webhook + type: http + seq: 2 +} + +post { + url: {{base}}/v2/payment/webhook + body: none + auth: none +} diff --git a/server/bruno/server/ping.bru b/server/bruno/server/ping.bru new file mode 100644 index 000000000..08ede030a --- /dev/null +++ b/server/bruno/server/ping.bru @@ -0,0 +1,17 @@ +meta { + name: ping + type: http + seq: 3 +} + +get { + url: {{base}}/v2/ping + body: none + auth: none +} + +tests { + test("should return pong", function() { + expect(res.getBody()).to.equal("pong"); + }) +} diff --git a/server/bruno/server/route/order.bru b/server/bruno/server/route/order.bru new file mode 100644 index 000000000..8fd83d283 --- /dev/null +++ b/server/bruno/server/route/order.bru @@ -0,0 +1,25 @@ +meta { + name: order + type: http + seq: 2 +} + +post { + url: {{base}}/v2/route/order + body: text + auth: none +} + +body:text { + { + "chain_uid": "{{chainUID}}", + "route_order": [ + "a151dcbc-d97b-46c5-bac0-90565da8e345", + "7711dc5f-396f-4c98-b86e-171f568f7ddb", + "6d71acc5-a2d5-4734-b2ac-ed5c11242dfd", + "ba6cf778-9d87-4090-bd88-52195b6aa876", + "2d5e1a55-0b56-48b0-a55e-c32a09614f80", + "11e52eea-7542-42ab-aa4e-c3a08ce51d7d" + ] + } +} diff --git a/server/bruno/server/user/delete.bru b/server/bruno/server/user/delete.bru new file mode 100644 index 000000000..0159ef495 --- /dev/null +++ b/server/bruno/server/user/delete.bru @@ -0,0 +1,16 @@ +meta { + name: delete + type: http + seq: 6 +} + +delete { + url: {{base}}/v2/user?chain_uid=&user_uid= + body: none + auth: none +} + +query { + chain_uid: + user_uid: +} diff --git a/server/bruno/server/user/get all by chain.bru b/server/bruno/server/user/get all by chain.bru new file mode 100644 index 000000000..f0e01ba93 --- /dev/null +++ b/server/bruno/server/user/get all by chain.bru @@ -0,0 +1,15 @@ +meta { + name: get all by chain + type: http + seq: 2 +} + +get { + url: {{base}}/v2/user/all-chain?chain_uid={{chainUID}} + body: none + auth: none +} + +query { + chain_uid: {{chainUID}} +} diff --git a/server/bruno/server/user/get by email -depricated-.bru b/server/bruno/server/user/get by email -depricated-.bru new file mode 100644 index 000000000..1d3d2a0a4 --- /dev/null +++ b/server/bruno/server/user/get by email -depricated-.bru @@ -0,0 +1,16 @@ +meta { + name: get by email -depricated- + type: http + seq: 4 +} + +get { + url: {{base}}/v2/user?chain_uid={{chainUID}}&email={{userEmail}} + body: none + auth: none +} + +query { + chain_uid: {{chainUID}} + email: {{userEmail}} +} diff --git a/server/bruno/server/user/get by uid.bru b/server/bruno/server/user/get by uid.bru new file mode 100644 index 000000000..3923cea72 --- /dev/null +++ b/server/bruno/server/user/get by uid.bru @@ -0,0 +1,16 @@ +meta { + name: get by uid + type: http + seq: 1 +} + +get { + url: {{base}}/v2/user?chain_uid={{chainUID}}&user_uid={{userUID}} + body: none + auth: none +} + +query { + chain_uid: {{chainUID}} + user_uid: {{userUID}} +} diff --git a/server/bruno/server/user/newsletter status.bru b/server/bruno/server/user/newsletter status.bru new file mode 100644 index 000000000..f05318ec3 --- /dev/null +++ b/server/bruno/server/user/newsletter status.bru @@ -0,0 +1,21 @@ +meta { + name: newsletter status + type: http + seq: 7 +} + +get { + url: {{base}}/v2/user/newsletter?user_uid={{userUID}} + body: json + auth: none +} + +query { + user_uid: {{userUID}} +} + +body:json { + { + "user_uid": "{{userUID}}", + } +} diff --git a/server/bruno/server/user/purge gdpr.bru b/server/bruno/server/user/purge gdpr.bru new file mode 100644 index 000000000..d8aaa6b84 --- /dev/null +++ b/server/bruno/server/user/purge gdpr.bru @@ -0,0 +1,15 @@ +meta { + name: purge gdpr + type: http + seq: 3 +} + +delete { + url: {{base}}/v2/user/purge?user_uid={{userUID}} + body: none + auth: none +} + +query { + user_uid: {{userUID}} +} diff --git a/server/bruno/server/user/update.bru b/server/bruno/server/user/update.bru new file mode 100644 index 000000000..19d08c1d8 --- /dev/null +++ b/server/bruno/server/user/update.bru @@ -0,0 +1,17 @@ +meta { + name: update + type: http + seq: 5 +} + +patch { + url: {{base}}/v2/user + body: json + auth: none +} + +body:json { + { + + } +} From 4298fcfa979a6ec804c4b65e2f7f1452c88cccde Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Sat, 28 Oct 2023 22:48:50 +0200 Subject: [PATCH 07/21] Add ignored folder --- server/bruno/.gitignore | 2 ++ server/bruno/server/_ignored_/.gitkeep | 0 server/bruno/server/info.bru | 2 +- server/bruno/server/ping.bru | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 server/bruno/server/_ignored_/.gitkeep diff --git a/server/bruno/.gitignore b/server/bruno/.gitignore index b95d7e74c..439e6031a 100644 --- a/server/bruno/.gitignore +++ b/server/bruno/.gitignore @@ -1,2 +1,4 @@ */environments/*.bru !*/environments/Example.bru +*/_ignored_/ +!.gitkeep diff --git a/server/bruno/server/_ignored_/.gitkeep b/server/bruno/server/_ignored_/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/server/bruno/server/info.bru b/server/bruno/server/info.bru index d074fd947..39d130ddf 100644 --- a/server/bruno/server/info.bru +++ b/server/bruno/server/info.bru @@ -1,7 +1,7 @@ meta { name: info type: http - seq: 4 + seq: 2 } get { diff --git a/server/bruno/server/ping.bru b/server/bruno/server/ping.bru index 08ede030a..6731eef1b 100644 --- a/server/bruno/server/ping.bru +++ b/server/bruno/server/ping.bru @@ -1,7 +1,7 @@ meta { name: ping type: http - seq: 3 + seq: 1 } get { From 73e2e0c68e0bcbe0dad999b08ca5b4ff0b6dfd2e Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Sat, 28 Oct 2023 23:03:04 +0200 Subject: [PATCH 08/21] Move to /bruno --- bruno/.gitignore | 4 ++++ {server/bruno/server => bruno}/_ignored_/.gitkeep | 0 {server/bruno/server => bruno}/bag/create or update.bru | 0 {server/bruno/server => bruno}/bag/delete.bru | 0 {server/bruno/server => bruno}/bag/get all.bru | 0 {server/bruno/server => bruno}/bruno.json | 2 +- .../bruno/server => bruno}/bulky item/create or update.bru | 0 {server/bruno/server => bruno}/bulky item/delete.bru | 0 {server/bruno/server => bruno}/bulky item/get all.bru | 0 {server/bruno/server => bruno}/chain/add user.bru | 0 {server/bruno/server => bruno}/chain/approve user.bru | 0 {server/bruno/server => bruno}/chain/create.bru | 0 {server/bruno/server => bruno}/chain/get all filtered.bru | 0 {server/bruno/server => bruno}/chain/get all.bru | 0 {server/bruno/server => bruno}/chain/get.bru | 0 {server/bruno/server => bruno}/chain/unapprove user.bru | 0 {server/bruno/server => bruno}/chain/unapproved users.bru | 0 {server/bruno/server => bruno}/chain/update.bru | 0 {server/bruno/server => bruno}/collection.bru | 0 {server/bruno/server => bruno}/contacts/send email.bru | 0 .../bruno/server => bruno}/contacts/set newsletter status.bru | 0 {server/bruno/server => bruno}/environments/Example.bru | 0 {server/bruno/server => bruno}/event/create.bru | 0 {server/bruno/server => bruno}/event/delete.bru | 0 {server/bruno/server => bruno}/event/get all filtered.bru | 0 {server/bruno/server => bruno}/event/ical.bru | 0 {server/bruno/server => bruno}/event/update Copy.bru | 0 {server/bruno/server => bruno}/event/update.bru | 0 {server/bruno/server => bruno}/info.bru | 0 {server/bruno/server => bruno}/login/begin login.bru | 0 {server/bruno/server => bruno}/login/logout.bru | 0 {server/bruno/server => bruno}/login/register basic user.bru | 0 {server/bruno/server => bruno}/login/register chain admin.bru | 0 {server/bruno/server => bruno}/login/validate login.bru | 0 {server/bruno/server => bruno}/payment/initiate.bru | 0 {server/bruno/server => bruno}/payment/webhook.bru | 0 {server/bruno/server => bruno}/ping.bru | 0 {server/bruno/server => bruno}/route/order.bru | 0 {server/bruno/server => bruno}/user/delete.bru | 0 {server/bruno/server => bruno}/user/get all by chain.bru | 0 .../bruno/server => bruno}/user/get by email -depricated-.bru | 0 {server/bruno/server => bruno}/user/get by uid.bru | 0 {server/bruno/server => bruno}/user/newsletter status.bru | 0 {server/bruno/server => bruno}/user/purge gdpr.bru | 0 {server/bruno/server => bruno}/user/update.bru | 0 server/bruno/.gitignore | 4 ---- 46 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 bruno/.gitignore rename {server/bruno/server => bruno}/_ignored_/.gitkeep (100%) rename {server/bruno/server => bruno}/bag/create or update.bru (100%) rename {server/bruno/server => bruno}/bag/delete.bru (100%) rename {server/bruno/server => bruno}/bag/get all.bru (100%) rename {server/bruno/server => bruno}/bruno.json (51%) rename {server/bruno/server => bruno}/bulky item/create or update.bru (100%) rename {server/bruno/server => bruno}/bulky item/delete.bru (100%) rename {server/bruno/server => bruno}/bulky item/get all.bru (100%) rename {server/bruno/server => bruno}/chain/add user.bru (100%) rename {server/bruno/server => bruno}/chain/approve user.bru (100%) rename {server/bruno/server => bruno}/chain/create.bru (100%) rename {server/bruno/server => bruno}/chain/get all filtered.bru (100%) rename {server/bruno/server => bruno}/chain/get all.bru (100%) rename {server/bruno/server => bruno}/chain/get.bru (100%) rename {server/bruno/server => bruno}/chain/unapprove user.bru (100%) rename {server/bruno/server => bruno}/chain/unapproved users.bru (100%) rename {server/bruno/server => bruno}/chain/update.bru (100%) rename {server/bruno/server => bruno}/collection.bru (100%) rename {server/bruno/server => bruno}/contacts/send email.bru (100%) rename {server/bruno/server => bruno}/contacts/set newsletter status.bru (100%) rename {server/bruno/server => bruno}/environments/Example.bru (100%) rename {server/bruno/server => bruno}/event/create.bru (100%) rename {server/bruno/server => bruno}/event/delete.bru (100%) rename {server/bruno/server => bruno}/event/get all filtered.bru (100%) rename {server/bruno/server => bruno}/event/ical.bru (100%) rename {server/bruno/server => bruno}/event/update Copy.bru (100%) rename {server/bruno/server => bruno}/event/update.bru (100%) rename {server/bruno/server => bruno}/info.bru (100%) rename {server/bruno/server => bruno}/login/begin login.bru (100%) rename {server/bruno/server => bruno}/login/logout.bru (100%) rename {server/bruno/server => bruno}/login/register basic user.bru (100%) rename {server/bruno/server => bruno}/login/register chain admin.bru (100%) rename {server/bruno/server => bruno}/login/validate login.bru (100%) rename {server/bruno/server => bruno}/payment/initiate.bru (100%) rename {server/bruno/server => bruno}/payment/webhook.bru (100%) rename {server/bruno/server => bruno}/ping.bru (100%) rename {server/bruno/server => bruno}/route/order.bru (100%) rename {server/bruno/server => bruno}/user/delete.bru (100%) rename {server/bruno/server => bruno}/user/get all by chain.bru (100%) rename {server/bruno/server => bruno}/user/get by email -depricated-.bru (100%) rename {server/bruno/server => bruno}/user/get by uid.bru (100%) rename {server/bruno/server => bruno}/user/newsletter status.bru (100%) rename {server/bruno/server => bruno}/user/purge gdpr.bru (100%) rename {server/bruno/server => bruno}/user/update.bru (100%) delete mode 100644 server/bruno/.gitignore diff --git a/bruno/.gitignore b/bruno/.gitignore new file mode 100644 index 000000000..02490699b --- /dev/null +++ b/bruno/.gitignore @@ -0,0 +1,4 @@ +/environments/*.bru +/environments/Example.bru +/_ignored_/ +!.gitkeep diff --git a/server/bruno/server/_ignored_/.gitkeep b/bruno/_ignored_/.gitkeep similarity index 100% rename from server/bruno/server/_ignored_/.gitkeep rename to bruno/_ignored_/.gitkeep diff --git a/server/bruno/server/bag/create or update.bru b/bruno/bag/create or update.bru similarity index 100% rename from server/bruno/server/bag/create or update.bru rename to bruno/bag/create or update.bru diff --git a/server/bruno/server/bag/delete.bru b/bruno/bag/delete.bru similarity index 100% rename from server/bruno/server/bag/delete.bru rename to bruno/bag/delete.bru diff --git a/server/bruno/server/bag/get all.bru b/bruno/bag/get all.bru similarity index 100% rename from server/bruno/server/bag/get all.bru rename to bruno/bag/get all.bru diff --git a/server/bruno/server/bruno.json b/bruno/bruno.json similarity index 51% rename from server/bruno/server/bruno.json rename to bruno/bruno.json index 2c13873f6..b1e0f768e 100644 --- a/server/bruno/server/bruno.json +++ b/bruno/bruno.json @@ -1,5 +1,5 @@ { "version": "1", - "name": "The Clothing Loop Server API", + "name": "The Clothing Loop", "type": "collection" } \ No newline at end of file diff --git a/server/bruno/server/bulky item/create or update.bru b/bruno/bulky item/create or update.bru similarity index 100% rename from server/bruno/server/bulky item/create or update.bru rename to bruno/bulky item/create or update.bru diff --git a/server/bruno/server/bulky item/delete.bru b/bruno/bulky item/delete.bru similarity index 100% rename from server/bruno/server/bulky item/delete.bru rename to bruno/bulky item/delete.bru diff --git a/server/bruno/server/bulky item/get all.bru b/bruno/bulky item/get all.bru similarity index 100% rename from server/bruno/server/bulky item/get all.bru rename to bruno/bulky item/get all.bru diff --git a/server/bruno/server/chain/add user.bru b/bruno/chain/add user.bru similarity index 100% rename from server/bruno/server/chain/add user.bru rename to bruno/chain/add user.bru diff --git a/server/bruno/server/chain/approve user.bru b/bruno/chain/approve user.bru similarity index 100% rename from server/bruno/server/chain/approve user.bru rename to bruno/chain/approve user.bru diff --git a/server/bruno/server/chain/create.bru b/bruno/chain/create.bru similarity index 100% rename from server/bruno/server/chain/create.bru rename to bruno/chain/create.bru diff --git a/server/bruno/server/chain/get all filtered.bru b/bruno/chain/get all filtered.bru similarity index 100% rename from server/bruno/server/chain/get all filtered.bru rename to bruno/chain/get all filtered.bru diff --git a/server/bruno/server/chain/get all.bru b/bruno/chain/get all.bru similarity index 100% rename from server/bruno/server/chain/get all.bru rename to bruno/chain/get all.bru diff --git a/server/bruno/server/chain/get.bru b/bruno/chain/get.bru similarity index 100% rename from server/bruno/server/chain/get.bru rename to bruno/chain/get.bru diff --git a/server/bruno/server/chain/unapprove user.bru b/bruno/chain/unapprove user.bru similarity index 100% rename from server/bruno/server/chain/unapprove user.bru rename to bruno/chain/unapprove user.bru diff --git a/server/bruno/server/chain/unapproved users.bru b/bruno/chain/unapproved users.bru similarity index 100% rename from server/bruno/server/chain/unapproved users.bru rename to bruno/chain/unapproved users.bru diff --git a/server/bruno/server/chain/update.bru b/bruno/chain/update.bru similarity index 100% rename from server/bruno/server/chain/update.bru rename to bruno/chain/update.bru diff --git a/server/bruno/server/collection.bru b/bruno/collection.bru similarity index 100% rename from server/bruno/server/collection.bru rename to bruno/collection.bru diff --git a/server/bruno/server/contacts/send email.bru b/bruno/contacts/send email.bru similarity index 100% rename from server/bruno/server/contacts/send email.bru rename to bruno/contacts/send email.bru diff --git a/server/bruno/server/contacts/set newsletter status.bru b/bruno/contacts/set newsletter status.bru similarity index 100% rename from server/bruno/server/contacts/set newsletter status.bru rename to bruno/contacts/set newsletter status.bru diff --git a/server/bruno/server/environments/Example.bru b/bruno/environments/Example.bru similarity index 100% rename from server/bruno/server/environments/Example.bru rename to bruno/environments/Example.bru diff --git a/server/bruno/server/event/create.bru b/bruno/event/create.bru similarity index 100% rename from server/bruno/server/event/create.bru rename to bruno/event/create.bru diff --git a/server/bruno/server/event/delete.bru b/bruno/event/delete.bru similarity index 100% rename from server/bruno/server/event/delete.bru rename to bruno/event/delete.bru diff --git a/server/bruno/server/event/get all filtered.bru b/bruno/event/get all filtered.bru similarity index 100% rename from server/bruno/server/event/get all filtered.bru rename to bruno/event/get all filtered.bru diff --git a/server/bruno/server/event/ical.bru b/bruno/event/ical.bru similarity index 100% rename from server/bruno/server/event/ical.bru rename to bruno/event/ical.bru diff --git a/server/bruno/server/event/update Copy.bru b/bruno/event/update Copy.bru similarity index 100% rename from server/bruno/server/event/update Copy.bru rename to bruno/event/update Copy.bru diff --git a/server/bruno/server/event/update.bru b/bruno/event/update.bru similarity index 100% rename from server/bruno/server/event/update.bru rename to bruno/event/update.bru diff --git a/server/bruno/server/info.bru b/bruno/info.bru similarity index 100% rename from server/bruno/server/info.bru rename to bruno/info.bru diff --git a/server/bruno/server/login/begin login.bru b/bruno/login/begin login.bru similarity index 100% rename from server/bruno/server/login/begin login.bru rename to bruno/login/begin login.bru diff --git a/server/bruno/server/login/logout.bru b/bruno/login/logout.bru similarity index 100% rename from server/bruno/server/login/logout.bru rename to bruno/login/logout.bru diff --git a/server/bruno/server/login/register basic user.bru b/bruno/login/register basic user.bru similarity index 100% rename from server/bruno/server/login/register basic user.bru rename to bruno/login/register basic user.bru diff --git a/server/bruno/server/login/register chain admin.bru b/bruno/login/register chain admin.bru similarity index 100% rename from server/bruno/server/login/register chain admin.bru rename to bruno/login/register chain admin.bru diff --git a/server/bruno/server/login/validate login.bru b/bruno/login/validate login.bru similarity index 100% rename from server/bruno/server/login/validate login.bru rename to bruno/login/validate login.bru diff --git a/server/bruno/server/payment/initiate.bru b/bruno/payment/initiate.bru similarity index 100% rename from server/bruno/server/payment/initiate.bru rename to bruno/payment/initiate.bru diff --git a/server/bruno/server/payment/webhook.bru b/bruno/payment/webhook.bru similarity index 100% rename from server/bruno/server/payment/webhook.bru rename to bruno/payment/webhook.bru diff --git a/server/bruno/server/ping.bru b/bruno/ping.bru similarity index 100% rename from server/bruno/server/ping.bru rename to bruno/ping.bru diff --git a/server/bruno/server/route/order.bru b/bruno/route/order.bru similarity index 100% rename from server/bruno/server/route/order.bru rename to bruno/route/order.bru diff --git a/server/bruno/server/user/delete.bru b/bruno/user/delete.bru similarity index 100% rename from server/bruno/server/user/delete.bru rename to bruno/user/delete.bru diff --git a/server/bruno/server/user/get all by chain.bru b/bruno/user/get all by chain.bru similarity index 100% rename from server/bruno/server/user/get all by chain.bru rename to bruno/user/get all by chain.bru diff --git a/server/bruno/server/user/get by email -depricated-.bru b/bruno/user/get by email -depricated-.bru similarity index 100% rename from server/bruno/server/user/get by email -depricated-.bru rename to bruno/user/get by email -depricated-.bru diff --git a/server/bruno/server/user/get by uid.bru b/bruno/user/get by uid.bru similarity index 100% rename from server/bruno/server/user/get by uid.bru rename to bruno/user/get by uid.bru diff --git a/server/bruno/server/user/newsletter status.bru b/bruno/user/newsletter status.bru similarity index 100% rename from server/bruno/server/user/newsletter status.bru rename to bruno/user/newsletter status.bru diff --git a/server/bruno/server/user/purge gdpr.bru b/bruno/user/purge gdpr.bru similarity index 100% rename from server/bruno/server/user/purge gdpr.bru rename to bruno/user/purge gdpr.bru diff --git a/server/bruno/server/user/update.bru b/bruno/user/update.bru similarity index 100% rename from server/bruno/server/user/update.bru rename to bruno/user/update.bru diff --git a/server/bruno/.gitignore b/server/bruno/.gitignore deleted file mode 100644 index 439e6031a..000000000 --- a/server/bruno/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*/environments/*.bru -!*/environments/Example.bru -*/_ignored_/ -!.gitkeep From a033e0b41f4f6076b186a34269868e4cccdc9b0b Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 10:03:59 +0100 Subject: [PATCH 09/21] Add bruno to workspace --- clothingloop.code-workspace | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clothingloop.code-workspace b/clothingloop.code-workspace index afdc0e2f9..5069c367e 100644 --- a/clothingloop.code-workspace +++ b/clothingloop.code-workspace @@ -17,6 +17,9 @@ }, { "path": "docker" + }, + { + "path": "bruno" } ], "settings": { From b1fb6b33666f47385178ce95c8bcb251ab9b3a7c Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 13:24:03 +0100 Subject: [PATCH 10/21] Fix contact send email --- server/internal/controllers/contact.go | 6 +++++- server/internal/views/email.go | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server/internal/controllers/contact.go b/server/internal/controllers/contact.go index a14967f60..3de40d4f2 100644 --- a/server/internal/controllers/contact.go +++ b/server/internal/controllers/contact.go @@ -2,6 +2,7 @@ package controllers import ( "errors" + "fmt" "net/http" "github.com/golang/glog" @@ -74,6 +75,9 @@ func ContactMail(c *gin.Context) { return } if !(body.Honeypot != nil && !*body.Honeypot) { + if app.Config.ENV == app.EnvEnumDevelopment { + fmt.Println("Honeypot activated") + } return } @@ -87,7 +91,7 @@ func ContactMail(c *gin.Context) { glog.Errorf("Unable to send email: %v", err) } - if err2 != nil || err == nil { + if err2 != nil || err != nil { c.AbortWithError(http.StatusInternalServerError, errors.New("Unable to send email")) } } diff --git a/server/internal/views/email.go b/server/internal/views/email.go index 790447f57..a3f3e133d 100644 --- a/server/internal/views/email.go +++ b/server/internal/views/email.go @@ -260,7 +260,7 @@ func EmailContactReceived(db *gorm.DB, "Name": name, "Email": email, "Message": message, - }) + }, name) if err != nil { return err } From 26609a38f3e736f1ad188a1b89ab64935d8d7f7e Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 14:17:35 +0100 Subject: [PATCH 11/21] Only allow hosts to create/edit/delete bag --- server/internal/controllers/bag.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/server/internal/controllers/bag.go b/server/internal/controllers/bag.go index dde180d37..5c807205d 100644 --- a/server/internal/controllers/bag.go +++ b/server/internal/controllers/bag.go @@ -2,10 +2,11 @@ package controllers import ( "fmt" - "github.com/OneSignal/onesignal-go-api" "net/http" "time" + "github.com/OneSignal/onesignal-go-api" + "github.com/gin-gonic/gin" "github.com/the-clothing-loop/website/server/internal/app" "github.com/the-clothing-loop/website/server/internal/app/auth" @@ -76,7 +77,7 @@ func BagPut(c *gin.Context) { return } - ok, _, chain := auth.Authenticate(c, db, auth.AuthState2UserOfChain, body.ChainUID) + ok, authUser, chain := auth.Authenticate(c, db, auth.AuthState2UserOfChain, body.ChainUID) if !ok { return } @@ -90,6 +91,18 @@ func BagPut(c *gin.Context) { LIMIT 1 `, body.BagID, chain.ID).Scan(&bag) } + + // if authUser is not host user can only set the bag holder + _, isChainAdmin := authUser.IsPartOfChain(chain.UID) + if !isChainAdmin { + isAllowed := bag.ID != 0 && body.Number == nil && body.Color == nil + if !isAllowed { + c.AbortWithError(401, fmt.Errorf("As participant you are not allowed to change the bag colour or name")) + return + } + } + + // set default values if body.Number != nil { bag.Number = *(body.Number) } @@ -153,7 +166,7 @@ func BagRemove(c *gin.Context) { return } - ok, _, _, chain := auth.AuthenticateUserOfChain(c, db, query.ChainUID, query.UserUID) + ok, _, chain := auth.Authenticate(c, db, auth.AuthState3AdminChainUser, query.ChainUID) if !ok { return } From 097c4f27711359e124bf41d41ac4d70003e3952a Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 16:41:22 +0100 Subject: [PATCH 12/21] Give away bags to a host if user leaves --- server/internal/controllers/users.go | 10 +--------- server/internal/models/user_chain.go | 27 +++++++++++++++++++++++++++ server/sql/delete-user.sql | 18 ++++++++++++++++++ 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/server/internal/controllers/users.go b/server/internal/controllers/users.go index 4dbe6edf1..fa2f95376 100644 --- a/server/internal/controllers/users.go +++ b/server/internal/controllers/users.go @@ -383,15 +383,7 @@ HAVING COUNT(uc.id) = 1 c.String(http.StatusInternalServerError, "Unable to disconnect bag connections") return } - err = tx.Exec(`DELETE FROM bags WHERE user_chain_id IN ( - SELECT id FROM user_chains WHERE user_id = ? - )`, user.ID).Error - if err != nil { - tx.Rollback() - goscope.Log.Errorf("UserPurge: %v", err) - c.String(http.StatusInternalServerError, "Unable to disconnect user bag connections") - return - } + err = tx.Exec(` UPDATE events SET user_id = ( SELECT id FROM users WHERE is_root_admin = 1 LIMIT 1 diff --git a/server/internal/models/user_chain.go b/server/internal/models/user_chain.go index 5bb7bf11b..870537efe 100644 --- a/server/internal/models/user_chain.go +++ b/server/internal/models/user_chain.go @@ -67,6 +67,32 @@ DELETE FROM bulky_items WHERE user_chain_id IN ( } func (u *User) DeleteUserChainDependenciesAllChains(db *gorm.DB) (err error) { + // TODO: send notification to host + // give away bags to the next host + err = db.Exec(` +UPDATE bags AS b +SET user_chain_id = ( + SELECT uc.id FROM user_chains AS uc + WHERE uc.is_chain_admin IS TRUE + AND uc.is_approved IS TRUE + AND uc.chain_id = ( + SELECT uc2.chain_id FROM user_chains AS uc2 + WHERE uc2.id = b.user_chain_id + ) + ORDER BY + uc.user_id != ? DESC, + uc.user_id + LIMIT 1 +) +WHERE b.user_chain_id IN ( + SELECT id FROM user_chains WHERE user_id = ? +) + `, u.ID, u.ID).Error + if err != nil { + return fmt.Errorf("Unable to give away connected bags from user: %v", err) + } + + // delete other bags unable to give away err = db.Exec(` DELETE FROM bags WHERE user_chain_id IN ( SELECT id FROM user_chains WHERE user_id = ? @@ -76,6 +102,7 @@ DELETE FROM bags WHERE user_chain_id IN ( return fmt.Errorf("Unable to delete bulky items from user: %v", err) } + // delete bulky items from user err = db.Exec(` DELETE FROM bulky_items WHERE user_chain_id IN ( SELECT id FROM user_chains WHERE user_id = ? diff --git a/server/sql/delete-user.sql b/server/sql/delete-user.sql index 4f8c320e7..d987eb328 100644 --- a/server/sql/delete-user.sql +++ b/server/sql/delete-user.sql @@ -1,3 +1,21 @@ +UPDATE bags AS b +SET user_chain_id = ( + SELECT uc.id FROM user_chains AS uc + WHERE uc.is_chain_admin IS TRUE + AND uc.is_approved IS TRUE + AND uc.chain_id = ( + SELECT uc2.chain_id FROM user_chains AS uc2 + WHERE uc2.id = b.user_chain_id + ) + ORDER BY + uc.user_id != 0 DESC, + uc.user_id + LIMIT 1 +) +WHERE b.user_chain_id IN ( + SELECT id FROM user_chains WHERE user_id = 0 +); + DELETE FROM bags WHERE user_chain_id IN ( SELECT id From 47de1579a645fcb815412f2d4336157b0c99d33e Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 16:44:14 +0100 Subject: [PATCH 13/21] Update bruno beautify json, testing api calls --- bruno/.editorconfig | 14 +++++++++ bruno/bag/create or update.bru | 10 +++--- bruno/bag/delete.bru | 5 +-- bruno/bulky item/create or update.bru | 12 ++++---- bruno/bulky item/delete.bru | 4 +-- bruno/chain/add user.bru | 6 ++-- bruno/chain/approve user.bru | 9 +++++- bruno/chain/create.bru | 21 +++++++------ bruno/chain/get all filtered.bru | 8 ++--- bruno/chain/unapprove user.bru | 16 +++++++++- bruno/chain/unapproved users.bru | 11 ------- bruno/chain/update.bru | 12 ++------ bruno/collection.bru | 6 ++++ bruno/contacts/send email.bru | 7 +++-- bruno/event/create.bru | 19 +++++++++++- bruno/event/delete.bru | 6 +--- bruno/event/ical.bru | 2 +- bruno/login/logout.bru | 6 +++- bruno/login/register basic user.bru | 18 +++++------ bruno/login/register chain admin.bru | 39 ++++++++++++------------ bruno/login/validate login.bru | 4 +-- bruno/route/order.bru | 16 +++++++++- bruno/user/get by email -depricated-.bru | 16 ---------- bruno/user/purge gdpr.bru | 2 +- bruno/user/update.bru | 3 +- 25 files changed, 159 insertions(+), 113 deletions(-) create mode 100644 bruno/.editorconfig delete mode 100644 bruno/chain/unapproved users.bru delete mode 100644 bruno/user/get by email -depricated-.bru diff --git a/bruno/.editorconfig b/bruno/.editorconfig new file mode 100644 index 000000000..26b0a966c --- /dev/null +++ b/bruno/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false + +[Makefile] +indent_style = tab + +[*.{bru,json}] +indent_style = space +indent_size = 2 diff --git a/bruno/bag/create or update.bru b/bruno/bag/create or update.bru index 6522df043..0c76780cb 100644 --- a/bruno/bag/create or update.bru +++ b/bruno/bag/create or update.bru @@ -12,9 +12,11 @@ put { body:json { { - "user_uid": "{{userUID}}", - "chain_uid": "{{chainUID}}", - "number": 1, - "color": "#00ff00" + "user_uid": "{{userUID}}", + "chain_uid": "{{chainUID}}", + "holder_uid": "{{userUID}}", + "bag_id": 1, + "number": "Bag 1", + "color": "#ccff00" } } diff --git a/bruno/bag/delete.bru b/bruno/bag/delete.bru index 7f1e54e28..c653d1007 100644 --- a/bruno/bag/delete.bru +++ b/bruno/bag/delete.bru @@ -5,12 +5,13 @@ meta { } delete { - url: {{base}}/v2/bag/all?user_uid={{userUID}}&chain_uid={{chainUID}} + url: {{base}}/v2/bag?chain_uid={{chainUID}}&user_uid={{userUID}}&bag_id=1 body: none auth: none } query { - user_uid: {{userUID}} chain_uid: {{chainUID}} + user_uid: {{userUID}} + bag_id: 1 } diff --git a/bruno/bulky item/create or update.bru b/bruno/bulky item/create or update.bru index 41617fed7..9734b7dd3 100644 --- a/bruno/bulky item/create or update.bru +++ b/bruno/bulky item/create or update.bru @@ -12,11 +12,11 @@ put { body:json { { - "user_uid": "{{userUID}}", - "chain_uid": "{{chainUID}}", - "id": 1, - "title": "Nikes 38", - "message": "Worn for 2 weeks", - "image_url": "imgbb.com" + "user_uid": "{{userUID}}", + "chain_uid": "{{chainUID}}", + "id": 6, + "title": "Nikes 36", + "message": "Worn for 2 weeks", + "image_url": "https://picsum.photos/200/300" } } diff --git a/bruno/bulky item/delete.bru b/bruno/bulky item/delete.bru index 23ebe15ca..36b110f21 100644 --- a/bruno/bulky item/delete.bru +++ b/bruno/bulky item/delete.bru @@ -5,7 +5,7 @@ meta { } delete { - url: {{base}}/v2/bulky-item/all?user_uid={{userUID}}&chain_uid={{chainUID}}&id=1 + url: {{base}}/v2/bulky-item?user_uid={{userUID}}&chain_uid={{chainUID}}&id=5 body: none auth: none } @@ -13,5 +13,5 @@ delete { query { user_uid: {{userUID}} chain_uid: {{chainUID}} - id: 1 + id: 5 } diff --git a/bruno/chain/add user.bru b/bruno/chain/add user.bru index 6e817910c..efb58d175 100644 --- a/bruno/chain/add user.bru +++ b/bruno/chain/add user.bru @@ -12,8 +12,8 @@ post { body:json { { - "chain_uid": "{{chainUID}}", - "user_uid":"{{userUID}}", - "is_chain_admin": true + "chain_uid": "{{chainUID}}", + "user_uid": "f5051b97-4eba-448e-944c-3aa7523e74c0", + "is_chain_admin": true } } diff --git a/bruno/chain/approve user.bru b/bruno/chain/approve user.bru index 74f1b2082..e1f9e3711 100644 --- a/bruno/chain/approve user.bru +++ b/bruno/chain/approve user.bru @@ -6,6 +6,13 @@ meta { patch { url: {{base}}/v2/chain/approve-user - body: none + body: json auth: none } + +body:json { + { + "user_uid": "f5051b97-4eba-448e-944c-3aa7523e74c0", + "chain_uid": "{{chainUID}}" + } +} diff --git a/bruno/chain/create.bru b/bruno/chain/create.bru index afa9daf7b..40c5c1779 100644 --- a/bruno/chain/create.bru +++ b/bruno/chain/create.bru @@ -12,14 +12,17 @@ post { body:json { { - "name": "", - "description": "", - "address": "", - "latitude": 8.9, - "longitude": 3.8, - "radius": 0.1, - "sizes": [ - "" - ] + "name": "New Chain from api", + "description": "loop from bruno", + "address": "Bruno v1", + "latitude": 8.9, + "longitude": 3.8, + "radius": 6, + "open_to_new_members": true, + "country_code": "nl", + "sizes": [ + "A" + ], + "genders": [] } } diff --git a/bruno/chain/get all filtered.bru b/bruno/chain/get all filtered.bru index 7c479e85c..f1374768d 100644 --- a/bruno/chain/get all filtered.bru +++ b/bruno/chain/get all filtered.bru @@ -5,13 +5,13 @@ meta { } get { - url: {{base}}/v2/chain/all?filter_sizes=2&filter_sizes=B&filter_genders=1 + url: {{base}}/v2/chain/all?filter_sizes=3 body: none auth: none } query { - filter_sizes: 2 - filter_sizes: B - filter_genders: 1 + filter_sizes: 3 + ~filter_sizes: B + ~filter_genders: 1 } diff --git a/bruno/chain/unapprove user.bru b/bruno/chain/unapprove user.bru index c6e0fa52c..9cd1b5537 100644 --- a/bruno/chain/unapprove user.bru +++ b/bruno/chain/unapprove user.bru @@ -5,7 +5,21 @@ meta { } delete { - url: {{base}}/v2/chain/unapproved-user + url: {{base}}/v2/chain/unapproved-user?user_uid=f5051b97-4eba-448e-944c-3aa7523e74c0&chain_uid={{chainUID}}&reason=other body: none auth: none } + +query { + user_uid: f5051b97-4eba-448e-944c-3aa7523e74c0 + chain_uid: {{chainUID}} + reason: other +} + +body:json { + { + "user_uid": "f5051b97-4eba-448e-944c-3aa7523e74c0", + "chain_uid": "{{chainUID}}", + "reason": "other" + } +} diff --git a/bruno/chain/unapproved users.bru b/bruno/chain/unapproved users.bru deleted file mode 100644 index 55fbb16bd..000000000 --- a/bruno/chain/unapproved users.bru +++ /dev/null @@ -1,11 +0,0 @@ -meta { - name: unapproved users - type: http - seq: 9 -} - -get { - url: {{base}}/v2/chain/unapproved-users - body: none - auth: none -} diff --git a/bruno/chain/update.bru b/bruno/chain/update.bru index 22c934cb4..f536d5483 100644 --- a/bruno/chain/update.bru +++ b/bruno/chain/update.bru @@ -12,15 +12,7 @@ patch { body:json { { - "uid": "{{chainUID}}", - "name": "", - "description": "", - "address": "", - "latitude": 8.9, - "longitude": 3.8, - "radius": 0.1, - "sizes": [ - "" - ] + "uid": "{{chainUID}}", + "description": "Changed description" } } diff --git a/bruno/collection.bru b/bruno/collection.bru index 66123ad7f..0b523cf68 100644 --- a/bruno/collection.bru +++ b/bruno/collection.bru @@ -5,3 +5,9 @@ auth { auth:bearer { token: {{token}} } + +tests { + test("should status ok", function() { + expect(res.status).to.equal(200) + }) +} diff --git a/bruno/contacts/send email.bru b/bruno/contacts/send email.bru index 2fde35a52..436b2f9b3 100644 --- a/bruno/contacts/send email.bru +++ b/bruno/contacts/send email.bru @@ -12,8 +12,9 @@ post { body:json { { - "name":"John Pedro", - "email":"test@example.com", - "message": "This is a test" + "name": "John Pedro", + "email": "test@example.com", + "message": "This is a test", + "accept": false } } diff --git a/bruno/event/create.bru b/bruno/event/create.bru index 8bcbf1e89..747162d69 100644 --- a/bruno/event/create.bru +++ b/bruno/event/create.bru @@ -6,10 +6,27 @@ meta { post { url: {{base}}/v2/event/ - body: text + body: json auth: none } +body:json { + { + "name": "Seven of Nine", + "description": "You are to be assimilated", + "latitude": 53, + "longitude": 3.2, + "address": "mystreet 23", + "date": "2024-04-04T16:00:00.000Z", + "genders": [ + "1", + "3" + ], + "chain_uid": "{{chainUID}}", + "image_url": "https://picsum.photos/200/300" + } +} + body:text { { "uid": "{{eventUID}}", diff --git a/bruno/event/delete.bru b/bruno/event/delete.bru index e9dd612cc..f74cec8be 100644 --- a/bruno/event/delete.bru +++ b/bruno/event/delete.bru @@ -5,11 +5,7 @@ meta { } delete { - url: {{base}}/v2/event/?uid={{eventUID}} + url: {{base}}/v2/event/b47f55c2-5986-4934-a211-60de9f9275be body: none auth: none } - -query { - uid: {{eventUID}} -} diff --git a/bruno/event/ical.bru b/bruno/event/ical.bru index df1246cc8..c74a6be9b 100644 --- a/bruno/event/ical.bru +++ b/bruno/event/ical.bru @@ -5,7 +5,7 @@ meta { } get { - url: {{base}}/v2/event/ical/{{eventUID}} + url: {{base}}/v2/event/{{eventUID}}/ical body: none auth: none } diff --git a/bruno/login/logout.bru b/bruno/login/logout.bru index f4f59132d..4a34c73c0 100644 --- a/bruno/login/logout.bru +++ b/bruno/login/logout.bru @@ -7,5 +7,9 @@ meta { delete { url: {{base}}/v2/logout body: none - auth: none + auth: bearer +} + +auth:bearer { + token: 31803115-b838-4dd6-a584-2e2f05675965 } diff --git a/bruno/login/register basic user.bru b/bruno/login/register basic user.bru index 7a8da62a5..2a80a7565 100644 --- a/bruno/login/register basic user.bru +++ b/bruno/login/register basic user.bru @@ -12,14 +12,14 @@ post { body:json { { - "chain_uid":"{{chainUID}}", - "user": { - "email":"test@example.com", - "name": "Test", - "address":"Lorem ipsum 10", - "phone_number": "", - "newsletter": false, - "sizes": [] - } + "chain_uid": "{{chainUID}}", + "user": { + "email": "test@example.com", + "name": "Test", + "address": "Lorem ipsum 10", + "phone_number": "0623456789", + "newsletter": false, + "sizes": [] + } } } diff --git a/bruno/login/register chain admin.bru b/bruno/login/register chain admin.bru index 89c8a117e..6d512b6eb 100644 --- a/bruno/login/register chain admin.bru +++ b/bruno/login/register chain admin.bru @@ -12,24 +12,25 @@ post { body:json { { - "chain":{ - "name":"Test Loop", - "address":"Lorem ipsum 10", - "description":"a test loop from /register/chain-admin call", - "latitude": 3.0, - "longitude": 3.0, - "radius": 5.0, - "open_to_new_members": true, - "sizes": [], - "genders": [] - }, - "user": { - "name": "Test", - "email":"test7@example.com", - "phone_number": "89", - "address":"Lorem ipsum 10", - "sizes": [], - "newsletter": false - } + "chain": { + "name": "Test Loop", + "address": "Lorem ipsum 10", + "description": "a test loop from /register/chain-admin call", + "latitude": 3, + "longitude": 3, + "radius": 5, + "open_to_new_members": true, + "country_code": "nl", + "sizes": [], + "genders": [] + }, + "user": { + "name": "Test", + "email": "test7@example.com", + "phone_number": "0623456789", + "address": "Lorem ipsum 10", + "sizes": [], + "newsletter": true + } } } diff --git a/bruno/login/validate login.bru b/bruno/login/validate login.bru index a119ba21b..1f2031241 100644 --- a/bruno/login/validate login.bru +++ b/bruno/login/validate login.bru @@ -5,13 +5,13 @@ meta { } get { - url: {{base}}/v2/login/validate?apiKey={{token}} + url: {{base}}/v2/login/validate?apiKey=03597461 body: none auth: none } query { - apiKey: {{token}} + apiKey: 03597461 } script:pre-request { diff --git a/bruno/route/order.bru b/bruno/route/order.bru index 8fd83d283..07f88d2fc 100644 --- a/bruno/route/order.bru +++ b/bruno/route/order.bru @@ -6,10 +6,24 @@ meta { post { url: {{base}}/v2/route/order - body: text + body: json auth: none } +body:json { + { + "chain_uid": "{{chainUID}}", + "route_order": [ + "a151dcbc-d97b-46c5-bac0-90565da8e345", + "7711dc5f-396f-4c98-b86e-171f568f7ddb", + "6d71acc5-a2d5-4734-b2ac-ed5c11242dfd", + "ba6cf778-9d87-4090-bd88-52195b6aa876", + "2d5e1a55-0b56-48b0-a55e-c32a09614f80", + "11e52eea-7542-42ab-aa4e-c3a08ce51d7d" + ] + } +} + body:text { { "chain_uid": "{{chainUID}}", diff --git a/bruno/user/get by email -depricated-.bru b/bruno/user/get by email -depricated-.bru deleted file mode 100644 index 1d3d2a0a4..000000000 --- a/bruno/user/get by email -depricated-.bru +++ /dev/null @@ -1,16 +0,0 @@ -meta { - name: get by email -depricated- - type: http - seq: 4 -} - -get { - url: {{base}}/v2/user?chain_uid={{chainUID}}&email={{userEmail}} - body: none - auth: none -} - -query { - chain_uid: {{chainUID}} - email: {{userEmail}} -} diff --git a/bruno/user/purge gdpr.bru b/bruno/user/purge gdpr.bru index d8aaa6b84..bc8010b80 100644 --- a/bruno/user/purge gdpr.bru +++ b/bruno/user/purge gdpr.bru @@ -1,7 +1,7 @@ meta { name: purge gdpr type: http - seq: 3 + seq: 4 } delete { diff --git a/bruno/user/update.bru b/bruno/user/update.bru index 19d08c1d8..b9df34203 100644 --- a/bruno/user/update.bru +++ b/bruno/user/update.bru @@ -12,6 +12,7 @@ patch { body:json { { - + "user_uid": "{{userUID}}", + "name": "New John Doe" } } From 81dd3a5ce2e71fa3d47ab1bd80ac88eca2cdfd82 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 17:05:10 +0100 Subject: [PATCH 14/21] Comment out automatic Loop closure --- server/internal/controllers/cron.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/internal/controllers/cron.go b/server/internal/controllers/cron.go index 631178738..2b24e6cfe 100644 --- a/server/internal/controllers/cron.go +++ b/server/internal/controllers/cron.go @@ -16,7 +16,8 @@ import ( var validate = validator.New() func CronMonthly(db *gorm.DB) { - closeChainsWithOldPendingParticipants(db) + // TODO: fix automatic Loop closure + // closeChainsWithOldPendingParticipants(db) emailHostsOldPendingParticipants(db) } From 12483abd30c9ba101af487252bf602e08b88f34d Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Wed, 1 Nov 2023 17:08:52 +0100 Subject: [PATCH 15/21] Run all cron jobs on first run only in dev mode --- server/internal/server.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/internal/server.go b/server/internal/server.go index 8af32197a..fa7dde7f4 100644 --- a/server/internal/server.go +++ b/server/internal/server.go @@ -62,7 +62,9 @@ func Routes() *gin.Engine { Scheduler.StartAsync() // testing - Scheduler.RunAll() + if app.Config.ENV == app.EnvEnumDevelopment { + Scheduler.RunAll() + } } // router From 09b055046cfd73f280b93e7b742a0e1aa005ac19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 21:38:20 +0000 Subject: [PATCH 16/21] Bump golang.org/x/image from 0.8.0 to 0.10.0 in /server Bumps [golang.org/x/image](https://github.com/golang/image) from 0.8.0 to 0.10.0. - [Commits](https://github.com/golang/image/compare/v0.8.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/image dependency-type: indirect ... Signed-off-by: dependabot[bot] --- server/go.mod | 4 ++-- server/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/go.mod b/server/go.mod index 659d53da8..295c83c5b 100644 --- a/server/go.mod +++ b/server/go.mod @@ -54,11 +54,11 @@ require ( go.uber.org/atomic v1.9.0 // indirect golang.org/x/arch v0.3.0 // indirect golang.org/x/crypto v0.10.0 // indirect - golang.org/x/image v0.8.0 // indirect + golang.org/x/image v0.10.0 // indirect golang.org/x/net v0.11.0 // indirect golang.org/x/oauth2 v0.9.0 // indirect golang.org/x/sys v0.9.0 // indirect - golang.org/x/text v0.10.0 // indirect + golang.org/x/text v0.11.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/server/go.sum b/server/go.sum index 4bd5913e8..a043b0e32 100644 --- a/server/go.sum +++ b/server/go.sum @@ -251,8 +251,8 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.8.0 h1:agUcRXV/+w6L9ryntYYsF2x9fQTMd4T8fiiYXAVW6Jg= -golang.org/x/image v0.8.0/go.mod h1:PwLxp3opCYg4WR2WO9P0L6ESnsD6bLTWcw8zanLMVFM= +golang.org/x/image v0.10.0 h1:gXjUUtwtx5yOE0VKWq1CH4IJAClq4UGgUA3i+rpON9M= +golang.org/x/image v0.10.0/go.mod h1:jtrku+n79PfroUbvDdeUWMAI+heR786BofxrbiSF+J0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -365,8 +365,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From ea001e9526ab107fb6fbd9cc1ad117e67f5f43f8 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Fri, 3 Nov 2023 09:50:38 +0100 Subject: [PATCH 17/21] Add husky for easier git hooks --- .husky/.gitignore | 1 + .husky/README.md | 33 +++++++++++++++++++++++++++++++++ .husky/package-lock.json | 28 ++++++++++++++++++++++++++++ .husky/package.json | 10 ++++++++++ .husky/pre-push | 5 +++++ clothingloop.code-workspace | 3 +++ 6 files changed, 80 insertions(+) create mode 100644 .husky/.gitignore create mode 100644 .husky/README.md create mode 100644 .husky/package-lock.json create mode 100644 .husky/package.json create mode 100755 .husky/pre-push diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 000000000..b512c09d4 --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/.husky/README.md b/.husky/README.md new file mode 100644 index 000000000..a7c3a0912 --- /dev/null +++ b/.husky/README.md @@ -0,0 +1,33 @@ +# Husky + +> Modern native git hooks made easy + +Hooks are programs you can place in a hooks directory to trigger actions at certain points in git’s execution. + +https://git-scm.com/docs/githooks + +## Installation + +This will install husky and will change git hooks directory to here (`.husky`). + +This should _only_ be used on a developers machine. + +``` +npm run install +``` + +## Scripts + +### Pre Push + +Runs the linter on `server`, `frontend` & `app`. + +`npm install` needs to be run on `frontend` and `app` for this to work. + +## Removal + +This resets the git hooks configuration to the default directory (`.git/hooks`). + +``` +npm run remove-husky +``` diff --git a/.husky/package-lock.json b/.husky/package-lock.json new file mode 100644 index 000000000..9915f255d --- /dev/null +++ b/.husky/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": ".husky", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "hasInstallScript": true, + "devDependencies": { + "husky": "^8.0.3" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + } + } +} diff --git a/.husky/package.json b/.husky/package.json new file mode 100644 index 000000000..b19f2b6a3 --- /dev/null +++ b/.husky/package.json @@ -0,0 +1,10 @@ +{ + "scripts": { + "postinstall": "npm run prepare", + "remove-husky": "git config --unset core.hooksPath", + "prepare": "cd .. && husky install" + }, + "devDependencies": { + "husky": "^8.0.3" + } +} diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 000000000..938106099 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +cd server && make lint-test && \ +cd ../frontend && npm run lint:test && \ +cd ../app && npm run lint:test diff --git a/clothingloop.code-workspace b/clothingloop.code-workspace index 5069c367e..7a607e432 100644 --- a/clothingloop.code-workspace +++ b/clothingloop.code-workspace @@ -20,6 +20,9 @@ }, { "path": "bruno" + }, + { + "path": ".husky" } ], "settings": { From 94fec008ce2a7beae2e2ab2fd683b36137fcbf50 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Fri, 3 Nov 2023 09:53:15 +0100 Subject: [PATCH 18/21] fix gofmt --- server/internal/controllers/cron.go | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/server/internal/controllers/cron.go b/server/internal/controllers/cron.go index 2b24e6cfe..96541610a 100644 --- a/server/internal/controllers/cron.go +++ b/server/internal/controllers/cron.go @@ -135,26 +135,26 @@ ORDER BY u.email } } -// Close chains if pending participants are still pending 30 days after reminder email is sent -func closeChainsWithOldPendingParticipants(db *gorm.DB) { - glog.Info("Running closeChainsWithOldPendingParticipants") - db.Exec(` -UPDATE chains SET published = FALSE, open_to_new_members = FALSE WHERE id IN ( - SELECT DISTINCT(uc.chain_id) - FROM user_chains AS uc - JOIN chains AS c ON c.id = uc.chain_id - WHERE uc.is_approved = FALSE - AND uc.last_notified_is_unapproved_at < (NOW() - INTERVAL 30 DAY) - AND c.published = TRUE - AND c.id NOT IN ( - SELECT DISTINCT(uc2.chain_id) FROM user_chains AS uc2 - JOIN users AS u2 ON u2.id = uc2.user_id - WHERE u2.last_signed_in_at > (NOW() - INTERVAL 90 DAY) - AND uc2.is_chain_admin = TRUE - ) -) - `) -} +// // Close chains if pending participants are still pending 30 days after reminder email is sent +// func closeChainsWithOldPendingParticipants(db *gorm.DB) { +// glog.Info("Running closeChainsWithOldPendingParticipants") +// db.Exec(` +// UPDATE chains SET published = FALSE, open_to_new_members = FALSE WHERE id IN ( +// SELECT DISTINCT(uc.chain_id) +// FROM user_chains AS uc +// JOIN chains AS c ON c.id = uc.chain_id +// WHERE uc.is_approved = FALSE +// AND uc.last_notified_is_unapproved_at < (NOW() - INTERVAL 30 DAY) +// AND c.published = TRUE +// AND c.id NOT IN ( +// SELECT DISTINCT(uc2.chain_id) FROM user_chains AS uc2 +// JOIN users AS u2 ON u2.id = uc2.user_id +// WHERE u2.last_signed_in_at > (NOW() - INTERVAL 90 DAY) +// AND uc2.is_chain_admin = TRUE +// ) +// ) +// `) +// } func notifyIfIsHoldingABagForTooLong(db *gorm.DB) { glog.Info("Running notifyIfIsHoldingABagForTooLong") From 461739a729a46894bfb4c442a6be99c6c8f83120 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Fri, 3 Nov 2023 10:20:21 +0100 Subject: [PATCH 19/21] Finish review --- docker/dev/README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docker/dev/README.md b/docker/dev/README.md index 91750b61b..59bb42070 100644 --- a/docker/dev/README.md +++ b/docker/dev/README.md @@ -9,11 +9,13 @@ Ensure that you have the follow programs installed _after_ following the page in 1. [NodeJS](https://nodejs.org/en) 2. [GoLang](https://go.dev/dl/) +On Windows it's advised to use the built-in vs-code terminal unless you understand the differences between WSL, Powershell & Command Prompt. + ## 1.a. Install make on windows > As defined here https://chocolatey.org/install -Open Command Prompt as Administrator then run the following commands +Open Command Prompt as Administrator then run the following commands: ``` Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) @@ -21,7 +23,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManage choco install make ``` -If you struggle here see (https://stackoverflow.com/questions/48148664/the-term-execution-policy-is-not-recognized) and +If you struggle here see . ## 1.b. Install make on macos @@ -33,27 +35,27 @@ brew install make ## 2. Fork repository -1. Go to [github.com/the-clothing-loop/website](https://github.com/the-clothing-loop/website) and name it something like "clothing-loop" +1. Go to [github.com/the-clothing-loop/website](https://github.com/the-clothing-loop/website) and name it something like "clothing-loop". 2. Disable actions in fork (see https://github.com/orgs/community/discussions/26704) -3. Clone repo locally "git clone https://github.com//clothing-loop.git" (in VS code) +3. Clone repo locally `git clone https://github.com//clothing-loop.git` 4. Open in VS code, open workspace, installed recommended extensions if asked 5. copy `/clothing-loop/server/config.example.yml` to same directory and name it `config.dev.yml` 6. copy `/clothing-loop/frontend/.env-example` to same directory and name it `.env` ## 3. Start using docker compose -1. Open a terminal (in VS code) and cd into `clothing-loop/docker/dev` +1. Open a terminal and cd into `clothing-loop/docker/dev` 2. Run `make docker-start` this will setup and start the container, wait till this finishes (if the docker won't start it might help to open Docker Desktop first and try again, see: https://stackoverflow.com/questions/67788960/error-during-connect-this-error-may-indicate-that-the-docker-daemon-is-not-runn) -3. Run `make server-start` to start rest API backend (written in go) this will create the MYSQL database -4. In new tab run `make db-setup` to seed the db with dummy data (cd into `clothing-loop/docker/dev` first) -5. If you do not have a MYSQL client, install one, like HeidiSQL (Windows). +3. Run `make server-start` to start rest API backend (written in go) this will create the MYSQL database. +4. In new tab run `make db-setup` to seed the db with dummy data (cd into `clothing-loop/docker/dev` first). +5. If you do not have a MYSQL client, install one, like DBeaver (cross-platform, advised), TablePlus (MacOS) or HeidiSQL (Windows). The server is `128.0.0.1` and user: `root` and password is `fb4aeaa6d860dbabe785675e` (from docker-compose.yml). The tables should be populated. -6. Run `make frontend-start` to start the frontend using Vite, it should be visible at in your browser of choice +6. Run `make frontend-start` to start the frontend using Vite, it should be visible at in your browser of choice. ## 4. Login -1. Try logging in using `host@example.com` it will send you a verification email -2. go to to see the self hosted inbox (Mailpit), verify from there, now you should be logged in as a "host" +1. Try logging in using `host@example.com` it will send you a verification email. +2. go to to see the self hosted inbox (Mailpit), verify from there, now you should be logged in as a "host". The following dummy accounts are available: From 3027d39971a14148c578594c71341f928a17d630 Mon Sep 17 00:00:00 2001 From: "Lucian I. Last" Date: Fri, 3 Nov 2023 10:24:52 +0100 Subject: [PATCH 20/21] Add link text --- docker/dev/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/dev/README.md b/docker/dev/README.md index 59bb42070..e35fd2af6 100644 --- a/docker/dev/README.md +++ b/docker/dev/README.md @@ -45,7 +45,7 @@ brew install make ## 3. Start using docker compose 1. Open a terminal and cd into `clothing-loop/docker/dev` -2. Run `make docker-start` this will setup and start the container, wait till this finishes (if the docker won't start it might help to open Docker Desktop first and try again, see: https://stackoverflow.com/questions/67788960/error-during-connect-this-error-may-indicate-that-the-docker-daemon-is-not-runn) +2. Run `make docker-start` this will setup and start the container, wait till this finishes (if the docker won't start it might help to open Docker Desktop first and try again, see: [stackoverflow error-during-connect-this-error-may-indicate-that-the-docker-daemon-is-not-runn](https://stackoverflow.com/questions/67788960/error-during-connect-this-error-may-indicate-that-the-docker-daemon-is-not-runn)) 3. Run `make server-start` to start rest API backend (written in go) this will create the MYSQL database. 4. In new tab run `make db-setup` to seed the db with dummy data (cd into `clothing-loop/docker/dev` first). 5. If you do not have a MYSQL client, install one, like DBeaver (cross-platform, advised), TablePlus (MacOS) or HeidiSQL (Windows). From 948ade585c639477d90ddcf14bd85c1bc28066e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 12:12:44 +0000 Subject: [PATCH 21/21] Bump golang.org/x/net from 0.11.0 to 0.17.0 in /server Bumps [golang.org/x/net](https://github.com/golang/net) from 0.11.0 to 0.17.0. - [Commits](https://github.com/golang/net/compare/v0.11.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] --- server/go.mod | 8 ++++---- server/go.sum | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/server/go.mod b/server/go.mod index 295c83c5b..daa417cef 100644 --- a/server/go.mod +++ b/server/go.mod @@ -53,12 +53,12 @@ require ( github.com/ugorji/go/codec v1.2.11 // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/crypto v0.10.0 // indirect + golang.org/x/crypto v0.14.0 // indirect golang.org/x/image v0.10.0 // indirect - golang.org/x/net v0.11.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.9.0 // indirect - golang.org/x/sys v0.9.0 // indirect - golang.org/x/text v0.11.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/server/go.sum b/server/go.sum index a043b0e32..e0a264729 100644 --- a/server/go.sum +++ b/server/go.sum @@ -236,8 +236,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -302,8 +302,8 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -353,8 +353,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -365,8 +365,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=