refactor: create page specific tRPC requests

This commit is contained in:
Arvid Norlin
2024-04-19 14:10:04 +02:00
parent 990b84e0cb
commit b21c2640c2
3 changed files with 35 additions and 12 deletions

View File

@@ -6,17 +6,38 @@ import { Lang } from "@/constants/languages"
import GetAccountPage from "@/lib/graphql/Query/AccountPage.graphql"
import type { GetAccountPageData } from "@/types/requests/myPages/accountpage"
export const accountPageQueryRouter = router({
get: publicProcedure
.input(z.object({ uri: z.string(), lang: z.nativeEnum(Lang) }))
getOverview: publicProcedure
.input(z.object({ lang: z.nativeEnum(Lang) }))
.query(async ({ input }) => {
const url = "/my-pages/overview"
const accountPage = await request<GetAccountPageData>(
GetAccountPage,
{
locale: input.lang,
url: input.uri,
url,
},
{
tags: [`${input.uri}-${input.lang}`],
tags: [`${url}-${input.lang}`],
}
)
if (accountPage.data && accountPage.data.all_account_page.total) {
return accountPage.data.all_account_page.items[0]
}
throw badRequestError()
}),
getBenefits: publicProcedure
.input(z.object({ lang: z.nativeEnum(Lang) }))
.query(async ({ input }) => {
const url = "/my-pages/overview"
const accountPage = await request<GetAccountPageData>(
GetAccountPage,
{
locale: input.lang,
url,
},
{
tags: [`${url}-${input.lang}`],
}
)
if (accountPage.data && accountPage.data.all_account_page.total) {