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

View File

@@ -4,14 +4,16 @@
*/
import { createNuxtApiHandler } from 'trpc-nuxt'
import { publicProcedure, router } from '~/server/trpc/trpc'
import { router } from '~/server/trpc/trpc'
import { createContext } from '~~/server/trpc/context';
import { notesRouter } from '~~/server/trpc/routers/notes.router';
import { userAccountRouter } from '~~/server/trpc/routers/user.account.router';
import { authRouter } from '~~/server/trpc/routers/auth.router';
import { accountRouter } from '~~/server/trpc/routers/account.router';
export const appRouter = router({
notes: notesRouter,
userAccount: userAccountRouter,
auth: authRouter,
account: accountRouter,
})
// export only the type definition of the API

View File

@@ -1,15 +1,9 @@
import UserAccountService from '~~/lib/services/user.account.service';
import { protectedProcedure, router, adminProcedure } from '../trpc'
import { router, adminProcedure } from '../trpc'
import { ACCOUNT_ACCESS } from '@prisma/client';
import { z } from 'zod';
export const userAccountRouter = router({
getDBUser: protectedProcedure
.query(({ ctx }) => {
return {
dbUser: ctx.dbUser,
}
}),
export const accountRouter = router({
changeAccountName: adminProcedure
.input(z.object({ account_id: z.number(), new_name: z.string() }))
.query(async ({ ctx, input }) => {
@@ -49,7 +43,7 @@ export const userAccountRouter = router({
membership,
}
}),
claimOwnershipOfAccount: adminProcedure
claimOwnershipOfAccount: adminProcedure
.input(z.object({ account_id: z.number() }))
.query(async ({ ctx, input }) => {
const uaService = new UserAccountService();
@@ -59,4 +53,14 @@ export const userAccountRouter = router({
membership,
}
}),
getAccountMembers: adminProcedure
.input(z.object({ account_id: z.number() }))
.query(async ({ ctx, input }) => {
const uaService = new UserAccountService();
const memberships = await uaService.getAccountMembers(input.account_id);
return {
memberships,
}
}),
})

View File

@@ -0,0 +1,10 @@
import { protectedProcedure, router } from '../trpc'
export const authRouter = router({
getDBUser: protectedProcedure
.query(({ ctx }) => {
return {
dbUser: ctx.dbUser,
}
}),
})