Merged in feat/SW-1810-prevent-starting-link-flow-when-linked (pull request #1469)
Prevent SAS link flow when already linked * Implement check for checking sas_eb membership when starting link flow Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -4,7 +4,7 @@ import * as api from "@/lib/api"
|
||||
import { getVerifiedUser } from "@/server/routers/user/query"
|
||||
import { router, safeProtectedServiceProcedure } from "@/server/trpc"
|
||||
|
||||
import { getMembership } from "@/utils/user"
|
||||
import { getFriendsMembership } from "@/utils/user"
|
||||
|
||||
import {
|
||||
addPackageInput,
|
||||
@@ -67,7 +67,7 @@ async function getMembershipNumber(
|
||||
return undefined
|
||||
}
|
||||
|
||||
const membership = getMembership(verifiedUser.data.memberships)
|
||||
const membership = getFriendsMembership(verifiedUser.data.memberships)
|
||||
return membership?.membershipNumber
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import { z } from "zod"
|
||||
|
||||
import { countriesMap } from "@/constants/countries"
|
||||
|
||||
import { getMembership, scandicMemberships } from "@/utils/user"
|
||||
import { getFriendsMembership, scandicMemberships } from "@/utils/user"
|
||||
|
||||
import { imageSchema } from "../hotels/schemas/image"
|
||||
|
||||
@@ -18,11 +18,10 @@ const commonMembershipSchema = z.object({
|
||||
tierExpirationDate: z.string().optional(),
|
||||
})
|
||||
|
||||
const toLowerCaseString = z.string().transform((s) => s.toLowerCase())
|
||||
const membershipType = (membershipType: scandicMemberships) =>
|
||||
z
|
||||
.string()
|
||||
toLowerCaseString
|
||||
// The memberships enum is in lower case so this makes sure it will match regardless of casing in the API response.
|
||||
.transform((s) => s.toLowerCase())
|
||||
.pipe(z.literal(membershipType))
|
||||
|
||||
const friendsMembershipSchema = z
|
||||
@@ -35,7 +34,7 @@ const friendsMembershipSchema = z
|
||||
|
||||
const otherMembershipSchema = z
|
||||
.object({
|
||||
membershipType: z.string(),
|
||||
membershipType: toLowerCaseString,
|
||||
membershipNumber: z.string().optional(),
|
||||
memberSince: z.string().optional(),
|
||||
})
|
||||
@@ -75,7 +74,7 @@ export const getUserSchema = z
|
||||
.transform((apiResponse) => {
|
||||
return {
|
||||
...apiResponse.data.attributes,
|
||||
membership: getMembership(apiResponse.data.attributes.memberships),
|
||||
membership: getFriendsMembership(apiResponse.data.attributes.memberships),
|
||||
name: `${apiResponse.data.attributes.firstName} ${apiResponse.data.attributes.lastName}`,
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
|
||||
import { cache } from "@/utils/cache"
|
||||
import * as maskValue from "@/utils/maskValue"
|
||||
import { getMembership, getMembershipCards } from "@/utils/user"
|
||||
import { getFriendsMembership, getMembershipCards } from "@/utils/user"
|
||||
|
||||
import {
|
||||
friendTransactionsInput,
|
||||
@@ -184,7 +184,7 @@ export function parsedUser(data: User, isMFA: boolean) {
|
||||
firstName: data.firstName,
|
||||
language: data.language,
|
||||
lastName: data.lastName,
|
||||
membership: getMembership(data.memberships),
|
||||
membership: getFriendsMembership(data.memberships),
|
||||
memberships: data.memberships,
|
||||
name: `${data.firstName} ${data.lastName}`,
|
||||
phoneNumber: data.phoneNumber,
|
||||
@@ -341,7 +341,7 @@ export const userQueryRouter = router({
|
||||
return null
|
||||
}
|
||||
|
||||
const membershipLevel = getMembership(verifiedData.data.memberships)
|
||||
const membershipLevel = getFriendsMembership(verifiedData.data.memberships)
|
||||
return membershipLevel
|
||||
}),
|
||||
safeMembershipLevel: safeProtectedProcedure.query(async function ({ ctx }) {
|
||||
@@ -354,7 +354,7 @@ export const userQueryRouter = router({
|
||||
return null
|
||||
}
|
||||
|
||||
const membershipLevel = getMembership(verifiedData.data.memberships)
|
||||
const membershipLevel = getFriendsMembership(verifiedData.data.memberships)
|
||||
return membershipLevel
|
||||
}),
|
||||
userTrackingInfo: safeProtectedProcedure.query(async function ({ ctx }) {
|
||||
@@ -425,7 +425,7 @@ export const userQueryRouter = router({
|
||||
getPreviousStaysSuccessCounter.add(1)
|
||||
console.info("api.booking.stays.past success", JSON.stringify({}))
|
||||
|
||||
const membership = getMembership(verifiedUserData.data.memberships)
|
||||
const membership = getFriendsMembership(verifiedUserData.data.memberships)
|
||||
|
||||
const loggedInUserTrackingData: TrackingSDKUserData = {
|
||||
loginStatus: "logged in",
|
||||
|
||||
Reference in New Issue
Block a user