From 44747058d0154336727b58c9b4407cae02f02354 Mon Sep 17 00:00:00 2001 From: Christel Westerberg Date: Mon, 30 Sep 2024 09:52:33 +0200 Subject: [PATCH] fix: loyalty levels fetch in rsc for mobile menu fix: get loyalty level in rsc fix: typo --- .env.local.example | 2 +- .../Header/MainMenu/MyPagesMenu/index.tsx | 2 ++ .../MainMenu/MyPagesMenuContent/index.tsx | 10 +------- .../MainMenu/MyPagesMenuWrapper/index.tsx | 9 +++++++ .../MainMenu/MyPagesMobileMenu/index.tsx | 2 ++ env/server.ts | 4 +-- lib/api/endpoints.ts | 2 -- next-env.d.ts | 2 +- .../contentstack/loyaltyLevel/query.ts | 25 ++++++++++++++----- server/routers/user/mutation.ts | 2 +- types/components/header/myPagesMenu.ts | 2 ++ 11 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.env.local.example b/.env.local.example index 16e56afa3..ab0b7ee72 100644 --- a/.env.local.example +++ b/.env.local.example @@ -19,7 +19,7 @@ DESIGN_SYSTEM_ACCESS_TOKEN="" NEXTAUTH_REDIRECT_PROXY_URL="http://localhost:3000/api/web/auth" NEXTAUTH_SECRET="" REVALIDATE_SECRET="" -SALESFORCE_PREFRENCE_BASE_URL="https://mc31njyvc80x-2b9wg-24jxcj5yq.pub.sfmc-content.com/disfelgm4fv" +SALESFORCE_PREFERENCE_BASE_URL="https://cloud.emails.scandichotels.com/preference-center" SEAMLESS_LOGIN_DA="http://www.example.dk/updatelogin" SEAMLESS_LOGIN_DE="http://www.example.de/updatelogin" diff --git a/components/Header/MainMenu/MyPagesMenu/index.tsx b/components/Header/MainMenu/MyPagesMenu/index.tsx index a99f95a89..fb739399c 100644 --- a/components/Header/MainMenu/MyPagesMenu/index.tsx +++ b/components/Header/MainMenu/MyPagesMenu/index.tsx @@ -24,6 +24,7 @@ export default function MyPagesMenu({ membership, navigation, user, + membershipLevel, }: MyPagesMenuProps) { const intl = useIntl() const myPagesMenuRef = useRef(null) @@ -57,6 +58,7 @@ export default function MyPagesMenu({ {isMyPagesMenuOpen ? (
{user ? ( <> // NOTE: This file should not be edited -// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/server/routers/contentstack/loyaltyLevel/query.ts b/server/routers/contentstack/loyaltyLevel/query.ts index 58882dde7..c531fbebb 100644 --- a/server/routers/contentstack/loyaltyLevel/query.ts +++ b/server/routers/contentstack/loyaltyLevel/query.ts @@ -31,6 +31,17 @@ const getAllLoyaltyLevelFailCounter = meter.createCounter( "trpc.contentstack.loyaltyLevel.all-fail" ) +const getByLevelLoyaltyLevelCounter = meter.createCounter( + "trpc.contentstack.loyaltyLevel.byLevel" +) + +const getByLevelLoyaltyLevelSuccessCounter = meter.createCounter( + "trpc.contentstack.loyaltyLevel.byLevel-success" +) +const getByLevelLoyaltyLevelFailCounter = meter.createCounter( + "trpc.contentstack.loyaltyLevel.byLevel-fail" +) + export async function getAllLoyaltyLevels(ctx: Context) { getAllLoyaltyLevelCounter.add(1) @@ -87,7 +98,9 @@ export async function getAllLoyaltyLevels(ctx: Context) { } export async function getLoyaltyLevel(ctx: Context, level_id: MembershipLevel) { - getAllLoyaltyLevelCounter.add(1) + getByLevelLoyaltyLevelCounter.add(1, { + query: JSON.stringify({ lang: ctx.lang, level_id }), + }) const loyaltyLevelsConfigResponse = await request( GetLoyaltyLevel, @@ -103,10 +116,10 @@ export async function getLoyaltyLevel(ctx: Context, level_id: MembershipLevel) { !loyaltyLevelsConfigResponse.data || !loyaltyLevelsConfigResponse.data.all_loyalty_level.items.length ) { - getAllLoyaltyLevelFailCounter.add(1) + getByLevelLoyaltyLevelFailCounter.add(1) const notFoundError = notFound(loyaltyLevelsConfigResponse) console.error( - "contentstack.loyaltyLevels not found error", + "contentstack.loyaltyLevel not found error", JSON.stringify({ query: { lang: ctx.lang, level_id }, error: { code: notFoundError.code }, @@ -119,10 +132,10 @@ export async function getLoyaltyLevel(ctx: Context, level_id: MembershipLevel) { loyaltyLevelsConfigResponse.data ) if (!validatedLoyaltyLevels.success) { - getAllLoyaltyLevelFailCounter.add(1) + getByLevelLoyaltyLevelFailCounter.add(1) console.error(validatedLoyaltyLevels.error) console.error( - "contentstack.rewards validation error", + "contentstack.loyaltyLevel validation error", JSON.stringify({ query: { lang: ctx.lang, level_id }, error: validatedLoyaltyLevels.error, @@ -131,7 +144,7 @@ export async function getLoyaltyLevel(ctx: Context, level_id: MembershipLevel) { return null } - getAllLoyaltyLevelSuccessCounter.add(1) + getByLevelLoyaltyLevelSuccessCounter.add(1) return validatedLoyaltyLevels.data[0] } diff --git a/server/routers/user/mutation.ts b/server/routers/user/mutation.ts index 7e99c142f..005941090 100644 --- a/server/routers/user/mutation.ts +++ b/server/routers/user/mutation.ts @@ -197,7 +197,7 @@ export const userMutationRouter = router({ return null } - const preferencesLink = new URL(env.SALESFORCE_PREFRENCE_BASE_URL) + const preferencesLink = new URL(env.SALESFORCE_PREFERENCE_BASE_URL) preferencesLink.searchParams.set("subKey", validatedData.data.subscriberId) generatePreferencesLinkSuccessCounter.add(1) diff --git a/types/components/header/myPagesMenu.ts b/types/components/header/myPagesMenu.ts index 22cab2ca7..054dc41df 100644 --- a/types/components/header/myPagesMenu.ts +++ b/types/components/header/myPagesMenu.ts @@ -3,6 +3,7 @@ import { navigationQueryRouter } from "@/server/routers/contentstack/myPages/nav import { FriendsMembership } from "@/utils/user" import type { User } from "@/types/user" +import type { LoyaltyLevel } from "@/server/routers/contentstack/loyaltyLevel/output" type MyPagesNavigation = Awaited< ReturnType<(typeof navigationQueryRouter)["get"]> @@ -12,6 +13,7 @@ export interface MyPagesMenuProps { navigation: MyPagesNavigation user: Pick membership?: FriendsMembership | null + membershipLevel: LoyaltyLevel | null } export interface MyPagesMenuContentProps extends MyPagesMenuProps {