From b59cf5e0bb0833d0fb835ce1539243f7ed42fa4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 04:19:24 +0000 Subject: [PATCH 01/15] build(deps): bump rollup from 4.21.0 to 4.22.4 in /client Bumps [rollup](https://github.com/rollup/rollup) from 4.21.0 to 4.22.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.22.4) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 268 +++++++++++++++++++-------------------- 1 file changed, 134 insertions(+), 134 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..4b07687 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1092,9 +1092,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], @@ -1104,9 +1104,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], @@ -1116,9 +1116,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], @@ -1128,9 +1128,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], @@ -1140,9 +1140,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], @@ -1152,9 +1152,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -1164,9 +1164,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], @@ -1176,9 +1176,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], @@ -1188,9 +1188,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], @@ -1200,9 +1200,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], @@ -1212,9 +1212,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], @@ -1224,9 +1224,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], @@ -1236,9 +1236,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], @@ -1248,9 +1248,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], @@ -1260,9 +1260,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], @@ -1272,9 +1272,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], @@ -6542,9 +6542,9 @@ } }, "node_modules/rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dependencies": { "@types/estree": "1.0.5" }, @@ -6556,22 +6556,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, @@ -8678,99 +8678,99 @@ } }, "@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "optional": true }, "@swc/helpers": { @@ -12562,26 +12562,26 @@ } }, "rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "requires": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "@types/estree": "1.0.5", "fsevents": "~2.3.2" } From e069a990d01ef55a5da9fee846ddca6e6a9d2ea7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:01:59 +0000 Subject: [PATCH 02/15] build(deps): bump @types/node from 22.5.2 to 22.7.0 in /client Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.2 to 22.7.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 14 +++++++------- client/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..fe0afd9 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -14,7 +14,7 @@ "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.7.0", "@types/react-dom": "^18.3.0", "@types/react-router-bootstrap": "^0.26.6", "@vitejs/plugin-react": "^4.3.1", @@ -1824,9 +1824,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.2.tgz", - "integrity": "sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.0.tgz", + "integrity": "sha512-MOdOibwBs6KW1vfqz2uKMlxq5xAfAZ98SZjO8e3XnAbFnTJtAspqhWk7hrdSAs9/Y14ZWMiy7/MxMUzAOadYEw==", "dependencies": { "undici-types": "~6.19.2" } @@ -9194,9 +9194,9 @@ "dev": true }, "@types/node": { - "version": "22.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.2.tgz", - "integrity": "sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.0.tgz", + "integrity": "sha512-MOdOibwBs6KW1vfqz2uKMlxq5xAfAZ98SZjO8e3XnAbFnTJtAspqhWk7hrdSAs9/Y14ZWMiy7/MxMUzAOadYEw==", "requires": { "undici-types": "~6.19.2" } diff --git a/client/package.json b/client/package.json index 526950d..4468ca0 100644 --- a/client/package.json +++ b/client/package.json @@ -17,7 +17,7 @@ "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.7.0", "@types/react-dom": "^18.3.0", "@types/react-router-bootstrap": "^0.26.6", "@vitejs/plugin-react": "^4.3.1", From b15bb3b631a8ce10a6775c3e1c60b0b9b3141bd3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:02:09 +0000 Subject: [PATCH 03/15] build(deps-dev): bump @vitest/coverage-v8 from 2.0.5 to 2.1.1 in /client Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 2.0.5 to 2.1.1. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.1/packages/coverage-v8) --- updated-dependencies: - dependency-name: "@vitest/coverage-v8" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 479 +++++++++++++-------------------------- client/package.json | 2 +- 2 files changed, 163 insertions(+), 318 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..c9786e8 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -30,7 +30,7 @@ "devDependencies": { "@types/react": "^18.3.5", "@typescript-eslint/eslint-plugin": "^8.4.0", - "@vitest/coverage-v8": "^2.0.5", + "@vitest/coverage-v8": "^2.1.1", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-plugin-import": "^2.29.1", @@ -2313,19 +2313,19 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.0.5.tgz", - "integrity": "sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-lib-source-maps": "^5.0.6", "istanbul-reports": "^3.1.7", - "magic-string": "^0.30.10", + "magic-string": "^0.30.11", "magicast": "^0.3.4", "std-env": "^3.7.0", "test-exclude": "^7.0.1", @@ -2335,17 +2335,23 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "2.0.5" + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" }, @@ -2353,10 +2359,37 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", + "dev": true, + "dependencies": { + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "dependencies": { "tinyrainbow": "^1.2.0" @@ -2366,12 +2399,12 @@ } }, "node_modules/@vitest/runner": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", - "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "dependencies": { - "@vitest/utils": "2.0.5", + "@vitest/utils": "2.1.1", "pathe": "^1.1.2" }, "funding": { @@ -2379,13 +2412,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", - "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "dependencies": { - "@vitest/pretty-format": "2.0.5", - "magic-string": "^0.30.10", + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", "pathe": "^1.1.2" }, "funding": { @@ -2393,9 +2426,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "dependencies": { "tinyspy": "^3.0.0" @@ -2405,13 +2438,12 @@ } }, "node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", + "@vitest/pretty-format": "2.1.1", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" }, @@ -4227,29 +4259,6 @@ "node": ">=0.10.0" } }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4490,18 +4499,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -4759,15 +4756,6 @@ "node": ">= 14" } }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -5161,18 +5149,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -5637,12 +5613,6 @@ "node": ">=10" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5685,18 +5655,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -5780,33 +5738,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/nwsapi": { "version": "2.2.12", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", @@ -5944,21 +5875,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -7076,18 +6992,6 @@ "node": ">=4" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -7202,6 +7106,12 @@ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, "node_modules/tinypool": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", @@ -7221,9 +7131,9 @@ } }, "node_modules/tinyspy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", - "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, "engines": { "node": ">=14.0.0" @@ -7575,15 +7485,14 @@ } }, "node_modules/vite-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", - "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.5", + "debug": "^4.3.6", "pathe": "^1.1.2", - "tinyrainbow": "^1.2.0", "vite": "^5.0.0" }, "bin": { @@ -7597,29 +7506,29 @@ } }, "node_modules/vitest": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", - "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, "dependencies": { - "@ampproject/remapping": "^2.3.0", - "@vitest/expect": "2.0.5", - "@vitest/pretty-format": "^2.0.5", - "@vitest/runner": "2.0.5", - "@vitest/snapshot": "2.0.5", - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", - "debug": "^4.3.5", - "execa": "^8.0.1", - "magic-string": "^0.30.10", + "debug": "^4.3.6", + "magic-string": "^0.30.11", "pathe": "^1.1.2", "std-env": "^3.7.0", - "tinybench": "^2.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", "tinypool": "^1.0.0", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.0.5", + "vite-node": "2.1.1", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7634,8 +7543,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.0.5", - "@vitest/ui": "2.0.5", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", "happy-dom": "*", "jsdom": "*" }, @@ -9501,19 +9410,19 @@ } }, "@vitest/coverage-v8": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.0.5.tgz", - "integrity": "sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "requires": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-lib-source-maps": "^5.0.6", "istanbul-reports": "^3.1.7", - "magic-string": "^0.30.10", + "magic-string": "^0.30.11", "magicast": "^0.3.4", "std-env": "^3.7.0", "test-exclude": "^7.0.1", @@ -9521,64 +9430,74 @@ } }, "@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "requires": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" } }, + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", + "dev": true, + "requires": { + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + } + }, "@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { "tinyrainbow": "^1.2.0" } }, "@vitest/runner": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", - "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "@vitest/utils": "2.0.5", + "@vitest/utils": "2.1.1", "pathe": "^1.1.2" } }, "@vitest/snapshot": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", - "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "requires": { - "@vitest/pretty-format": "2.0.5", - "magic-string": "^0.30.10", + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", "pathe": "^1.1.2" } }, "@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "requires": { "tinyspy": "^3.0.0" } }, "@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "requires": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", + "@vitest/pretty-format": "2.1.1", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" } @@ -10930,23 +10849,6 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -11128,12 +11030,6 @@ "hasown": "^2.0.0" } }, - "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true - }, "get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -11317,12 +11213,6 @@ "debug": "4" } }, - "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -11580,12 +11470,6 @@ "call-bind": "^1.0.7" } }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -11936,12 +11820,6 @@ } } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -11972,12 +11850,6 @@ "mime-db": "1.52.0" } }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, "min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -12031,23 +11903,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "devOptional": true }, - "npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - }, - "dependencies": { - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - } - } - }, "nwsapi": { "version": "2.2.12", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", @@ -12143,15 +11998,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, "optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -12960,12 +12806,6 @@ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -13049,6 +12889,12 @@ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, "tinypool": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", @@ -13062,9 +12908,9 @@ "dev": true }, "tinyspy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", - "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, "to-fast-properties": { @@ -13282,42 +13128,41 @@ } }, "vite-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", - "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "requires": { "cac": "^6.7.14", - "debug": "^4.3.5", + "debug": "^4.3.6", "pathe": "^1.1.2", - "tinyrainbow": "^1.2.0", "vite": "^5.0.0" } }, "vitest": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", - "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, "requires": { - "@ampproject/remapping": "^2.3.0", - "@vitest/expect": "2.0.5", - "@vitest/pretty-format": "^2.0.5", - "@vitest/runner": "2.0.5", - "@vitest/snapshot": "2.0.5", - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", - "debug": "^4.3.5", - "execa": "^8.0.1", - "magic-string": "^0.30.10", + "debug": "^4.3.6", + "magic-string": "^0.30.11", "pathe": "^1.1.2", "std-env": "^3.7.0", - "tinybench": "^2.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", "tinypool": "^1.0.0", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.0.5", + "vite-node": "2.1.1", "why-is-node-running": "^2.3.0" } }, diff --git a/client/package.json b/client/package.json index 526950d..90305c1 100644 --- a/client/package.json +++ b/client/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@types/react": "^18.3.5", "@typescript-eslint/eslint-plugin": "^8.4.0", - "@vitest/coverage-v8": "^2.0.5", + "@vitest/coverage-v8": "^2.1.1", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-plugin-import": "^2.29.1", From 6334ab181275571ca22669cb65ad601fd0e9ce6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:02:15 +0000 Subject: [PATCH 04/15] build(deps-dev): bump eslint-plugin-react in /client Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.35.0 to 7.36.1. - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.35.0...v7.36.1) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 14 +++++++------- client/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..0b8cf01 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -36,7 +36,7 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^50.2.2", "eslint-plugin-promise": "^7.1.0", - "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react": "^7.36.1", "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", "sass": "^1.77.8", @@ -3918,9 +3918,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "dev": true, "dependencies": { "array-includes": "^3.1.8", @@ -10791,9 +10791,9 @@ "requires": {} }, "eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "dev": true, "requires": { "array-includes": "^3.1.8", diff --git a/client/package.json b/client/package.json index 526950d..99037b7 100644 --- a/client/package.json +++ b/client/package.json @@ -66,7 +66,7 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^50.2.2", "eslint-plugin-promise": "^7.1.0", - "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react": "^7.36.1", "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", "sass": "^1.77.8", From 498dfd8502700cc39b21e318b2cee828ec2cf22e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:02:22 +0000 Subject: [PATCH 05/15] build(deps): bump react-router-dom from 6.26.1 to 6.26.2 in /client Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.26.1 to 6.26.2. - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.2/packages/react-router-dom) --- updated-dependencies: - dependency-name: react-router-dom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 50 ++++++++++++++++++++-------------------- client/package.json | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..4031b05 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -23,7 +23,7 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.3.1", "react-router-bootstrap": "^0.26.3", - "react-router-dom": "^6.26.1", + "react-router-dom": "^6.26.2", "typescript": "^5.5.4", "vite": "^5.4.6" }, @@ -1045,9 +1045,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", - "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", "engines": { "node": ">=14.0.0" } @@ -6360,11 +6360,11 @@ } }, "node_modules/react-router": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", - "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", "dependencies": { - "@remix-run/router": "1.19.1" + "@remix-run/router": "1.19.2" }, "engines": { "node": ">=14.0.0" @@ -6386,12 +6386,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", - "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", "dependencies": { - "@remix-run/router": "1.19.1", - "react-router": "6.26.1" + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" }, "engines": { "node": ">=14.0.0" @@ -8641,9 +8641,9 @@ } }, "@remix-run/router": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", - "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==" + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==" }, "@restart/hooks": { "version": "0.4.16", @@ -12439,11 +12439,11 @@ "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==" }, "react-router": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", - "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", "requires": { - "@remix-run/router": "1.19.1" + "@remix-run/router": "1.19.2" } }, "react-router-bootstrap": { @@ -12455,12 +12455,12 @@ } }, "react-router-dom": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", - "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", "requires": { - "@remix-run/router": "1.19.1", - "react-router": "6.26.1" + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" } }, "react-transition-group": { diff --git a/client/package.json b/client/package.json index 526950d..5d237d4 100644 --- a/client/package.json +++ b/client/package.json @@ -26,7 +26,7 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.3.1", "react-router-bootstrap": "^0.26.3", - "react-router-dom": "^6.26.1", + "react-router-dom": "^6.26.2", "typescript": "^5.5.4", "vite": "^5.4.6" }, From 1abfbe75868edb6802c139f9f0a24fae75d3ca02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:02:30 +0000 Subject: [PATCH 06/15] build(deps): bump typescript from 5.5.4 to 5.6.2 in /client Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 14 +++++++------- client/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 7d88150..bf542c8 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -24,7 +24,7 @@ "react-dom": "^18.3.1", "react-router-bootstrap": "^0.26.3", "react-router-dom": "^6.26.1", - "typescript": "^5.5.4", + "typescript": "^5.6.2", "vite": "^5.4.6" }, "devDependencies": { @@ -7414,9 +7414,9 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13204,9 +13204,9 @@ } }, "typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==" + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==" }, "unbox-primitive": { "version": "1.0.2", diff --git a/client/package.json b/client/package.json index 526950d..8bfcca5 100644 --- a/client/package.json +++ b/client/package.json @@ -27,7 +27,7 @@ "react-dom": "^18.3.1", "react-router-bootstrap": "^0.26.3", "react-router-dom": "^6.26.1", - "typescript": "^5.5.4", + "typescript": "^5.6.2", "vite": "^5.4.6" }, "scripts": { From 486e91610a4f9a8ceca84b2828950f0e0fc557a3 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Wed, 25 Sep 2024 14:38:49 -0300 Subject: [PATCH 07/15] ci: empty commit to trigger ci From 6a06f0ace2cf3bb81e512b45ffda2f998085aa28 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 26 Sep 2024 19:06:14 -0300 Subject: [PATCH 08/15] feat: add server address into env vars on caddy issue #65 --- client/Caddyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/Caddyfile b/client/Caddyfile index ba30628..68438e3 100644 --- a/client/Caddyfile +++ b/client/Caddyfile @@ -42,7 +42,7 @@ handle /env.js { header Content-Type "text/javascript" - respond `window.config = {"BUILD":"{$BUILD}"};` + respond `window.config = {"BUILD":"{$BUILD}","VITE_BACKEND_SERVER":"{$VITE_BACKEND_SERVER}"};` } file_server From 6276131d9d61b5f415ea8b065c4de98871be04b0 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 26 Sep 2024 21:27:04 -0300 Subject: [PATCH 09/15] fix: env file not being loaded into caddy and client. Issue 65 fix: handle refresh token on backend. Issue #53 --- client/Caddyfile | 4 +- client/src/api-service/apiConfig.ts | 4 +- client/src/api-service/authService.ts | 4 ++ client/src/context/AuthProvider.tsx | 7 +++- .../java_api/config/SecurityConfig.java | 2 +- .../java_api/service/impl/JwtServiceImpl.java | 32 +++++++++++---- tools.md | 40 +++++++++++++++++++ 7 files changed, 79 insertions(+), 14 deletions(-) diff --git a/client/Caddyfile b/client/Caddyfile index 68438e3..a4cf994 100644 --- a/client/Caddyfile +++ b/client/Caddyfile @@ -25,7 +25,7 @@ Strict-Transport-Security "max-age=31536000" Content-Security-Policy " base-uri 'self'; - connect-src 'self'; + connect-src 'self' {$VITE_BACKEND_SERVER}; default-src 'self'; font-src https://cdn.jsdelivr.net/npm/ 'self'; frame-src 'self'; @@ -42,7 +42,7 @@ handle /env.js { header Content-Type "text/javascript" - respond `window.config = {"BUILD":"{$BUILD}","VITE_BACKEND_SERVER":"{$VITE_BACKEND_SERVER}"};` + respond `window.config = {"VITE_BUILD":"{$VITE_BUILD}","VITE_BACKEND_SERVER":"{$VITE_BACKEND_SERVER}"};` } file_server diff --git a/client/src/api-service/apiConfig.ts b/client/src/api-service/apiConfig.ts index fd448ab..7da8b86 100644 --- a/client/src/api-service/apiConfig.ts +++ b/client/src/api-service/apiConfig.ts @@ -4,9 +4,9 @@ const server = env.VITE_BACKEND_SERVER; const ApiConfig = { - signInUrl: `${server}/auth/signin`, + signInUrl: `${server}/auth/sign-in`, - registerUrl: `${server}/auth/signup`, + registerUrl: `${server}/auth/sign-up`, refreshTokenUrl: `${server}/rest/user-sessions/refresh`, diff --git a/client/src/api-service/authService.ts b/client/src/api-service/authService.ts index c62612e..25edb8b 100644 --- a/client/src/api-service/authService.ts +++ b/client/src/api-service/authService.ts @@ -35,6 +35,8 @@ async function registerUser(email: string, password: string): Promise = ({ children }: Pro return bearerToken; } catch (e) { if (e instanceof Error) { - if (e.message !== 'No saved token!') { + if (e.message !== 'No saved token!' && e.message != 'Forbidden! Access denied') { console.warn(e.message); } } else if (e) { @@ -82,7 +82,10 @@ const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }: Pro updateUserSession(currentUser, registerResponse.token); return Promise.resolve('OK'); } catch (e) { - return Promise.reject(e); + if (e instanceof Error) { + return Promise.reject(new Error(e.message)); + } + return Promise.reject("Unknown error!"); } }; diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java b/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java index 1b410e5..ff20a36 100644 --- a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java +++ b/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java @@ -40,7 +40,7 @@ public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.cors(Customizer.withDefaults()) - .csrf(Customizer.withDefaults()) + .csrf(custom -> custom.ignoringRequestMatchers("/auth/**")) .authorizeHttpRequests( request -> request diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java b/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java index f85c8bb..62d9d95 100644 --- a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java +++ b/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java @@ -3,10 +3,13 @@ package br.com.tasknoteapp.java_api.service.impl; import br.com.tasknoteapp.java_api.service.JwtService; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.MalformedJwtException; import java.time.LocalDateTime; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.function.Function; import javax.crypto.SecretKey; import org.springframework.security.core.userdetails.UserDetails; @@ -29,7 +32,10 @@ class JwtServiceImpl implements JwtService { @Override public LocalDateTime extractExpiration(String token) { Date date = extractClaim(token, Claims::getExpiration); - return date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDateTime(); + if (!Objects.isNull(date)) { + return date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDateTime(); + } + return null; } @Override @@ -51,21 +57,33 @@ class JwtServiceImpl implements JwtService { @Override public boolean isTokenExpired(String token) { - return extractExpiration(token).isBefore(LocalDateTime.now()); + LocalDateTime expiration = extractExpiration(token); + if (expiration != null) { + return expiration.isBefore(LocalDateTime.now()); + } + return true; } @Override public boolean validateTokenAndUser(String token, UserDetails user) { final String email = user.getUsername(); - return !isTokenExpired(token) && getEmailFromToken(token).equals(email); + return !isTokenExpired(token) && email.equals(getEmailFromToken(token)); } private T extractClaim(String token, Function claimsResolver) { - final Claims claims = extractAllClaims(token); - return claimsResolver.apply(claims); + final Optional claims = extractAllClaims(token); + if (claims.isPresent()) { + return claimsResolver.apply(claims.get()); + } + return null; } - private Claims extractAllClaims(String token) { - return Jwts.parser().verifyWith(KEY).build().parseSignedClaims(token).getPayload(); + private Optional extractAllClaims(String token) { + try { + return Optional.of( + Jwts.parser().verifyWith(KEY).build().parseSignedClaims(token).getPayload()); + } catch (MalformedJwtException me) { + return Optional.empty(); + } } } diff --git a/tools.md b/tools.md index cb0a68e..c7c4d4a 100644 --- a/tools.md +++ b/tools.md @@ -40,6 +40,7 @@ docker pull ghcr.io/ricardo-campos-org/react-typescript-todolist/client:50 Run it: +- Client ```sh docker run -d --rm \ -p 80:5000 \ @@ -48,3 +49,42 @@ docker run -d --rm \ --name tasknote \ ghcr.io/ricardo-campos-org/react-typescript-todolist/client:50 ``` + +- Java API +```sh +docker run -d --rm \ + -p 8585:8585 \ + -e CORS_ALLOWED_ORIGINS="http://localhost:5000" \ + -e POSTGRES_DB=tasknote \ + -e POSTGRES_HOST=localhost \ + -e POSTGRES_USER=tasknoteuser \ + -e POSTGRES_PASSWORD=default \ + -e POSTGRES_PORT=5435 \ + --name java-api \ + ghcr.io/ricardo-campos-org/react-typescript-todolist/java-api:50 +``` +or +```sh +docker compose --file docker-compose.prod.yml up -d server +``` + +- DB +```sh +docker run -d --rm \ + -p 5435:5432 \ + -e POSTGRES_DB="tasknote" \ + -e POSTGRES_USER="tasknoteuser" \ + -e POSTGRES_PASSWORD="default" \ + -e POSTGRES_PORT=5435 \ + -e PGDATA=/tmp \ + -v "./data:/tmp" \ + --name db \ + postgres:15.8-bookworm +``` +or +```sh +docker compose --file docker-compose.prod.yml up -d db +``` + +- Get container IP +docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' db \ No newline at end of file From 8489aabbbf85b5a6c1df7b10c893d1145c8645b2 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 26 Sep 2024 21:31:11 -0300 Subject: [PATCH 10/15] chore: fix lint issues --- client/src/context/AuthProvider.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/context/AuthProvider.tsx b/client/src/context/AuthProvider.tsx index de0a9bf..ee055e1 100644 --- a/client/src/context/AuthProvider.tsx +++ b/client/src/context/AuthProvider.tsx @@ -29,7 +29,7 @@ const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }: Pro return bearerToken; } catch (e) { if (e instanceof Error) { - if (e.message !== 'No saved token!' && e.message != 'Forbidden! Access denied') { + if (e.message !== 'No saved token!' && e.message !== 'Forbidden! Access denied') { console.warn(e.message); } } else if (e) { @@ -85,7 +85,7 @@ const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }: Pro if (e instanceof Error) { return Promise.reject(new Error(e.message)); } - return Promise.reject("Unknown error!"); + return Promise.reject(new Error('Unknown error!')); } }; From 8bca2025dbe2cff0554f3d04602574455306d795 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Fri, 27 Sep 2024 09:03:48 -0300 Subject: [PATCH 11/15] feat: rename java-api to server --- .github/dependabot.yml | 2 +- .github/workflows/main.yml | 6 +++--- .github/workflows/pr.yml | 10 +++++----- README.md | 4 ++-- docker-compose.yml | 2 +- {java-api => server}/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 {java-api => server}/Dockerfile | 4 ++-- {java-api => server}/encora-cert.sh | 0 {java-api => server}/mvnw | 0 {java-api => server}/mvnw.cmd | 0 {java-api => server}/pom.xml | 6 +++--- .../com/tasknoteapp/java_api/JavaApiApplication.java | 0 .../tasknoteapp/java_api/config/CloudNativeConfig.java | 0 .../br/com/tasknoteapp/java_api/config/CorsConfig.java | 0 .../java_api/config/HttpServletRequestRuntimeHint.java | 0 .../tasknoteapp/java_api/config/SecurityConfig.java | 0 .../com/tasknoteapp/java_api/config/SwaggerConfig.java | 2 +- .../java_api/controller/AuthenticationController.java | 0 .../java_api/controller/HomeController.java | 0 .../java_api/controller/NoteController.java | 0 .../java_api/controller/RestExceptionController.java | 0 .../java_api/controller/TaskController.java | 0 .../java_api/controller/UserController.java | 0 .../java_api/controller/UserSessionController.java | 0 .../br/com/tasknoteapp/java_api/entity/NoteEntity.java | 0 .../com/tasknoteapp/java_api/entity/NoteUrlEntity.java | 0 .../br/com/tasknoteapp/java_api/entity/TaskEntity.java | 0 .../com/tasknoteapp/java_api/entity/TaskUrlEntity.java | 0 .../br/com/tasknoteapp/java_api/entity/UserEntity.java | 0 .../java_api/exception/BadPasswordException.java | 0 .../java_api/exception/NoteNotFoundException.java | 0 .../java_api/exception/TaskNotFoundException.java | 0 .../java_api/exception/UserAlreadyExistsException.java | 0 .../java_api/exception/UserForbiddenException.java | 0 .../java_api/exception/UserNotFoundException.java | 0 .../java_api/filter/JwtAuthenticationFilter.java | 0 .../java_api/repository/NoteRepository.java | 0 .../java_api/repository/NoteUrlRepository.java | 0 .../java_api/repository/TaskRepository.java | 0 .../java_api/repository/TaskUrlRepository.java | 0 .../java_api/repository/UserRepository.java | 0 .../com/tasknoteapp/java_api/request/LoginRequest.java | 0 .../tasknoteapp/java_api/request/NotePatchRequest.java | 0 .../com/tasknoteapp/java_api/request/NoteRequest.java | 0 .../java_api/request/NoteUrlPatchRequest.java | 0 .../tasknoteapp/java_api/request/TaskPatchRequest.java | 0 .../com/tasknoteapp/java_api/request/TaskRequest.java | 0 .../java_api/request/TaskUrlPatchRequest.java | 0 .../java_api/response/FieldIssueResponse.java | 0 .../java_api/response/JwtAuthenticationResponse.java | 0 .../tasknoteapp/java_api/response/NoteResponse.java | 0 .../tasknoteapp/java_api/response/NoteUrlResponse.java | 0 .../tasknoteapp/java_api/response/SearchResponse.java | 0 .../tasknoteapp/java_api/response/SummaryResponse.java | 0 .../tasknoteapp/java_api/response/TaskResponse.java | 0 .../tasknoteapp/java_api/response/TaskUrlResponse.java | 0 .../tasknoteapp/java_api/response/UserResponse.java | 0 .../java_api/response/ValidationExceptionResponse.java | 0 .../com/tasknoteapp/java_api/service/AuthService.java | 0 .../com/tasknoteapp/java_api/service/HomeService.java | 0 .../com/tasknoteapp/java_api/service/JwtService.java | 0 .../com/tasknoteapp/java_api/service/NoteService.java | 0 .../com/tasknoteapp/java_api/service/TaskService.java | 0 .../com/tasknoteapp/java_api/service/UserService.java | 0 .../java_api/service/impl/AuthServiceImpl.java | 0 .../java_api/service/impl/HomeServiceImpl.java | 0 .../java_api/service/impl/JwtServiceImpl.java | 0 .../java_api/service/impl/NoteServiceImpl.java | 0 .../java_api/service/impl/TaskServiceImpl.java | 0 .../java_api/service/impl/UserServiceImpl.java | 0 .../br/com/tasknoteapp/java_api/util/AuthUtil.java | 0 .../src/main/resources/application.properties | 4 ++-- .../V202209041850__schema_and_user_creation.sql | 0 .../db/migration/V202409141732__task_table.sql | 0 .../db/migration/V202409201235__note_table.sql | 0 .../db/migration/V202409201638__update_note_table.sql | 0 .../tasknoteapp/java_api/JavaApiApplicationTests.java | 0 .../controller/AuthenticationControllerTest.java | 0 .../java_api/controller/HomeControllerTest.java | 0 .../src/test/resources/application.properties | 4 ++-- tools.md | 4 ++-- tools/check-backend.sh | 2 +- 83 files changed, 25 insertions(+), 25 deletions(-) rename {java-api => server}/.gitignore (100%) rename {java-api => server}/.mvn/wrapper/maven-wrapper.properties (100%) rename {java-api => server}/Dockerfile (81%) rename {java-api => server}/encora-cert.sh (100%) rename {java-api => server}/mvnw (100%) rename {java-api => server}/mvnw.cmd (100%) rename {java-api => server}/pom.xml (99%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java (97%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java (100%) rename {java-api => server}/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java (100%) rename {java-api => server}/src/main/resources/application.properties (91%) rename {java-api => server}/src/main/resources/db/migration/V202209041850__schema_and_user_creation.sql (100%) rename {java-api => server}/src/main/resources/db/migration/V202409141732__task_table.sql (100%) rename {java-api => server}/src/main/resources/db/migration/V202409201235__note_table.sql (100%) rename {java-api => server}/src/main/resources/db/migration/V202409201638__update_note_table.sql (100%) rename {java-api => server}/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java (100%) rename {java-api => server}/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java (100%) rename {java-api => server}/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java (100%) rename {java-api => server}/src/test/resources/application.properties (89%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9aa33f5..5855d74 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,7 +5,7 @@ updates: schedule: interval: "weekly" - package-ecosystem: "maven" - directory: "/java-api" + directory: "/server" schedule: interval: "weekly" - package-ecosystem: "github-actions" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dd5bf0f..9b74cb6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -71,10 +71,10 @@ jobs: restore-keys: ${{ runner.os }}-m2 - name: Build with Maven - run: cd java-api && ./mvnw --no-transfer-progress clean compile -DskipTests + run: cd server && ./mvnw --no-transfer-progress clean compile -DskipTests - name: Google Checkstyle - run: cd java-api && ./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false + run: cd server && ./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false #- name: All Tests - # run: cd java-api && ./mvnw --no-transfer-progress clean verify -P tests --file pom.xml + # run: cd server && ./mvnw --no-transfer-progress clean verify -P tests --file pom.xml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 51c823a..49c1c2b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -94,13 +94,13 @@ jobs: restore-keys: ${{ runner.os }}-m2 - name: Build with Maven - run: cd java-api && ./mvnw --no-transfer-progress clean compile -DskipTests + run: cd server && ./mvnw --no-transfer-progress clean compile -DskipTests - name: Google Check-Style - run: cd java-api && ./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false + run: cd server && ./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false #- name: All Tests - # run: cd java-api && ./mvnw --no-transfer-progress clean verify -P tests --file pom.xml + # run: cd server && ./mvnw --no-transfer-progress clean verify -P tests --file pom.xml java-docker-build: name: Build Java Docker image @@ -123,8 +123,8 @@ jobs: uses: docker/build-push-action@v6 with: push: true - context: ./java-api - tags: ghcr.io/ricardo-campos-org/react-typescript-todolist/java-api:${{ github.event.number }} + context: ./server + tags: ghcr.io/ricardo-campos-org/react-typescript-todolist/server:${{ github.event.number }} build-args: BUILD=${{ github.event.number }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/README.md b/README.md index 3a8a579..01dc420 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,9 @@ TODO: add GIF or screenshot of the app npm start ``` - **Java API:** + **Server - Java API:** ```sh - cd java-api + cd server ./mvnw spring-boot:run \ -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" ``` diff --git a/docker-compose.yml b/docker-compose.yml index 820a6b3..acfb6f7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,7 +38,7 @@ services: entrypoint: sh -c './encora-cert.sh' working_dir: /app volumes: - - "./java-api:/app" + - "./server:/app" - $HOME/zscaler-certs:/certs healthcheck: test: curl -f http://localhost:8585/actuator/health | grep '"status":"UP"' diff --git a/java-api/.gitignore b/server/.gitignore similarity index 100% rename from java-api/.gitignore rename to server/.gitignore diff --git a/java-api/.mvn/wrapper/maven-wrapper.properties b/server/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from java-api/.mvn/wrapper/maven-wrapper.properties rename to server/.mvn/wrapper/maven-wrapper.properties diff --git a/java-api/Dockerfile b/server/Dockerfile similarity index 81% rename from java-api/Dockerfile rename to server/Dockerfile index e808a05..fefb283 100644 --- a/java-api/Dockerfile +++ b/server/Dockerfile @@ -21,7 +21,7 @@ ENV BUILD_NUMBER=${BUILD_NUMBER} # Copy WORKDIR /app -COPY --from=build /app/target/java-api ./java-api +COPY --from=build /app/target/tasknote-api ./tasknote-api # User, port and health check USER 1001 @@ -29,4 +29,4 @@ EXPOSE ${PORT} HEALTHCHECK CMD timeout 10s bash -c 'true > /dev/tcp/127.0.0.1/8585' # Startup -ENTRYPOINT ["/app/java-api", "-Dspring.profiles.active=prod"] +ENTRYPOINT ["/app/tasknote-api", "-Dspring.profiles.active=prod"] diff --git a/java-api/encora-cert.sh b/server/encora-cert.sh similarity index 100% rename from java-api/encora-cert.sh rename to server/encora-cert.sh diff --git a/java-api/mvnw b/server/mvnw similarity index 100% rename from java-api/mvnw rename to server/mvnw diff --git a/java-api/mvnw.cmd b/server/mvnw.cmd similarity index 100% rename from java-api/mvnw.cmd rename to server/mvnw.cmd diff --git a/java-api/pom.xml b/server/pom.xml similarity index 99% rename from java-api/pom.xml rename to server/pom.xml index 7e289c6..f0e8878 100644 --- a/java-api/pom.xml +++ b/server/pom.xml @@ -10,9 +10,9 @@ br.com.tasknoteapp - java-api + server 0.0.1-SNAPSHOT - java-api + tasknote-api Java backend REST API to serve TaskNote frontend client @@ -184,7 +184,7 @@ - java-api + tasknote-api diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java b/server/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java rename to server/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java rename to server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java rename to server/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java rename to server/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java rename to server/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java similarity index 97% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java rename to server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java index 753294e..a350deb 100644 --- a/java-api/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java +++ b/server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java @@ -16,7 +16,7 @@ import org.springframework.context.annotation.Configuration; @Configuration public class SwaggerConfig { - @Value("${br.com.tasknote.java-api.version}") + @Value("${br.com.tasknote.server.version}") private String nrSparBackendVersion; /** diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java b/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java rename to server/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java b/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java rename to server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java b/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java rename to server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java b/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java rename to server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java b/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java rename to server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java b/server/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java rename to server/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java b/server/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java rename to server/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java b/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java rename to server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java b/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java rename to server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java b/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java rename to server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java b/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java rename to server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java b/server/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java rename to server/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java b/server/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java rename to server/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java diff --git a/java-api/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java b/server/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java similarity index 100% rename from java-api/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java rename to server/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java diff --git a/java-api/src/main/resources/application.properties b/server/src/main/resources/application.properties similarity index 91% rename from java-api/src/main/resources/application.properties rename to server/src/main/resources/application.properties index 4985f1a..dc8bdbb 100644 --- a/java-api/src/main/resources/application.properties +++ b/server/src/main/resources/application.properties @@ -1,4 +1,4 @@ -spring.application.name=java-api +spring.application.name=tasknote-api server.port = 8585 server.error.include-message=always @@ -21,7 +21,7 @@ spring.flyway.locations=classpath:db/migration springdoc.enable-native-support=true # Version (build) -br.com.tasknote.java-api.version=${BUILD:local} +br.com.tasknote.server.version=${BUILD:local} # CORS cors.allowed-origins=${CORS_ALLOWED_ORIGINS:http://localhost} diff --git a/java-api/src/main/resources/db/migration/V202209041850__schema_and_user_creation.sql b/server/src/main/resources/db/migration/V202209041850__schema_and_user_creation.sql similarity index 100% rename from java-api/src/main/resources/db/migration/V202209041850__schema_and_user_creation.sql rename to server/src/main/resources/db/migration/V202209041850__schema_and_user_creation.sql diff --git a/java-api/src/main/resources/db/migration/V202409141732__task_table.sql b/server/src/main/resources/db/migration/V202409141732__task_table.sql similarity index 100% rename from java-api/src/main/resources/db/migration/V202409141732__task_table.sql rename to server/src/main/resources/db/migration/V202409141732__task_table.sql diff --git a/java-api/src/main/resources/db/migration/V202409201235__note_table.sql b/server/src/main/resources/db/migration/V202409201235__note_table.sql similarity index 100% rename from java-api/src/main/resources/db/migration/V202409201235__note_table.sql rename to server/src/main/resources/db/migration/V202409201235__note_table.sql diff --git a/java-api/src/main/resources/db/migration/V202409201638__update_note_table.sql b/server/src/main/resources/db/migration/V202409201638__update_note_table.sql similarity index 100% rename from java-api/src/main/resources/db/migration/V202409201638__update_note_table.sql rename to server/src/main/resources/db/migration/V202409201638__update_note_table.sql diff --git a/java-api/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java b/server/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java similarity index 100% rename from java-api/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java rename to server/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java diff --git a/java-api/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java b/server/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java similarity index 100% rename from java-api/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java rename to server/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java diff --git a/java-api/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java b/server/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java similarity index 100% rename from java-api/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java rename to server/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java diff --git a/java-api/src/test/resources/application.properties b/server/src/test/resources/application.properties similarity index 89% rename from java-api/src/test/resources/application.properties rename to server/src/test/resources/application.properties index c6ffd9e..e029e6d 100644 --- a/java-api/src/test/resources/application.properties +++ b/server/src/test/resources/application.properties @@ -1,4 +1,4 @@ -spring.application.name=java-api +spring.application.name=tasknote-api server.port = 8585 server.error.include-message=always @@ -18,7 +18,7 @@ spring.jpa.hibernate.ddl-auto=create-drop spring.flyway.enabled=false # Version (build) -br.com.tasknote.java-api.version=${BUILD:local} +br.com.tasknote.server.version=${BUILD:local} # CORS cors.allowed-origins=${CORS_ALLOWED_ORIGINS:http://localhost} diff --git a/tools.md b/tools.md index c7c4d4a..eebd080 100644 --- a/tools.md +++ b/tools.md @@ -60,8 +60,8 @@ docker run -d --rm \ -e POSTGRES_USER=tasknoteuser \ -e POSTGRES_PASSWORD=default \ -e POSTGRES_PORT=5435 \ - --name java-api \ - ghcr.io/ricardo-campos-org/react-typescript-todolist/java-api:50 + --name server \ + ghcr.io/ricardo-campos-org/react-typescript-todolist/server:50 ``` or ```sh diff --git a/tools/check-backend.sh b/tools/check-backend.sh index 2b4eac9..ce51afe 100755 --- a/tools/check-backend.sh +++ b/tools/check-backend.sh @@ -1,6 +1,6 @@ #!/bin/bash -cd java-api +cd server ./mvnw --no-transfer-progress clean compile -DskipTests && \ ./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false && \ ./mvnw --no-transfer-progress clean verify -P tests --file pom.xml \ No newline at end of file From ce2d168fb7af7f893c12682bd500078339f20a2d Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Fri, 27 Sep 2024 11:02:48 -0300 Subject: [PATCH 12/15] feat: rename packages --- client/src/api-service/api.ts | 37 +++++++++++++++- client/src/api-service/apiConfig.ts | 2 + client/src/types/CsrfToken.ts | 5 +++ client/src/views/Task/index.tsx | 23 ++++++++-- .../java_api/config/CloudNativeConfig.java | 44 ------------------- .../JavaApiApplication.java | 2 +- .../server/config/CloudNativeConfig.java | 44 +++++++++++++++++++ .../config/CorsConfig.java | 3 +- .../config/HttpServletRequestRuntimeHint.java | 2 +- .../config/SecurityConfig.java | 16 ++++--- .../config/SwaggerConfig.java | 2 +- .../controller/AuthenticationController.java | 12 ++--- .../controller/HomeController.java | 8 ++-- .../controller/NoteController.java | 12 ++--- .../controller/RestExceptionController.java | 4 +- .../controller/TaskController.java | 14 +++--- .../controller/UserController.java | 6 +-- .../controller/UserSessionController.java | 42 +++++++++++++++--- .../entity/NoteEntity.java | 2 +- .../entity/NoteUrlEntity.java | 2 +- .../entity/TaskEntity.java | 2 +- .../entity/TaskUrlEntity.java | 2 +- .../entity/UserEntity.java | 2 +- .../exception/BadPasswordException.java | 2 +- .../exception/NoteNotFoundException.java | 2 +- .../exception/TaskNotFoundException.java | 2 +- .../exception/UserAlreadyExistsException.java | 2 +- .../exception/UserForbiddenException.java | 2 +- .../exception/UserNotFoundException.java | 2 +- .../filter/JwtAuthenticationFilter.java | 6 +-- .../repository/NoteRepository.java | 4 +- .../repository/NoteUrlRepository.java | 4 +- .../repository/TaskRepository.java | 4 +- .../repository/TaskUrlRepository.java | 4 +- .../repository/UserRepository.java | 4 +- .../request/LoginRequest.java | 2 +- .../request/NotePatchRequest.java | 2 +- .../request/NoteRequest.java | 2 +- .../request/NoteUrlPatchRequest.java | 2 +- .../request/TaskPatchRequest.java | 2 +- .../request/TaskRequest.java | 2 +- .../request/TaskUrlPatchRequest.java | 2 +- .../response/FieldIssueResponse.java | 2 +- .../response/JwtAuthenticationResponse.java | 2 +- .../response/NoteResponse.java | 6 +-- .../response/NoteUrlResponse.java | 2 +- .../response/SearchResponse.java | 2 +- .../response/SummaryResponse.java | 2 +- .../response/TaskResponse.java | 6 +-- .../response/TaskUrlResponse.java | 2 +- .../response/UserResponse.java | 2 +- .../response/ValidationExceptionResponse.java | 2 +- .../service/AuthService.java | 8 ++-- .../service/HomeService.java | 6 +-- .../service/JwtService.java | 2 +- .../service/NoteService.java | 10 ++--- .../service/TaskService.java | 10 ++--- .../service/UserService.java | 2 +- .../service/impl/AuthServiceImpl.java | 24 +++++----- .../service/impl/HomeServiceImpl.java | 16 +++---- .../service/impl/JwtServiceImpl.java | 4 +- .../service/impl/NoteServiceImpl.java | 28 ++++++------ .../service/impl/TaskServiceImpl.java | 28 ++++++------ .../service/impl/UserServiceImpl.java | 8 ++-- .../{java_api => server}/util/AuthUtil.java | 2 +- .../JavaApiApplicationTests.java | 2 +- .../AuthenticationControllerTest.java | 8 ++-- .../controller/HomeControllerTest.java | 12 ++--- 68 files changed, 315 insertions(+), 223 deletions(-) create mode 100644 client/src/types/CsrfToken.ts delete mode 100644 server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/JavaApiApplication.java (92%) create mode 100644 server/src/main/java/br/com/tasknoteapp/server/config/CloudNativeConfig.java rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/config/CorsConfig.java (93%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/config/HttpServletRequestRuntimeHint.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/config/SecurityConfig.java (87%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/config/SwaggerConfig.java (97%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/AuthenticationController.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/HomeController.java (92%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/NoteController.java (95%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/RestExceptionController.java (83%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/TaskController.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/UserController.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/controller/UserSessionController.java (56%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/entity/NoteEntity.java (95%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/entity/NoteUrlEntity.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/entity/TaskEntity.java (95%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/entity/TaskUrlEntity.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/entity/UserEntity.java (97%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/BadPasswordException.java (89%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/NoteNotFoundException.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/TaskNotFoundException.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/UserAlreadyExistsException.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/UserForbiddenException.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/exception/UserNotFoundException.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/filter/JwtAuthenticationFilter.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/repository/NoteRepository.java (82%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/repository/NoteUrlRepository.java (66%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/repository/TaskRepository.java (81%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/repository/TaskUrlRepository.java (66%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/repository/UserRepository.java (74%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/LoginRequest.java (91%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/NotePatchRequest.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/NoteRequest.java (91%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/NoteUrlPatchRequest.java (56%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/TaskPatchRequest.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/TaskRequest.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/request/TaskUrlPatchRequest.java (56%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/FieldIssueResponse.java (81%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/JwtAuthenticationResponse.java (55%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/NoteResponse.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/NoteUrlResponse.java (88%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/SearchResponse.java (70%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/SummaryResponse.java (64%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/TaskResponse.java (90%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/TaskUrlResponse.java (88%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/UserResponse.java (94%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/response/ValidationExceptionResponse.java (95%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/AuthService.java (85%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/HomeService.java (73%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/JwtService.java (92%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/NoteService.java (55%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/TaskService.java (59%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/UserService.java (84%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/AuthServiceImpl.java (87%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/HomeServiceImpl.java (75%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/JwtServiceImpl.java (96%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/NoteServiceImpl.java (85%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/TaskServiceImpl.java (85%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/service/impl/UserServiceImpl.java (79%) rename server/src/main/java/br/com/tasknoteapp/{java_api => server}/util/AuthUtil.java (97%) rename server/src/test/java/br/com/tasknoteapp/{java_api => server}/JavaApiApplicationTests.java (83%) rename server/src/test/java/br/com/tasknoteapp/{java_api => server}/controller/AuthenticationControllerTest.java (94%) rename server/src/test/java/br/com/tasknoteapp/{java_api => server}/controller/HomeControllerTest.java (92%) diff --git a/client/src/api-service/api.ts b/client/src/api-service/api.ts index 54ca594..11c075e 100644 --- a/client/src/api-service/api.ts +++ b/client/src/api-service/api.ts @@ -1,4 +1,5 @@ import { API_TOKEN } from '../app-constants/app-constants'; +import { CsrfToken } from '../types/CsrfToken'; /** * Retrieves the API token from local storage. @@ -10,6 +11,16 @@ function getToken(): string { return tokenState ?? ''; } +function getHeaders(csrf?: CsrfToken): Headers { + const headers: Headers = new Headers(); + headers.append('Content-Type', 'application/json'); + headers.append('Authorization', `Bearer ${getToken()}`); + if (csrf) { + headers.append('X-CSRF-TOKEN', csrf.token); + } + return headers; +} + /** * */ @@ -44,14 +55,38 @@ const api = { return false; }, + getCSRF: async (url: string) => { + const csrfReq = await fetch(url, { + method: 'GET', + mode: 'cors', + headers: getHeaders() + }); + if (csrfReq.ok) { + const data = await csrfReq.json(); + return data; + } + handleError(csrfReq.status); + return false; + }, + postJSON: async (url: string, payload: object) => { + let token = document.cookie + .split('; ') + .find(row => row.startsWith('XSRF-TOKEN=')) + ?.split('=')[1]; + + if (!token) token = ''; + console.log("sending token", token); + const response = await fetch(url, { method: 'POST', mode: 'cors', headers: { 'Content-Type': 'application/json', - Authorization: `Bearer ${getToken()}` + Authorization: `Bearer ${getToken()}`, + 'X-CSRF-TOKEN': token }, + credentials: 'include', body: JSON.stringify(payload) }); if (response.ok) { diff --git a/client/src/api-service/apiConfig.ts b/client/src/api-service/apiConfig.ts index 7da8b86..b44260c 100644 --- a/client/src/api-service/apiConfig.ts +++ b/client/src/api-service/apiConfig.ts @@ -10,6 +10,8 @@ const ApiConfig = { refreshTokenUrl: `${server}/rest/user-sessions/refresh`, + csrfTokenUrl: `${server}/rest/user-sessions/csrf`, + tasksUrl: `${server}/rest/tasks`, homeUrl: `${server}/rest/home`, diff --git a/client/src/types/CsrfToken.ts b/client/src/types/CsrfToken.ts new file mode 100644 index 0000000..83df2dc --- /dev/null +++ b/client/src/types/CsrfToken.ts @@ -0,0 +1,5 @@ +export type CsrfToken = { + headerName: string; + parameterName: string; + token: string; +}; diff --git a/client/src/views/Task/index.tsx b/client/src/views/Task/index.tsx index 820510c..f5163ad 100644 --- a/client/src/views/Task/index.tsx +++ b/client/src/views/Task/index.tsx @@ -7,6 +7,7 @@ import { TaskResponse } from '../../types/TaskResponse'; import api from '../../api-service/api'; import ApiConfig from '../../api-service/apiConfig'; import './style.css'; +import { CsrfToken } from '../../types/CsrfToken'; /** * @@ -27,12 +28,21 @@ function Task(): JSX.Element { } }; + const getCsrf = async () => { + try { + const token: CsrfToken = await api.getCSRF(ApiConfig.csrfTokenUrl); + return token; + } catch (e) { + handleError(e); + } + }; + const loadTasks = async () => { - const tasksFetched: TaskResponse[] | Error = await api.getJSON(ApiConfig.tasksUrl); - if (tasksFetched instanceof Error) { - handleError(tasksFetched); - } else { + try { + const tasksFetched: TaskResponse[] = await api.getJSON(ApiConfig.tasksUrl); setTasks(tasksFetched); + } catch (e) { + handleError(e); } }; @@ -41,6 +51,11 @@ function Task(): JSX.Element { description: desc, urls: url ? [url] : [] }; + // const csrf: CsrfToken | undefined = await getCsrf(); + // if (!csrf) { + // handleError('Unable to get server resources!'); + // return false; + // } try { await api.postJSON(ApiConfig.tasksUrl, payload); loadTasks(); diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java b/server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java deleted file mode 100644 index 90ff9df..0000000 --- a/server/src/main/java/br/com/tasknoteapp/java_api/config/CloudNativeConfig.java +++ /dev/null @@ -1,44 +0,0 @@ -package br.com.tasknoteapp.java_api.config; - -import br.com.tasknoteapp.java_api.request.LoginRequest; -import br.com.tasknoteapp.java_api.request.NotePatchRequest; -import br.com.tasknoteapp.java_api.request.NoteRequest; -import br.com.tasknoteapp.java_api.request.NoteUrlPatchRequest; -import br.com.tasknoteapp.java_api.request.TaskPatchRequest; -import br.com.tasknoteapp.java_api.request.TaskRequest; -import br.com.tasknoteapp.java_api.request.TaskUrlPatchRequest; -import br.com.tasknoteapp.java_api.response.JwtAuthenticationResponse; -import br.com.tasknoteapp.java_api.response.NoteResponse; -import br.com.tasknoteapp.java_api.response.NoteUrlResponse; -import br.com.tasknoteapp.java_api.response.SearchResponse; -import br.com.tasknoteapp.java_api.response.SummaryResponse; -import br.com.tasknoteapp.java_api.response.TaskResponse; -import br.com.tasknoteapp.java_api.response.TaskUrlResponse; -import br.com.tasknoteapp.java_api.response.UserResponse; -import org.springframework.aot.hint.annotation.RegisterReflectionForBinding; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.ImportRuntimeHints; - -@Configuration -@RegisterReflectionForBinding({ - LoginRequest.class, - NotePatchRequest.class, - NoteRequest.class, - NoteUrlPatchRequest.class, - TaskPatchRequest.class, - TaskRequest.class, - TaskUrlPatchRequest.class, - JwtAuthenticationResponse.class, - NoteResponse.class, - NoteUrlResponse.class, - SearchResponse.class, - SummaryResponse.class, - TaskResponse.class, - TaskUrlResponse.class, - UserResponse.class, - io.jsonwebtoken.Claims.class, - io.jsonwebtoken.Jwts.class, - io.jsonwebtoken.impl.security.StandardSecureDigestAlgorithms.class, -}) -@ImportRuntimeHints(value = {HttpServletRequestRuntimeHint.class}) -public class CloudNativeConfig {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java b/server/src/main/java/br/com/tasknoteapp/server/JavaApiApplication.java similarity index 92% rename from server/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java rename to server/src/main/java/br/com/tasknoteapp/server/JavaApiApplication.java index 86382b9..2579941 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/JavaApiApplication.java +++ b/server/src/main/java/br/com/tasknoteapp/server/JavaApiApplication.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api; +package br.com.tasknoteapp.server; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/server/src/main/java/br/com/tasknoteapp/server/config/CloudNativeConfig.java b/server/src/main/java/br/com/tasknoteapp/server/config/CloudNativeConfig.java new file mode 100644 index 0000000..154a1b3 --- /dev/null +++ b/server/src/main/java/br/com/tasknoteapp/server/config/CloudNativeConfig.java @@ -0,0 +1,44 @@ +package br.com.tasknoteapp.server.config; + +import br.com.tasknoteapp.server.request.LoginRequest; +import br.com.tasknoteapp.server.request.NotePatchRequest; +import br.com.tasknoteapp.server.request.NoteRequest; +import br.com.tasknoteapp.server.request.NoteUrlPatchRequest; +import br.com.tasknoteapp.server.request.TaskPatchRequest; +import br.com.tasknoteapp.server.request.TaskRequest; +import br.com.tasknoteapp.server.request.TaskUrlPatchRequest; +import br.com.tasknoteapp.server.response.JwtAuthenticationResponse; +import br.com.tasknoteapp.server.response.NoteResponse; +import br.com.tasknoteapp.server.response.NoteUrlResponse; +import br.com.tasknoteapp.server.response.SearchResponse; +import br.com.tasknoteapp.server.response.SummaryResponse; +import br.com.tasknoteapp.server.response.TaskResponse; +import br.com.tasknoteapp.server.response.TaskUrlResponse; +import br.com.tasknoteapp.server.response.UserResponse; +import org.springframework.aot.hint.annotation.RegisterReflectionForBinding; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.ImportRuntimeHints; + +@Configuration +@RegisterReflectionForBinding({ + LoginRequest.class, + NotePatchRequest.class, + NoteRequest.class, + NoteUrlPatchRequest.class, + TaskPatchRequest.class, + TaskRequest.class, + TaskUrlPatchRequest.class, + JwtAuthenticationResponse.class, + NoteResponse.class, + NoteUrlResponse.class, + SearchResponse.class, + SummaryResponse.class, + TaskResponse.class, + TaskUrlResponse.class, + UserResponse.class, + io.jsonwebtoken.Claims.class, + io.jsonwebtoken.Jwts.class, + io.jsonwebtoken.impl.security.StandardSecureDigestAlgorithms.class, +}) +@ImportRuntimeHints(value = {HttpServletRequestRuntimeHint.class}) +public class CloudNativeConfig {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java b/server/src/main/java/br/com/tasknoteapp/server/config/CorsConfig.java similarity index 93% rename from server/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java rename to server/src/main/java/br/com/tasknoteapp/server/config/CorsConfig.java index 5c32820..927b43d 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/config/CorsConfig.java +++ b/server/src/main/java/br/com/tasknoteapp/server/config/CorsConfig.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.config; +package br.com.tasknoteapp.server.config; import java.util.Arrays; import lombok.extern.slf4j.Slf4j; @@ -28,6 +28,7 @@ public class CorsConfig implements WebMvcConfigurer { registry .addMapping("/**") .allowedOrigins(allowedOrigins) + .allowCredentials(true) .allowedMethods("GET", "PUT", "POST", "DELETE", "OPTIONS", "HEAD", "PATCH"); } } diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java b/server/src/main/java/br/com/tasknoteapp/server/config/HttpServletRequestRuntimeHint.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java rename to server/src/main/java/br/com/tasknoteapp/server/config/HttpServletRequestRuntimeHint.java index f555cfe..1729c40 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/config/HttpServletRequestRuntimeHint.java +++ b/server/src/main/java/br/com/tasknoteapp/server/config/HttpServletRequestRuntimeHint.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.config; +package br.com.tasknoteapp.server.config; import jakarta.servlet.http.HttpServletRequest; import org.springframework.aot.hint.ProxyHints; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java b/server/src/main/java/br/com/tasknoteapp/server/config/SecurityConfig.java similarity index 87% rename from server/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java rename to server/src/main/java/br/com/tasknoteapp/server/config/SecurityConfig.java index ff20a36..0dc3e5a 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/config/SecurityConfig.java +++ b/server/src/main/java/br/com/tasknoteapp/server/config/SecurityConfig.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.config; +package br.com.tasknoteapp.server.config; -import br.com.tasknoteapp.java_api.filter.JwtAuthenticationFilter; -import br.com.tasknoteapp.java_api.service.UserService; +import br.com.tasknoteapp.server.filter.JwtAuthenticationFilter; +import br.com.tasknoteapp.server.service.UserService; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,11 +14,11 @@ import org.springframework.security.config.annotation.authentication.configurati import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.csrf.CookieCsrfTokenRepository; /** This class contains security configurations. */ @Configuration @@ -40,7 +40,11 @@ public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.cors(Customizer.withDefaults()) - .csrf(custom -> custom.ignoringRequestMatchers("/auth/**")) + .csrf( + custom -> + custom + .ignoringRequestMatchers("/auth/**") + .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())) .authorizeHttpRequests( request -> request @@ -52,8 +56,6 @@ public class SecurityConfig { .permitAll() .anyRequest() .permitAll()) - .sessionManagement( - manager -> manager.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .httpBasic(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class) diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java b/server/src/main/java/br/com/tasknoteapp/server/config/SwaggerConfig.java similarity index 97% rename from server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java rename to server/src/main/java/br/com/tasknoteapp/server/config/SwaggerConfig.java index a350deb..29362f5 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/config/SwaggerConfig.java +++ b/server/src/main/java/br/com/tasknoteapp/server/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.config; +package br.com.tasknoteapp.server.config; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/AuthenticationController.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/AuthenticationController.java index e81d302..604501f 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/AuthenticationController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/AuthenticationController.java @@ -1,10 +1,10 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.exception.UserAlreadyExistsException; -import br.com.tasknoteapp.java_api.exception.UserNotFoundException; -import br.com.tasknoteapp.java_api.request.LoginRequest; -import br.com.tasknoteapp.java_api.response.JwtAuthenticationResponse; -import br.com.tasknoteapp.java_api.service.AuthService; +import br.com.tasknoteapp.server.exception.UserAlreadyExistsException; +import br.com.tasknoteapp.server.exception.UserNotFoundException; +import br.com.tasknoteapp.server.request.LoginRequest; +import br.com.tasknoteapp.server.response.JwtAuthenticationResponse; +import br.com.tasknoteapp.server.service.AuthService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/HomeController.java similarity index 92% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/HomeController.java index ec5d640..5d83f23 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/HomeController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/HomeController.java @@ -1,8 +1,8 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.response.SearchResponse; -import br.com.tasknoteapp.java_api.response.SummaryResponse; -import br.com.tasknoteapp.java_api.service.HomeService; +import br.com.tasknoteapp.server.response.SearchResponse; +import br.com.tasknoteapp.server.response.SummaryResponse; +import br.com.tasknoteapp.server.service.HomeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/NoteController.java similarity index 95% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/NoteController.java index 6388f6e..16067e0 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/NoteController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/NoteController.java @@ -1,10 +1,10 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.entity.NoteEntity; -import br.com.tasknoteapp.java_api.request.NotePatchRequest; -import br.com.tasknoteapp.java_api.request.NoteRequest; -import br.com.tasknoteapp.java_api.response.NoteResponse; -import br.com.tasknoteapp.java_api.service.NoteService; +import br.com.tasknoteapp.server.entity.NoteEntity; +import br.com.tasknoteapp.server.request.NotePatchRequest; +import br.com.tasknoteapp.server.request.NoteRequest; +import br.com.tasknoteapp.server.response.NoteResponse; +import br.com.tasknoteapp.server.service.NoteService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/RestExceptionController.java similarity index 83% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/RestExceptionController.java index 1f78731..db0e12a 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/RestExceptionController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/RestExceptionController.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.response.ValidationExceptionResponse; +import br.com.tasknoteapp.server.response.ValidationExceptionResponse; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/TaskController.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/TaskController.java index 44d9387..edac400 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/TaskController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/TaskController.java @@ -1,11 +1,11 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.entity.TaskEntity; -import br.com.tasknoteapp.java_api.exception.TaskNotFoundException; -import br.com.tasknoteapp.java_api.request.TaskPatchRequest; -import br.com.tasknoteapp.java_api.request.TaskRequest; -import br.com.tasknoteapp.java_api.response.TaskResponse; -import br.com.tasknoteapp.java_api.service.TaskService; +import br.com.tasknoteapp.server.entity.TaskEntity; +import br.com.tasknoteapp.server.exception.TaskNotFoundException; +import br.com.tasknoteapp.server.request.TaskPatchRequest; +import br.com.tasknoteapp.server.request.TaskRequest; +import br.com.tasknoteapp.server.response.TaskResponse; +import br.com.tasknoteapp.server.service.TaskService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/UserController.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/UserController.java index c1b4589..fd92071 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/UserController.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.response.UserResponse; -import br.com.tasknoteapp.java_api.service.AuthService; +import br.com.tasknoteapp.server.response.UserResponse; +import br.com.tasknoteapp.server.service.AuthService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java b/server/src/main/java/br/com/tasknoteapp/server/controller/UserSessionController.java similarity index 56% rename from server/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java rename to server/src/main/java/br/com/tasknoteapp/server/controller/UserSessionController.java index 07801a4..3a72664 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/controller/UserSessionController.java +++ b/server/src/main/java/br/com/tasknoteapp/server/controller/UserSessionController.java @@ -1,19 +1,25 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; -import br.com.tasknoteapp.java_api.exception.UserNotFoundException; -import br.com.tasknoteapp.java_api.response.JwtAuthenticationResponse; -import br.com.tasknoteapp.java_api.service.AuthService; +import br.com.tasknoteapp.server.exception.UserNotFoundException; +import br.com.tasknoteapp.server.response.JwtAuthenticationResponse; +import br.com.tasknoteapp.server.service.AuthService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import org.springframework.security.web.csrf.CsrfToken; +import org.springframework.security.web.csrf.CsrfTokenRepository; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** This class contains resources for handling user sessions. */ +@Slf4j @RestController @RequestMapping("/rest/user-sessions") @AllArgsConstructor @@ -28,7 +34,7 @@ public class UserSessionController { * @return JwtAuthenticationResponse with token created. * @throws UserNotFoundException if user not found */ - @GetMapping(path = "/refresh") + @GetMapping("/refresh") @Operation( summary = "Refresh an existing user session", description = "Refresh an existing user session, generating a new token", @@ -47,4 +53,30 @@ public class UserSessionController { String token = authService.refreshCurrentUserToken(); return new JwtAuthenticationResponse(token); } + + /** + * Gets the CSRF token. + * + * @param token The token injected by Spring Security + * @return The token + */ + @GetMapping(path = "/csrf", produces = "application/json") + @Operation( + summary = "Gets the CSRF token", + description = "Gets the CSRF token to be used for requests", + responses = { + @ApiResponse(responseCode = "200", description = "Token successfully retrieved"), + @ApiResponse( + responseCode = "403", + description = "Forbidden. Access Denied", + content = @Content(schema = @Schema(implementation = Void.class))), + @ApiResponse( + responseCode = "404", + description = "User not found", + content = @Content(schema = @Schema(implementation = Void.class))) + }) + public CsrfToken getCsrfToken(CsrfToken token) { + log.info("Getting CSRF token {}", token); + return token; + } } diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java b/server/src/main/java/br/com/tasknoteapp/server/entity/NoteEntity.java similarity index 95% rename from server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java rename to server/src/main/java/br/com/tasknoteapp/server/entity/NoteEntity.java index c8d351e..e21f2c1 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteEntity.java +++ b/server/src/main/java/br/com/tasknoteapp/server/entity/NoteEntity.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.entity; +package br.com.tasknoteapp.server.entity; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java b/server/src/main/java/br/com/tasknoteapp/server/entity/NoteUrlEntity.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java rename to server/src/main/java/br/com/tasknoteapp/server/entity/NoteUrlEntity.java index fc5385b..a96258e 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/entity/NoteUrlEntity.java +++ b/server/src/main/java/br/com/tasknoteapp/server/entity/NoteUrlEntity.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.entity; +package br.com.tasknoteapp.server.entity; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java b/server/src/main/java/br/com/tasknoteapp/server/entity/TaskEntity.java similarity index 95% rename from server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java rename to server/src/main/java/br/com/tasknoteapp/server/entity/TaskEntity.java index 5a3f3f4..55ab76b 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskEntity.java +++ b/server/src/main/java/br/com/tasknoteapp/server/entity/TaskEntity.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.entity; +package br.com.tasknoteapp.server.entity; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java b/server/src/main/java/br/com/tasknoteapp/server/entity/TaskUrlEntity.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java rename to server/src/main/java/br/com/tasknoteapp/server/entity/TaskUrlEntity.java index 108e954..580e583 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/entity/TaskUrlEntity.java +++ b/server/src/main/java/br/com/tasknoteapp/server/entity/TaskUrlEntity.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.entity; +package br.com.tasknoteapp.server.entity; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java b/server/src/main/java/br/com/tasknoteapp/server/entity/UserEntity.java similarity index 97% rename from server/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java rename to server/src/main/java/br/com/tasknoteapp/server/entity/UserEntity.java index f01e609..ba1c3d4 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/entity/UserEntity.java +++ b/server/src/main/java/br/com/tasknoteapp/server/entity/UserEntity.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.entity; +package br.com.tasknoteapp.server.entity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/BadPasswordException.java similarity index 89% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/BadPasswordException.java index b323ec0..78e8222 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/BadPasswordException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/BadPasswordException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/NoteNotFoundException.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/NoteNotFoundException.java index 10e14ef..cc57664 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/NoteNotFoundException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/NoteNotFoundException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/TaskNotFoundException.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/TaskNotFoundException.java index 2842b6c..695c8f9 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/TaskNotFoundException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/TaskNotFoundException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/UserAlreadyExistsException.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/UserAlreadyExistsException.java index 61a7f64..68cc33b 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserAlreadyExistsException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/UserAlreadyExistsException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/UserForbiddenException.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/UserForbiddenException.java index 7bce7cf..37ff35d 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserForbiddenException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/UserForbiddenException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java b/server/src/main/java/br/com/tasknoteapp/server/exception/UserNotFoundException.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java rename to server/src/main/java/br/com/tasknoteapp/server/exception/UserNotFoundException.java index 8164883..abc6366 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/exception/UserNotFoundException.java +++ b/server/src/main/java/br/com/tasknoteapp/server/exception/UserNotFoundException.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.exception; +package br.com.tasknoteapp.server.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java b/server/src/main/java/br/com/tasknoteapp/server/filter/JwtAuthenticationFilter.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java rename to server/src/main/java/br/com/tasknoteapp/server/filter/JwtAuthenticationFilter.java index f2097e2..0ac3f03 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/filter/JwtAuthenticationFilter.java +++ b/server/src/main/java/br/com/tasknoteapp/server/filter/JwtAuthenticationFilter.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.filter; +package br.com.tasknoteapp.server.filter; -import br.com.tasknoteapp.java_api.service.JwtService; -import br.com.tasknoteapp.java_api.service.UserService; +import br.com.tasknoteapp.server.service.JwtService; +import br.com.tasknoteapp.server.service.UserService; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java b/server/src/main/java/br/com/tasknoteapp/server/repository/NoteRepository.java similarity index 82% rename from server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java rename to server/src/main/java/br/com/tasknoteapp/server/repository/NoteRepository.java index d03a3e6..0b7313c 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteRepository.java +++ b/server/src/main/java/br/com/tasknoteapp/server/repository/NoteRepository.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.repository; +package br.com.tasknoteapp.server.repository; -import br.com.tasknoteapp.java_api.entity.NoteEntity; +import br.com.tasknoteapp.server.entity.NoteEntity; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java b/server/src/main/java/br/com/tasknoteapp/server/repository/NoteUrlRepository.java similarity index 66% rename from server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java rename to server/src/main/java/br/com/tasknoteapp/server/repository/NoteUrlRepository.java index 60a7810..cf630f4 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/repository/NoteUrlRepository.java +++ b/server/src/main/java/br/com/tasknoteapp/server/repository/NoteUrlRepository.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.repository; +package br.com.tasknoteapp.server.repository; -import br.com.tasknoteapp.java_api.entity.NoteUrlEntity; +import br.com.tasknoteapp.server.entity.NoteUrlEntity; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java b/server/src/main/java/br/com/tasknoteapp/server/repository/TaskRepository.java similarity index 81% rename from server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java rename to server/src/main/java/br/com/tasknoteapp/server/repository/TaskRepository.java index 3c72e55..758f10d 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskRepository.java +++ b/server/src/main/java/br/com/tasknoteapp/server/repository/TaskRepository.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.repository; +package br.com.tasknoteapp.server.repository; -import br.com.tasknoteapp.java_api.entity.TaskEntity; +import br.com.tasknoteapp.server.entity.TaskEntity; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java b/server/src/main/java/br/com/tasknoteapp/server/repository/TaskUrlRepository.java similarity index 66% rename from server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java rename to server/src/main/java/br/com/tasknoteapp/server/repository/TaskUrlRepository.java index aa54506..655bb83 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/repository/TaskUrlRepository.java +++ b/server/src/main/java/br/com/tasknoteapp/server/repository/TaskUrlRepository.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.repository; +package br.com.tasknoteapp.server.repository; -import br.com.tasknoteapp.java_api.entity.TaskUrlEntity; +import br.com.tasknoteapp.server.entity.TaskUrlEntity; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java b/server/src/main/java/br/com/tasknoteapp/server/repository/UserRepository.java similarity index 74% rename from server/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java rename to server/src/main/java/br/com/tasknoteapp/server/repository/UserRepository.java index af80264..37b991a 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/repository/UserRepository.java +++ b/server/src/main/java/br/com/tasknoteapp/server/repository/UserRepository.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.repository; +package br.com.tasknoteapp.server.repository; -import br.com.tasknoteapp.java_api.entity.UserEntity; +import br.com.tasknoteapp.server.entity.UserEntity; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/LoginRequest.java similarity index 91% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/LoginRequest.java index 6ececf6..6e4710c 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/LoginRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/LoginRequest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Email; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/NotePatchRequest.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/NotePatchRequest.java index fdd04a6..4f3e00d 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/NotePatchRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/NotePatchRequest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; import io.swagger.v3.oas.annotations.media.Schema; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/NoteRequest.java similarity index 91% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/NoteRequest.java index 7c14684..b3466b6 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/NoteRequest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/NoteUrlPatchRequest.java similarity index 56% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/NoteUrlPatchRequest.java index 28d2fda..f550450 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/NoteUrlPatchRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/NoteUrlPatchRequest.java @@ -1,3 +1,3 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; public record NoteUrlPatchRequest(Long id, String url) {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/TaskPatchRequest.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/TaskPatchRequest.java index ed3073d..8ab43a6 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskPatchRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/TaskPatchRequest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; import io.swagger.v3.oas.annotations.media.Schema; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/TaskRequest.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/TaskRequest.java index 1e6abcc..c87edb6 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/TaskRequest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java b/server/src/main/java/br/com/tasknoteapp/server/request/TaskUrlPatchRequest.java similarity index 56% rename from server/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java rename to server/src/main/java/br/com/tasknoteapp/server/request/TaskUrlPatchRequest.java index fda9686..de4891f 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/request/TaskUrlPatchRequest.java +++ b/server/src/main/java/br/com/tasknoteapp/server/request/TaskUrlPatchRequest.java @@ -1,3 +1,3 @@ -package br.com.tasknoteapp.java_api.request; +package br.com.tasknoteapp.server.request; public record TaskUrlPatchRequest(Long id, String url) {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/FieldIssueResponse.java similarity index 81% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/FieldIssueResponse.java index 9f8ba9d..1c80c76 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/FieldIssueResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/FieldIssueResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/JwtAuthenticationResponse.java similarity index 55% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/JwtAuthenticationResponse.java index b9e36be..c487895 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/JwtAuthenticationResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/JwtAuthenticationResponse.java @@ -1,3 +1,3 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; public record JwtAuthenticationResponse(String token) {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/NoteResponse.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/NoteResponse.java index f92e947..6f81f79 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/NoteResponse.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; -import br.com.tasknoteapp.java_api.entity.NoteEntity; -import br.com.tasknoteapp.java_api.entity.NoteUrlEntity; +import br.com.tasknoteapp.server.entity.NoteEntity; +import br.com.tasknoteapp.server.entity.NoteUrlEntity; import io.swagger.v3.oas.annotations.media.Schema; import java.util.ArrayList; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/NoteUrlResponse.java similarity index 88% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/NoteUrlResponse.java index 285bb34..cf16278 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/NoteUrlResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/NoteUrlResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/SearchResponse.java similarity index 70% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/SearchResponse.java index c197e4f..3eb92a7 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/SearchResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/SearchResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/SummaryResponse.java similarity index 64% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/SummaryResponse.java index 1207a64..5aab782 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/SummaryResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/SummaryResponse.java @@ -1,3 +1,3 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; public record SummaryResponse(Integer pendingTaskCount, Integer doneTaskCount) {} diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/TaskResponse.java similarity index 90% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/TaskResponse.java index 1cceef5..f32c41b 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/TaskResponse.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; -import br.com.tasknoteapp.java_api.entity.TaskEntity; -import br.com.tasknoteapp.java_api.entity.TaskUrlEntity; +import br.com.tasknoteapp.server.entity.TaskEntity; +import br.com.tasknoteapp.server.entity.TaskUrlEntity; import io.swagger.v3.oas.annotations.media.Schema; import java.util.ArrayList; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/TaskUrlResponse.java similarity index 88% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/TaskUrlResponse.java index 6dc8435..d45874e 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/TaskUrlResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/TaskUrlResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/UserResponse.java similarity index 94% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/UserResponse.java index beac92a..464cdf4 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/UserResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/UserResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import io.swagger.v3.oas.annotations.media.Schema; import java.time.LocalDateTime; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java b/server/src/main/java/br/com/tasknoteapp/server/response/ValidationExceptionResponse.java similarity index 95% rename from server/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java rename to server/src/main/java/br/com/tasknoteapp/server/response/ValidationExceptionResponse.java index 85393b9..2510962 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/response/ValidationExceptionResponse.java +++ b/server/src/main/java/br/com/tasknoteapp/server/response/ValidationExceptionResponse.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.response; +package br.com.tasknoteapp.server.response; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java b/server/src/main/java/br/com/tasknoteapp/server/service/AuthService.java similarity index 85% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/AuthService.java index 007f179..4997794 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/AuthService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/AuthService.java @@ -1,8 +1,8 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; -import br.com.tasknoteapp.java_api.entity.UserEntity; -import br.com.tasknoteapp.java_api.request.LoginRequest; -import br.com.tasknoteapp.java_api.response.UserResponse; +import br.com.tasknoteapp.server.entity.UserEntity; +import br.com.tasknoteapp.server.request.LoginRequest; +import br.com.tasknoteapp.server.response.UserResponse; import java.util.List; import java.util.Optional; import org.springframework.security.core.userdetails.User; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java b/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java similarity index 73% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java index f541745..0f0682f 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/HomeService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java @@ -1,7 +1,7 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; -import br.com.tasknoteapp.java_api.response.SearchResponse; -import br.com.tasknoteapp.java_api.response.SummaryResponse; +import br.com.tasknoteapp.server.response.SearchResponse; +import br.com.tasknoteapp.server.response.SummaryResponse; /** This interface contains methods for handling user Home requests. */ public interface HomeService { diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java b/server/src/main/java/br/com/tasknoteapp/server/service/JwtService.java similarity index 92% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/JwtService.java index 9aa3a08..9d93f34 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/JwtService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/JwtService.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; import java.time.LocalDateTime; import java.util.Map; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java b/server/src/main/java/br/com/tasknoteapp/server/service/NoteService.java similarity index 55% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/NoteService.java index 0a81c7b..f507897 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/NoteService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/NoteService.java @@ -1,9 +1,9 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; -import br.com.tasknoteapp.java_api.entity.NoteEntity; -import br.com.tasknoteapp.java_api.request.NotePatchRequest; -import br.com.tasknoteapp.java_api.request.NoteRequest; -import br.com.tasknoteapp.java_api.response.NoteResponse; +import br.com.tasknoteapp.server.entity.NoteEntity; +import br.com.tasknoteapp.server.request.NotePatchRequest; +import br.com.tasknoteapp.server.request.NoteRequest; +import br.com.tasknoteapp.server.response.NoteResponse; import java.util.List; public interface NoteService { diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java b/server/src/main/java/br/com/tasknoteapp/server/service/TaskService.java similarity index 59% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/TaskService.java index c6dbebc..a94035a 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/TaskService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/TaskService.java @@ -1,9 +1,9 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; -import br.com.tasknoteapp.java_api.entity.TaskEntity; -import br.com.tasknoteapp.java_api.request.TaskPatchRequest; -import br.com.tasknoteapp.java_api.request.TaskRequest; -import br.com.tasknoteapp.java_api.response.TaskResponse; +import br.com.tasknoteapp.server.entity.TaskEntity; +import br.com.tasknoteapp.server.request.TaskPatchRequest; +import br.com.tasknoteapp.server.request.TaskRequest; +import br.com.tasknoteapp.server.response.TaskResponse; import java.util.List; /** This interface contains methods for handling user user Tasks. */ diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java b/server/src/main/java/br/com/tasknoteapp/server/service/UserService.java similarity index 84% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java rename to server/src/main/java/br/com/tasknoteapp/server/service/UserService.java index 9208f9d..c525365 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/UserService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/UserService.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.service; +package br.com.tasknoteapp.server.service; import org.springframework.security.core.userdetails.UserDetailsService; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/AuthServiceImpl.java similarity index 87% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/AuthServiceImpl.java index f64dca5..8eb5474 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/AuthServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/AuthServiceImpl.java @@ -1,16 +1,16 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.entity.UserEntity; -import br.com.tasknoteapp.java_api.exception.BadPasswordException; -import br.com.tasknoteapp.java_api.exception.UserAlreadyExistsException; -import br.com.tasknoteapp.java_api.exception.UserForbiddenException; -import br.com.tasknoteapp.java_api.exception.UserNotFoundException; -import br.com.tasknoteapp.java_api.repository.UserRepository; -import br.com.tasknoteapp.java_api.request.LoginRequest; -import br.com.tasknoteapp.java_api.response.UserResponse; -import br.com.tasknoteapp.java_api.service.AuthService; -import br.com.tasknoteapp.java_api.service.JwtService; -import br.com.tasknoteapp.java_api.util.AuthUtil; +import br.com.tasknoteapp.server.entity.UserEntity; +import br.com.tasknoteapp.server.exception.BadPasswordException; +import br.com.tasknoteapp.server.exception.UserAlreadyExistsException; +import br.com.tasknoteapp.server.exception.UserForbiddenException; +import br.com.tasknoteapp.server.exception.UserNotFoundException; +import br.com.tasknoteapp.server.repository.UserRepository; +import br.com.tasknoteapp.server.request.LoginRequest; +import br.com.tasknoteapp.server.response.UserResponse; +import br.com.tasknoteapp.server.service.AuthService; +import br.com.tasknoteapp.server.service.JwtService; +import br.com.tasknoteapp.server.util.AuthUtil; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/HomeServiceImpl.java similarity index 75% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/HomeServiceImpl.java index a6ad519..e162976 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/HomeServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/HomeServiceImpl.java @@ -1,12 +1,12 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.response.NoteResponse; -import br.com.tasknoteapp.java_api.response.SearchResponse; -import br.com.tasknoteapp.java_api.response.SummaryResponse; -import br.com.tasknoteapp.java_api.response.TaskResponse; -import br.com.tasknoteapp.java_api.service.HomeService; -import br.com.tasknoteapp.java_api.service.NoteService; -import br.com.tasknoteapp.java_api.service.TaskService; +import br.com.tasknoteapp.server.response.NoteResponse; +import br.com.tasknoteapp.server.response.SearchResponse; +import br.com.tasknoteapp.server.response.SummaryResponse; +import br.com.tasknoteapp.server.response.TaskResponse; +import br.com.tasknoteapp.server.service.HomeService; +import br.com.tasknoteapp.server.service.NoteService; +import br.com.tasknoteapp.server.service.TaskService; import java.util.List; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/JwtServiceImpl.java similarity index 96% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/JwtServiceImpl.java index 62d9d95..ee077d5 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/JwtServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/JwtServiceImpl.java @@ -1,6 +1,6 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.service.JwtService; +import br.com.tasknoteapp.server.service.JwtService; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.MalformedJwtException; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/NoteServiceImpl.java similarity index 85% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/NoteServiceImpl.java index c8b9f07..280ff3a 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/NoteServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/NoteServiceImpl.java @@ -1,18 +1,18 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.entity.NoteEntity; -import br.com.tasknoteapp.java_api.entity.NoteUrlEntity; -import br.com.tasknoteapp.java_api.entity.UserEntity; -import br.com.tasknoteapp.java_api.exception.NoteNotFoundException; -import br.com.tasknoteapp.java_api.repository.NoteRepository; -import br.com.tasknoteapp.java_api.repository.NoteUrlRepository; -import br.com.tasknoteapp.java_api.request.NotePatchRequest; -import br.com.tasknoteapp.java_api.request.NoteRequest; -import br.com.tasknoteapp.java_api.request.NoteUrlPatchRequest; -import br.com.tasknoteapp.java_api.response.NoteResponse; -import br.com.tasknoteapp.java_api.service.AuthService; -import br.com.tasknoteapp.java_api.service.NoteService; -import br.com.tasknoteapp.java_api.util.AuthUtil; +import br.com.tasknoteapp.server.entity.NoteEntity; +import br.com.tasknoteapp.server.entity.NoteUrlEntity; +import br.com.tasknoteapp.server.entity.UserEntity; +import br.com.tasknoteapp.server.exception.NoteNotFoundException; +import br.com.tasknoteapp.server.repository.NoteRepository; +import br.com.tasknoteapp.server.repository.NoteUrlRepository; +import br.com.tasknoteapp.server.request.NotePatchRequest; +import br.com.tasknoteapp.server.request.NoteRequest; +import br.com.tasknoteapp.server.request.NoteUrlPatchRequest; +import br.com.tasknoteapp.server.response.NoteResponse; +import br.com.tasknoteapp.server.service.AuthService; +import br.com.tasknoteapp.server.service.NoteService; +import br.com.tasknoteapp.server.util.AuthUtil; import jakarta.transaction.Transactional; import java.util.ArrayList; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/TaskServiceImpl.java similarity index 85% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/TaskServiceImpl.java index a98f23d..00603ee 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/TaskServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/TaskServiceImpl.java @@ -1,18 +1,18 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.entity.TaskEntity; -import br.com.tasknoteapp.java_api.entity.TaskUrlEntity; -import br.com.tasknoteapp.java_api.entity.UserEntity; -import br.com.tasknoteapp.java_api.exception.TaskNotFoundException; -import br.com.tasknoteapp.java_api.repository.TaskRepository; -import br.com.tasknoteapp.java_api.repository.TaskUrlRepository; -import br.com.tasknoteapp.java_api.request.TaskPatchRequest; -import br.com.tasknoteapp.java_api.request.TaskRequest; -import br.com.tasknoteapp.java_api.request.TaskUrlPatchRequest; -import br.com.tasknoteapp.java_api.response.TaskResponse; -import br.com.tasknoteapp.java_api.service.AuthService; -import br.com.tasknoteapp.java_api.service.TaskService; -import br.com.tasknoteapp.java_api.util.AuthUtil; +import br.com.tasknoteapp.server.entity.TaskEntity; +import br.com.tasknoteapp.server.entity.TaskUrlEntity; +import br.com.tasknoteapp.server.entity.UserEntity; +import br.com.tasknoteapp.server.exception.TaskNotFoundException; +import br.com.tasknoteapp.server.repository.TaskRepository; +import br.com.tasknoteapp.server.repository.TaskUrlRepository; +import br.com.tasknoteapp.server.request.TaskPatchRequest; +import br.com.tasknoteapp.server.request.TaskRequest; +import br.com.tasknoteapp.server.request.TaskUrlPatchRequest; +import br.com.tasknoteapp.server.response.TaskResponse; +import br.com.tasknoteapp.server.service.AuthService; +import br.com.tasknoteapp.server.service.TaskService; +import br.com.tasknoteapp.server.util.AuthUtil; import jakarta.transaction.Transactional; import java.util.ArrayList; import java.util.List; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java b/server/src/main/java/br/com/tasknoteapp/server/service/impl/UserServiceImpl.java similarity index 79% rename from server/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java rename to server/src/main/java/br/com/tasknoteapp/server/service/impl/UserServiceImpl.java index 740dbf9..8d44267 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/service/impl/UserServiceImpl.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/impl/UserServiceImpl.java @@ -1,8 +1,8 @@ -package br.com.tasknoteapp.java_api.service.impl; +package br.com.tasknoteapp.server.service.impl; -import br.com.tasknoteapp.java_api.entity.UserEntity; -import br.com.tasknoteapp.java_api.repository.UserRepository; -import br.com.tasknoteapp.java_api.service.UserService; +import br.com.tasknoteapp.server.entity.UserEntity; +import br.com.tasknoteapp.server.repository.UserRepository; +import br.com.tasknoteapp.server.service.UserService; import java.util.Optional; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; diff --git a/server/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java b/server/src/main/java/br/com/tasknoteapp/server/util/AuthUtil.java similarity index 97% rename from server/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java rename to server/src/main/java/br/com/tasknoteapp/server/util/AuthUtil.java index 67b8d32..69ee3a4 100644 --- a/server/src/main/java/br/com/tasknoteapp/java_api/util/AuthUtil.java +++ b/server/src/main/java/br/com/tasknoteapp/server/util/AuthUtil.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.util; +package br.com.tasknoteapp.server.util; import java.util.Objects; import java.util.Optional; diff --git a/server/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java b/server/src/test/java/br/com/tasknoteapp/server/JavaApiApplicationTests.java similarity index 83% rename from server/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java rename to server/src/test/java/br/com/tasknoteapp/server/JavaApiApplicationTests.java index 21f639a..58b3716 100644 --- a/server/src/test/java/br/com/tasknoteapp/java_api/JavaApiApplicationTests.java +++ b/server/src/test/java/br/com/tasknoteapp/server/JavaApiApplicationTests.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api; +package br.com.tasknoteapp.server; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; diff --git a/server/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java b/server/src/test/java/br/com/tasknoteapp/server/controller/AuthenticationControllerTest.java similarity index 94% rename from server/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java rename to server/src/test/java/br/com/tasknoteapp/server/controller/AuthenticationControllerTest.java index 7a6f0ef..7e385d1 100644 --- a/server/src/test/java/br/com/tasknoteapp/java_api/controller/AuthenticationControllerTest.java +++ b/server/src/test/java/br/com/tasknoteapp/server/controller/AuthenticationControllerTest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; import static org.mockito.Mockito.when; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; @@ -7,9 +7,9 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import br.com.tasknoteapp.java_api.exception.UserAlreadyExistsException; -import br.com.tasknoteapp.java_api.request.LoginRequest; -import br.com.tasknoteapp.java_api.service.AuthService; +import br.com.tasknoteapp.server.exception.UserAlreadyExistsException; +import br.com.tasknoteapp.server.request.LoginRequest; +import br.com.tasknoteapp.server.service.AuthService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/server/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java b/server/src/test/java/br/com/tasknoteapp/server/controller/HomeControllerTest.java similarity index 92% rename from server/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java rename to server/src/test/java/br/com/tasknoteapp/server/controller/HomeControllerTest.java index 93c4181..6a3516c 100644 --- a/server/src/test/java/br/com/tasknoteapp/java_api/controller/HomeControllerTest.java +++ b/server/src/test/java/br/com/tasknoteapp/server/controller/HomeControllerTest.java @@ -1,4 +1,4 @@ -package br.com.tasknoteapp.java_api.controller; +package br.com.tasknoteapp.server.controller; import static org.mockito.Mockito.when; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; @@ -6,11 +6,11 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import br.com.tasknoteapp.java_api.response.NoteResponse; -import br.com.tasknoteapp.java_api.response.SearchResponse; -import br.com.tasknoteapp.java_api.response.SummaryResponse; -import br.com.tasknoteapp.java_api.response.TaskResponse; -import br.com.tasknoteapp.java_api.service.HomeService; +import br.com.tasknoteapp.server.response.NoteResponse; +import br.com.tasknoteapp.server.response.SearchResponse; +import br.com.tasknoteapp.server.response.SummaryResponse; +import br.com.tasknoteapp.server.response.TaskResponse; +import br.com.tasknoteapp.server.service.HomeService; import java.util.List; import org.hamcrest.Matchers; import org.junit.jupiter.api.DisplayName; From 161764a2335601065c084ba5c70d7e1ce4079fb8 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Fri, 27 Sep 2024 18:58:08 -0300 Subject: [PATCH 13/15] fix: CSRF finally issue #69 --- client/src/api-service/api.ts | 58 +++++-------------- client/src/api-service/authService.ts | 2 + client/src/components/Footer/index.tsx | 9 ++- client/src/context/AuthProvider.tsx | 6 +- client/src/types/CsrfToken.ts | 5 -- client/src/views/Task/index.tsx | 30 +++++----- .../tasknoteapp/server/config/CorsConfig.java | 1 + .../server/config/SecurityConfig.java | 11 ++-- .../controller/UserSessionController.java | 29 ---------- .../src/main/resources/application.properties | 2 + 10 files changed, 54 insertions(+), 99 deletions(-) delete mode 100644 client/src/types/CsrfToken.ts diff --git a/client/src/api-service/api.ts b/client/src/api-service/api.ts index 11c075e..a8fa7be 100644 --- a/client/src/api-service/api.ts +++ b/client/src/api-service/api.ts @@ -1,5 +1,4 @@ import { API_TOKEN } from '../app-constants/app-constants'; -import { CsrfToken } from '../types/CsrfToken'; /** * Retrieves the API token from local storage. @@ -11,14 +10,14 @@ function getToken(): string { return tokenState ?? ''; } -function getHeaders(csrf?: CsrfToken): Headers { - const headers: Headers = new Headers(); - headers.append('Content-Type', 'application/json'); - headers.append('Authorization', `Bearer ${getToken()}`); - if (csrf) { - headers.append('X-CSRF-TOKEN', csrf.token); - } - return headers; +function getHeaders(): Headers { + const csrfToken = document.cookie.split('; ').find(row => row.startsWith('XSRF-TOKEN='))?.split('=')[1]; + + return new Headers({ + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${getToken()}`, + 'X-XSRF-TOKEN': csrfToken || '' + }); } /** @@ -42,6 +41,7 @@ const api = { const response = await fetch(url, { method: 'GET', mode: 'cors', + credentials: 'include', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${getToken()}` @@ -55,38 +55,12 @@ const api = { return false; }, - getCSRF: async (url: string) => { - const csrfReq = await fetch(url, { - method: 'GET', - mode: 'cors', - headers: getHeaders() - }); - if (csrfReq.ok) { - const data = await csrfReq.json(); - return data; - } - handleError(csrfReq.status); - return false; - }, - postJSON: async (url: string, payload: object) => { - let token = document.cookie - .split('; ') - .find(row => row.startsWith('XSRF-TOKEN=')) - ?.split('=')[1]; - - if (!token) token = ''; - console.log("sending token", token); - const response = await fetch(url, { method: 'POST', mode: 'cors', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${getToken()}`, - 'X-CSRF-TOKEN': token - }, credentials: 'include', + headers: getHeaders(), body: JSON.stringify(payload) }); if (response.ok) { @@ -101,10 +75,8 @@ const api = { const response = await fetch(url, { method: 'PATCH', mode: 'cors', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${getToken()}` - }, + credentials: 'include', + headers: getHeaders(), body: JSON.stringify(payload) }); if (response.ok) { @@ -119,10 +91,8 @@ const api = { const response = await fetch(url, { method: 'DELETE', mode: 'cors', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${getToken()}` - } + credentials: 'include', + headers: getHeaders(), }); if (response.status === 204) { return true; diff --git a/client/src/api-service/authService.ts b/client/src/api-service/authService.ts index 25edb8b..f47b19d 100644 --- a/client/src/api-service/authService.ts +++ b/client/src/api-service/authService.ts @@ -16,6 +16,7 @@ async function registerUser(email: string, password: string): Promise { + signOut(); + navigate('/'); + }; + return (