From e66188b68143c3fa080dba150b9208a5875c07d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valdemar=20=C3=85storp=20Beere?= <valdemb@stud.ntnu.no> Date: Mon, 29 Apr 2024 08:50:58 +0200 Subject: [PATCH] refactor(store): Add getUserStreak in userStore --- src/stores/userStore.ts | 22 +++++++++++++++++++++- src/types/streak.ts | 4 ++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/types/streak.ts diff --git a/src/stores/userStore.ts b/src/stores/userStore.ts index fe31bd1..39c9197 100644 --- a/src/stores/userStore.ts +++ b/src/stores/userStore.ts @@ -4,6 +4,8 @@ import type { User } from '@/types/user' import router from '@/router' import type { AxiosError } from 'axios' import axios from 'axios' +import authInterceptor from "@/services/authInterceptor"; +import type {Streak} from "@/types/streak"; export const useUserStore = defineStore('user', () => { const defaultUser: User = { @@ -14,6 +16,7 @@ export const useUserStore = defineStore('user', () => { const user = ref<User>(defaultUser) const errorMessage = ref<string>('') + const streak = ref<Streak>() const register = async ( firstname: string, @@ -75,11 +78,28 @@ export const useUserStore = defineStore('user', () => { user.value = defaultUser router.push({ name: 'login' }) } + const getUserStreak = async () => { + try { + const response = await authInterceptor('/profile/streak') + if (response.data) { + streak.value = response.data + console.log('Fetched Challenges:', streak.value) + } else { + streak.value = undefined; + console.error('No challenge content found:', response.data) + } + } catch (error) { + console.error('Error fetching challenges:', error) + streak.value = undefined // Ensure challenges is always an array + } + } return { register, login, logout, - errorMessage + errorMessage, + getUserStreak, + streak, } }) diff --git a/src/types/streak.ts b/src/types/streak.ts new file mode 100644 index 0000000..79ac54f --- /dev/null +++ b/src/types/streak.ts @@ -0,0 +1,4 @@ +export interface Streak { + streakStart?: string, + streak?: number, +} \ No newline at end of file -- GitLab