From a350b0273137fac10baf3f486ec2c0743267f766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20K=C3=BChl?= Date: Sun, 6 Apr 2025 17:09:20 +0200 Subject: [PATCH] adapted axios service to new backend layout --- app/src/data/pitchers.ts | 4 +- app/src/services/AuthHeader.ts | 2 +- app/src/services/BullpenSessionService.ts | 10 +-- app/src/services/PitcherService.ts | 34 -------- app/src/services/TokenService.ts | 14 +-- app/src/services/UserService.ts | 14 +++ app/src/store/auth.ts | 11 ++- app/src/types/{Pitcher.ts => User.ts} | 8 +- app/src/views/Home.vue | 13 ++- app/src/views/Login.vue | 2 +- app/src/views/PitcherList.vue | 10 +-- backend/controllers/auth.controller.js | 101 ++++++++++------------ backend/routes/auth.routes.js | 2 +- 13 files changed, 106 insertions(+), 119 deletions(-) delete mode 100644 app/src/services/PitcherService.ts create mode 100644 app/src/services/UserService.ts rename app/src/types/{Pitcher.ts => User.ts} (52%) diff --git a/app/src/data/pitchers.ts b/app/src/data/pitchers.ts index edbc19e..71c929f 100644 --- a/app/src/data/pitchers.ts +++ b/app/src/data/pitchers.ts @@ -1,6 +1,6 @@ -import Pitcher from "@/types/Pitcher"; +import User from "@/types/User"; -export const pitchers: Map = new Map([ +export const pitchers: Map = new Map([ [ 1, { diff --git a/app/src/services/AuthHeader.ts b/app/src/services/AuthHeader.ts index d328574..9d40283 100644 --- a/app/src/services/AuthHeader.ts +++ b/app/src/services/AuthHeader.ts @@ -1,5 +1,5 @@ export default function authHeader(): any { - const user = JSON.parse(localStorage.getItem('user') || '""'); + const user = JSON.parse(localStorage.getItem('auth') || '""'); if (user && user.accessToken) { // return { Authorization: 'Bearer ' + user.accessToken }; // for Spring Boot back-end diff --git a/app/src/services/BullpenSessionService.ts b/app/src/services/BullpenSessionService.ts index fe415f2..d11ec7c 100644 --- a/app/src/services/BullpenSessionService.ts +++ b/app/src/services/BullpenSessionService.ts @@ -1,10 +1,10 @@ import BullpenPitch from "@/types/BullpenPitch"; -import Pitcher from "@/types/Pitcher"; +import User from "@/types/User"; import PitchType from "@/types/PitchType"; export class BullpenSessionService { private static instance: BullpenSessionService; - private static nullPitcher: Pitcher = { + private static nullPitcher: User = { id: 0, firstName: "", lastName: "", @@ -32,7 +32,7 @@ export class BullpenSessionService { return BullpenSessionService.instance; } - public startSession(pitcher: Pitcher): void { + public startSession(pitcher: User): void { this.pitcher = pitcher; this.pitches = []; this.currentPitch = this.createPitch(); @@ -68,7 +68,7 @@ export class BullpenSessionService { this.currentPitch = this.createPitch(); } - public getPitcher(): Pitcher { + public getPitcher(): User { return this.pitcher; } @@ -87,7 +87,7 @@ export class BullpenSessionService { } } private pitches: BullpenPitch[] = []; - private pitcher: Pitcher = BullpenSessionService.nullPitcher; + private pitcher: User = BullpenSessionService.nullPitcher; private currentPitch: BullpenPitch; } diff --git a/app/src/services/PitcherService.ts b/app/src/services/PitcherService.ts deleted file mode 100644 index 87fa4fc..0000000 --- a/app/src/services/PitcherService.ts +++ /dev/null @@ -1,34 +0,0 @@ -import Pitcher from "@/types/Pitcher"; -import api from './Api'; - -class PitcherService { - private static instance: PitcherService; - - private constructor() {} - - // Static method to get the instance of the service - public static getInstance(): PitcherService { - if (!PitcherService.instance) { - PitcherService.instance = new PitcherService(); - } - return PitcherService.instance; - } - - async getAllPitchers(): Promise { - const users = await api.get('/users'); - return users.data; - } - - async getPitcher(id: number): Promise { - const pitcher = await api.get(`/users/${id}`); - return pitcher.data; - // const pitcher = pitchers.get(id); - // if (pitcher !== undefined) { - // return pitcher; - // } else { - // return Promise.reject(); - // } - } -} - -export const pitcherService = PitcherService.getInstance(); diff --git a/app/src/services/TokenService.ts b/app/src/services/TokenService.ts index bd2c013..077341c 100644 --- a/app/src/services/TokenService.ts +++ b/app/src/services/TokenService.ts @@ -2,32 +2,32 @@ import UserInfo from '@/types/UserInfo'; class TokenService { getLocalRefreshToken() { - const user = JSON.parse(localStorage.getItem("user") || '""'); + const user = JSON.parse(localStorage.getItem("auth") || '""'); return user?.refreshToken; } getLocalAccessToken() { - const user = JSON.parse(localStorage.getItem("user")|| '""'); + const user = JSON.parse(localStorage.getItem("auth")|| '""'); return user?.accessToken; } updateLocalAccessToken(token: string) { - const user: UserInfo = JSON.parse(localStorage.getItem("user")|| '""'); + const user: UserInfo = JSON.parse(localStorage.getItem("auth")|| '""'); user.accessToken = token; - localStorage.setItem("user", JSON.stringify(user)); + localStorage.setItem("auth", JSON.stringify(user)); } getUser() { - return JSON.parse(localStorage.getItem("user")|| '""'); + return JSON.parse(localStorage.getItem("auth")|| '""'); } setUser(user: UserInfo) { console.log(JSON.stringify(user)); - localStorage.setItem("user", JSON.stringify(user)); + localStorage.setItem("auth", JSON.stringify(user)); } removeUser() { - localStorage.removeItem("user"); + localStorage.removeItem("auth"); } } diff --git a/app/src/services/UserService.ts b/app/src/services/UserService.ts new file mode 100644 index 0000000..e60ffe7 --- /dev/null +++ b/app/src/services/UserService.ts @@ -0,0 +1,14 @@ +import User from "@/types/User"; +import api from './Api'; + +class UserService { + async getAllUsers(): Promise { + return (await api.get('/users')).data; + } + + async getUser(id: number): Promise { + return (await api.get(`/users/${id}`)).data; + } +} + +export default new UserService(); diff --git a/app/src/store/auth.ts b/app/src/store/auth.ts index e469f86..d321a9a 100644 --- a/app/src/store/auth.ts +++ b/app/src/store/auth.ts @@ -1,16 +1,17 @@ import AuthService from '@/services/AuthService' -import Pitcher from "@/types/Pitcher"; +import User from "@/types/User"; import { Module, ActionContext } from 'vuex'; import { RootState } from './index'; import TokenService from "@/services/TokenService"; +import UserService from "@/services/UserService"; export interface AuthState { isAuthenticated: boolean; - user: Pitcher | null; + user: User | null; } -const user = JSON.parse(localStorage.getItem('user') || '""'); +const user = JSON.parse(localStorage.getItem('auth') || '""'); const initialState = user ? { isAuthenticated: true, user } @@ -55,7 +56,9 @@ const auth: Module = { mutations: { loginSuccess(state, user) { state.isAuthenticated = true; - state.user = user; + UserService.getUser(user.id).then((user: User) => { + state.user = user; + }); }, loginFailure(state) { state.isAuthenticated = false; diff --git a/app/src/types/Pitcher.ts b/app/src/types/User.ts similarity index 52% rename from app/src/types/Pitcher.ts rename to app/src/types/User.ts index 03c4f69..a29789a 100644 --- a/app/src/types/Pitcher.ts +++ b/app/src/types/User.ts @@ -1,10 +1,12 @@ -export default interface Pitcher { +export default interface User { id: number, firstName: string, lastName: string, + gender: string, + handedness: string, + weight: number, + height: number, dateOfBirth: Date, - email: string, createdAt: Date, updatedAt: Date, - password: string } diff --git a/app/src/views/Home.vue b/app/src/views/Home.vue index 113c3de..4877844 100644 --- a/app/src/views/Home.vue +++ b/app/src/views/Home.vue @@ -1,7 +1,7 @@