create user store

This commit is contained in:
2026-02-02 22:47:37 +01:00
parent 0e6caca9ab
commit 191960da2d
2 changed files with 29 additions and 2 deletions

View File

@@ -3,11 +3,13 @@ import { useRoute } from 'vue-router'
import { Board } from '@/services/Board' import { Board } from '@/services/Board'
import { User } from '@/services/User' import { User } from '@/services/User'
import { Spending } from '@/services/Spending' import { Spending } from '@/services/Spending'
import { useUserStore } from './userStore'
export const useBoardStore = defineStore('boardStore', () => { export const useBoardStore = defineStore('boardStore', () => {
const route = useRoute() const route = useRoute()
const boards = new Map<string, Board>() const boards = new Map<string, Board>()
let testBoard: Board | undefined let testBoard: Board | undefined
const userStore = useUserStore()
function createBoard(name: string): Board { function createBoard(name: string): Board {
const newBoard = new Board(name) const newBoard = new Board(name)
@@ -22,11 +24,11 @@ export const useBoardStore = defineStore('boardStore', () => {
} else { } else {
if (testBoard === undefined) { if (testBoard === undefined) {
testBoard = new Board('Grill and Chill') testBoard = new Board('Grill and Chill')
const elias = new User('Elias') const elias = userStore.getUser('Elias') || new User('Elias')
elias.addSpending(new Spending('Burger', 1230)) elias.addSpending(new Spending('Burger', 1230))
elias.addSpending(new Spending('Kaffee', 510)) elias.addSpending(new Spending('Kaffee', 510))
testBoard.addUser(elias) testBoard.addUser(elias)
const max = new User('Max') const max = userStore.getUser('Max') || new User('Max')
max.addSpending(new Spending('Omlett', 1822)) max.addSpending(new Spending('Omlett', 1822))
max.addSpending(new Spending('Kaffee', 3073)) max.addSpending(new Spending('Kaffee', 3073))
testBoard.addUser(max) testBoard.addUser(max)

View File

@@ -0,0 +1,25 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { User } from '@/services/User'
export const useUserStore = defineStore('userStore', () => {
const users = ref<Array<User>>([])
function addUser(user: User) {
users.value.push(user)
}
function removeUser(userName: string) {
users.value = users.value.filter((user: User) => user.name !== userName)
}
function getUser(userName: string) {
return users.value.find((user: User) => user.name === userName)
}
function getAllUsers() {
return users.value
}
return { addUser, removeUser, getUser, getAllUsers }
})