diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Overview/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Overview/index.tsx index 81da66825..59ed47169 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/index.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/index.tsx @@ -2,7 +2,7 @@ import { Divider } from "@scandic-hotels/design-system/Divider" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import { env } from "@/env/server" -import { getProfileWithExtendedPartnerData } from "@/lib/trpc/memoizedRequests" +import { getProfile } from "@/lib/trpc/memoizedRequests" import { TeamMemberCardTrigger } from "@/components/DigitalTeamMemberCard/Trigger" import DigitalTeamMemberCard from "@/components/MyPages/DigitalTeamMemberCard" @@ -30,7 +30,7 @@ export default async function Overview({ title, }: AccountPageComponentProps) { const intl = await getIntl() - const user = await getProfileWithExtendedPartnerData() + const user = await getProfile() if (!user || "error" in user) { return null } diff --git a/packages/trpc/lib/routers/user/query/index.ts b/packages/trpc/lib/routers/user/query/index.ts index 94bbe1fd5..18407e4c4 100644 --- a/packages/trpc/lib/routers/user/query/index.ts +++ b/packages/trpc/lib/routers/user/query/index.ts @@ -54,21 +54,46 @@ export const userQueryRouter = router({ return parsedUser(data.data, ctx.isMFA) }), - getSafely: safeProtectedProcedure.query(async function getUser({ ctx }) { - if (!isValidSession(ctx.session)) { - return null - } + getSafely: safeProtectedProcedure + .use(async function (opts) { + return opts.next({ + ctx: { + ...opts.ctx, + isMFA: + !!opts.ctx.session && + !!opts.ctx.session.token.mfa_scope && + !!opts.ctx.session.token.mfa_expires_at && + opts.ctx.session.token.mfa_expires_at > Date.now(), + }, + }) + }) + .query(async function getUser({ ctx }) { + if (!isValidSession(ctx.session)) { + return null + } - const data = await getVerifiedUser({ session: ctx.session }) + const data = await getVerifiedUser({ session: ctx.session }) - if (!data || "error" in data) { - return null - } + if (!data || "error" in data) { + return null + } - return parsedUser(data.data, true) - }), - getWithExtendedPartnerData: safeProtectedProcedure.query( - async function getUser({ ctx }) { + return parsedUser(data.data, ctx.isMFA) + }), + getWithExtendedPartnerData: safeProtectedProcedure + .use(async function (opts) { + return opts.next({ + ctx: { + ...opts.ctx, + isMFA: + !!opts.ctx.session && + !!opts.ctx.session.token.mfa_scope && + !!opts.ctx.session.token.mfa_expires_at && + opts.ctx.session.token.mfa_expires_at > Date.now(), + }, + }) + }) + .query(async function getUser({ ctx }) { if (!isValidSession(ctx.session)) { return null } @@ -82,9 +107,8 @@ export const userQueryRouter = router({ return null } - return parsedUser(data.data, true) - } - ), + return parsedUser(data.data, ctx.isMFA) + }), name: safeProtectedProcedure.query(async function ({ ctx }) { if (!isValidSession(ctx.session)) { return null