create user store
This commit is contained in:
@@ -3,11 +3,13 @@ import { useRoute } from 'vue-router'
|
||||
import { Board } from '@/services/Board'
|
||||
import { User } from '@/services/User'
|
||||
import { Spending } from '@/services/Spending'
|
||||
import { useUserStore } from './userStore'
|
||||
|
||||
export const useBoardStore = defineStore('boardStore', () => {
|
||||
const route = useRoute()
|
||||
const boards = new Map<string, Board>()
|
||||
let testBoard: Board | undefined
|
||||
const userStore = useUserStore()
|
||||
|
||||
function createBoard(name: string): Board {
|
||||
const newBoard = new Board(name)
|
||||
@@ -22,11 +24,11 @@ export const useBoardStore = defineStore('boardStore', () => {
|
||||
} else {
|
||||
if (testBoard === undefined) {
|
||||
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('Kaffee', 510))
|
||||
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('Kaffee', 3073))
|
||||
testBoard.addUser(max)
|
||||
|
||||
25
frontend/src/stores/userStore.ts
Normal file
25
frontend/src/stores/userStore.ts
Normal 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 }
|
||||
})
|
||||
Reference in New Issue
Block a user