refactor and restructure pinia store and trpc routers + add members list to account store

This commit is contained in:
Michael Dausmann
2023-04-05 00:28:30 +10:00
parent 10b0d6da3d
commit f2bbe8596a
12 changed files with 214 additions and 119 deletions

35
stores/auth.store.ts Normal file
View File

@@ -0,0 +1,35 @@
import { defineStore } from "pinia"
import { FullDBUser, MembershipWithAccount } from "~~/lib/services/user.account.service"
interface State {
dbUser?: FullDBUser
activeMembership: MembershipWithAccount | null
}
export const useAuthStore = defineStore('auth', {
state: (): State => {
return {
activeMembership: null
}
},
actions: {
async initUser() {
if(!this.dbUser || !this.activeMembership){
const { $client } = useNuxtApp();
const { dbUser } = await $client.auth.getDBUser.query();
if(dbUser){
this.dbUser = dbUser;
if(dbUser.memberships.length > 0){
this.activeMembership = dbUser.memberships[0];
}
}
}
},
async changeActiveMembership(membership: MembershipWithAccount) {
if(membership !== this.activeMembership){
this.activeMembership = membership;
}
},
}
});