diff --git a/apps/scandic-web/app/[lang]/webview/(views)/layout.tsx b/apps/scandic-web/app/[lang]/webview/(views)/layout.tsx index 4c58e84c6..c7d688717 100644 --- a/apps/scandic-web/app/[lang]/webview/(views)/layout.tsx +++ b/apps/scandic-web/app/[lang]/webview/(views)/layout.tsx @@ -6,7 +6,7 @@ import { redirect } from "next/navigation" import { logger } from "@scandic-hotels/common/logger" import { safeTry } from "@scandic-hotels/common/utils/safeTry" -import { getProfile } from "@/lib/trpc/memoizedRequests" +import { getBasicProfile } from "@/lib/trpc/memoizedRequests" import { getIntl } from "@/i18n" @@ -15,7 +15,7 @@ export default async function Layout(props: LayoutProps<"/[lang]/webview">) { const { children } = props const intl = await getIntl() - const [user, error] = await safeTry(getProfile()) + const [user, error] = await safeTry(getBasicProfile()) if (!user && !error) { logger.debug(`[webview:page] unable to load user`) diff --git a/apps/scandic-web/components/ProtectedLayout.tsx b/apps/scandic-web/components/ProtectedLayout.tsx index 030dc8e3f..d8cf516c3 100644 --- a/apps/scandic-web/components/ProtectedLayout.tsx +++ b/apps/scandic-web/components/ProtectedLayout.tsx @@ -7,7 +7,7 @@ import { logger } from "@scandic-hotels/common/logger" import { safeTry } from "@scandic-hotels/common/utils/safeTry" import { isValidSession } from "@scandic-hotels/trpc/utils/session" -import { getProfile } from "@/lib/trpc/memoizedRequests" +import { getBasicProfile } from "@/lib/trpc/memoizedRequests" import { auth } from "@/auth" import { getIntl } from "@/i18n" @@ -35,7 +35,7 @@ export async function ProtectedLayout({ children }: React.PropsWithChildren) { redirect(redirectURL) } - const [user, error] = await safeTry(getProfile()) + const [user, error] = await safeTry(getBasicProfile()) if (error instanceof TRPCError && error.code === "INTERNAL_SERVER_ERROR") { return ( diff --git a/apps/scandic-web/lib/trpc/memoizedRequests/index.ts b/apps/scandic-web/lib/trpc/memoizedRequests/index.ts index cb2538622..114346e2a 100644 --- a/apps/scandic-web/lib/trpc/memoizedRequests/index.ts +++ b/apps/scandic-web/lib/trpc/memoizedRequests/index.ts @@ -17,6 +17,11 @@ export const getProfile = cache(async function getMemoizedProfile() { return caller.user.get() }) +export const getBasicProfile = cache(async function getMemoizedBasicProfile() { + const caller = await serverClient() + return caller.user.getBasic() +}) + export const getProfileSafely = cache( async function getMemoizedProfileSafely() { const caller = await serverClient() diff --git a/packages/trpc/lib/routers/user/query/index.ts b/packages/trpc/lib/routers/user/query/index.ts index c50878d6e..967b50d89 100644 --- a/packages/trpc/lib/routers/user/query/index.ts +++ b/packages/trpc/lib/routers/user/query/index.ts @@ -64,6 +64,14 @@ export const userQueryRouter = router({ return parsedUser(user, false) }), + getBasic: protectedProcedure.query(async function getBasicUser({ ctx }) { + const user = await ctx.getScandicBasicUser() + if (!user) { + throw notFound() + } + + return user + }), getWithExtendedPartnerData: safeProtectedProcedure.query( async function getUser({ ctx }) { if (!isValidSession(ctx.session)) {