From 8f8accebeb4dcd997cfc904d0389bba269cd8311 Mon Sep 17 00:00:00 2001 From: Mathis Date: Tue, 21 May 2024 16:10:15 +0200 Subject: [PATCH] Integrate registration service and axios dependency The registration form now makes use of a new registration service. Axios, a necessary dependency for making HTTP requests in this service, has been added to the project. Additionally, logging has been improved in the user registration process to provide better debugging information. --- .gitignore | 1 + .idea/workspace.xml | 21 ++++++++--- package.json | 1 + pnpm-lock.yaml | 64 ++++++++++++++++++++++++++++++++ src/components/register-form.tsx | 11 +++--- src/services/register.service.ts | 14 +++++++ 6 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 src/services/register.service.ts diff --git a/.gitignore b/.gitignore index fd3dbb5..00bba9b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ yarn-error.log* # local env files .env*.local +.env # vercel .vercel diff --git a/.idea/workspace.xml b/.idea/workspace.xml index ddf6241..2ca72e9 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,12 +5,12 @@ - + + - @@ -106,6 +114,7 @@ - \ No newline at end of file diff --git a/package.json b/package.json index fb6ae9f..d4ca55c 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.0.7", "@tailwindcss/forms": "^0.5.7", + "axios": "^1.7.1", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "framer-motion": "^11.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3cd5071..46b55e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ dependencies: '@tailwindcss/forms': specifier: ^0.5.7 version: 0.5.7(tailwindcss@3.4.3) + axios: + specifier: ^1.7.1 + version: 1.7.1 class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -948,6 +951,20 @@ packages: tslib: 2.6.2 dev: false + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /axios@1.7.1: + resolution: {integrity: sha512-+LV37nQcd1EpFalkXksWNBiA17NZ5m5/WspmHGmZmdx1qBOg/VNq/c4eRJiA9VQQHBOs+N0ZhhdU10h2TyNK7Q==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1024,6 +1041,13 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1044,6 +1068,11 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} dev: false @@ -1084,6 +1113,16 @@ packages: dependencies: to-regex-range: 5.0.1 + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -1091,6 +1130,15 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + /framer-motion@11.2.0(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-LRfLVPEwtO9IXJCAsWvtj3XZxrdZDcTxNNkZEq30aQ8p7/wimfUkDy67TDWdtzPiyKDkqOHDhaQC6XVrQ4Fh7A==} peerDependencies: @@ -1261,6 +1309,18 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + /mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true @@ -1453,6 +1513,10 @@ packages: picocolors: 1.0.1 source-map-js: 1.2.0 + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} diff --git a/src/components/register-form.tsx b/src/components/register-form.tsx index f6cf2af..6444055 100644 --- a/src/components/register-form.tsx +++ b/src/components/register-form.tsx @@ -11,6 +11,7 @@ import toast, {ToastBar} from "react-hot-toast"; import {ToastBox, toastType} from "@/components/ui/toast-box"; import {zodResolver} from "@hookform/resolvers/zod" import {z} from 'zod' +import doRegister from "@/services/register.service"; const Schema = z.object({ username: @@ -82,17 +83,17 @@ export function RegisterForm() { }); const onSubmit: SubmitHandler = async (data) => { - try { - await new Promise((resolve) => setTimeout(resolve, 1_000)) + console.log('ping'); + const result = await doRegister(data) + console.log(result); + //if (result.status === 'BAD') toast.custom() console.log(data); - } catch (err) { - setError('root', {message: 'An error occurred.'}) - } + //setError('root', {message: 'An error occurred.'}) } return (
diff --git a/src/services/register.service.ts b/src/services/register.service.ts new file mode 100644 index 0000000..32d2f48 --- /dev/null +++ b/src/services/register.service.ts @@ -0,0 +1,14 @@ +'use client' + +import axios from "axios"; + + +async function doRegister(data: object) { + return await axios.post('http://localhost:3333/auth/register', data) + .then(function (response) { + console.log(response); + return response + }) +} + +export default doRegister; \ No newline at end of file