From 57355fe9ac0ae0de41b04751d1d5d50b8ffff6c6 Mon Sep 17 00:00:00 2001 From: Arthur Lefebvre Date: Fri, 26 Sep 2025 23:57:36 +0200 Subject: [PATCH] added user signup feature --- api_test.go => book_test.go | 0 front/package-lock.json | 8 ++++ front/src/AppNavBar.vue | 4 +- front/src/SignUp.vue | 71 ++++++++++++++++++++++++++++ front/src/api.js | 10 ++++ front/src/main.js | 2 + internal/api/dto.go | 5 ++ internal/api/mapper.go | 24 ++++++++-- internal/api/routes.go | 46 +++++++++++++++--- internal/api/validator.go | 2 + internal/db/init.go | 1 + internal/model/{model.go => book.go} | 4 +- internal/model/user.go | 9 ++++ main.go | 3 ++ user_test.go | 67 ++++++++++++++++++++++++++ 15 files changed, 242 insertions(+), 14 deletions(-) rename api_test.go => book_test.go (100%) create mode 100644 front/src/SignUp.vue rename internal/model/{model.go => book.go} (56%) create mode 100644 internal/model/user.go create mode 100644 user_test.go diff --git a/api_test.go b/book_test.go similarity index 100% rename from api_test.go rename to book_test.go diff --git a/front/package-lock.json b/front/package-lock.json index 7bbfd75..cc583c0 100644 --- a/front/package-lock.json +++ b/front/package-lock.json @@ -57,6 +57,7 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -1823,6 +1824,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1945,6 +1947,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001737", "electron-to-chromium": "^1.5.211", @@ -2274,6 +2277,7 @@ "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2335,6 +2339,7 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -3374,6 +3379,7 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3769,6 +3775,7 @@ "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -3955,6 +3962,7 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.21.tgz", "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.21", "@vue/compiler-sfc": "3.5.21", diff --git a/front/src/AppNavBar.vue b/front/src/AppNavBar.vue index 63e54fc..61dbeea 100644 --- a/front/src/AppNavBar.vue +++ b/front/src/AppNavBar.vue @@ -31,9 +31,9 @@