Merged in feat/sw-1975-get-profile-v2 (pull request #1651)

Use get Profile V2 endpoint

Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-04-08 06:26:00 +00:00
parent d282437a3d
commit c56a0b8ce9
18 changed files with 208 additions and 168 deletions

View File

@@ -23,7 +23,6 @@ import {
import {
creditCardsSchema,
getFriendTransactionsSchema,
getMembershipCardsSchema,
getStaysSchema,
getUserSchema,
} from "./output"
@@ -37,7 +36,6 @@ import type {
} from "@/types/components/tracking"
import { Transactions } from "@/types/enums/transactions"
import type { User } from "@/types/user"
import type { MembershipLevel } from "@/constants/membershipLevels"
// OpenTelemetry metrics: User
const meter = metrics.getMeter("trpc.user")
@@ -46,10 +44,6 @@ const getVerifiedUserSuccessCounter = meter.createCounter(
"trpc.user.get-success"
)
const getVerifiedUserFailCounter = meter.createCounter("trpc.user.get-fail")
const getProfileSuccessCounter = meter.createCounter(
"trpc.user.profile-success"
)
const getProfileFailCounter = meter.createCounter("trpc.user.profile-fail")
// OpenTelemetry metrics: Stays
const getPreviousStaysCounter = meter.createCounter("trpc.user.stays.previous")
@@ -95,7 +89,7 @@ export const getVerifiedUser = cache(
}
getVerifiedUserCounter.add(1)
console.info("api.user.profile getVerifiedUser start", JSON.stringify({}))
const apiResponse = await api.get(api.endpoints.v1.Profile.profile, {
const apiResponse = await api.get(api.endpoints.v2.Profile.profile, {
headers: {
Authorization: `Bearer ${session.token.access_token}`,
},
@@ -186,8 +180,9 @@ export function parsedUser(data: User, isMFA: boolean) {
firstName: data.firstName,
language: data.language,
lastName: data.lastName,
membership: getFriendsMembership(data.memberships),
memberships: data.memberships,
membershipNumber: data.membershipNumber,
membership: getFriendsMembership(data.loyalty),
loyalty: data.loyalty,
name: `${data.firstName} ${data.lastName}`,
phoneNumber: data.phoneNumber,
profileId: data.profileId,
@@ -343,7 +338,7 @@ export const userQueryRouter = router({
return null
}
const membershipLevel = getFriendsMembership(verifiedData.data.memberships)
const membershipLevel = getFriendsMembership(verifiedData.data.loyalty)
return membershipLevel
}),
safeMembershipLevel: safeProtectedProcedure.query(async function ({ ctx }) {
@@ -356,7 +351,7 @@ export const userQueryRouter = router({
return null
}
const membershipLevel = getFriendsMembership(verifiedData.data.memberships)
const membershipLevel = getFriendsMembership(verifiedData.data.loyalty)
return membershipLevel
}),
userTrackingInfo: safeProtectedProcedure.query(async function ({ ctx }) {
@@ -429,14 +424,14 @@ export const userQueryRouter = router({
getPreviousStaysSuccessCounter.add(1)
console.info("api.booking.stays.past success", JSON.stringify({}))
const membership = getFriendsMembership(verifiedUserData.data.memberships)
const membership = getFriendsMembership(verifiedUserData.data.loyalty)
const loggedInUserTrackingData: TrackingSDKUserData = {
loginStatus: "logged in",
loginType: ctx.session.token.loginType as LoginType,
memberId: verifiedUserData.data.profileId,
membershipNumber: membership?.membershipNumber,
memberLevel: membership?.membershipLevel as MembershipLevel,
memberLevel: membership?.membershipLevel,
noOfNightsStayed: verifiedPreviousStaysData.data.links?.totalCount ?? 0,
totalPointsAvailableToSpend: membership?.currentPoints,
loginAction: "login success",
@@ -795,23 +790,6 @@ export const userQueryRouter = router({
return null
}
const verifiedData = getMembershipCardsSchema.safeParse(
userData.data.memberships
)
if (!verifiedData.success) {
getProfileFailCounter.add(1, {
error_type: "validation_error",
error: JSON.stringify(verifiedData),
})
console.error(
"api.profile validation error",
JSON.stringify({ error: verifiedData })
)
return null
}
getProfileSuccessCounter.add(1)
return getMembershipCards(verifiedData.data)
return getMembershipCards(userData.data.loyalty)
}),
})