Merged in fix/make-user-loyalty-optional (pull request #2044)
fix: Make loyalty optional on user * Optional user loyalty * merge Approved-by: Joakim Jäderberg Approved-by: Linus Flood
This commit is contained in:
committed by
Joakim Jäderberg
parent
cbbde963dc
commit
60af31762b
@@ -17,11 +17,11 @@ export const getPrimaryLinks = cache(
|
||||
userLoyalty,
|
||||
}: {
|
||||
lang: Lang
|
||||
userLoyalty: UserLoyalty
|
||||
userLoyalty?: UserLoyalty
|
||||
}): Promise<MyPagesLink[]> => {
|
||||
const intl = await getIntl({ lang })
|
||||
|
||||
const showSASLink = isScandicXSASActive(userLoyalty)
|
||||
const showSASLink = userLoyalty ? isScandicXSASActive(userLoyalty) : false
|
||||
const [showTeamMemberLink] = await safeTry(showTeamMemberCard())
|
||||
|
||||
const menuItems: MyPagesLink[] = [
|
||||
|
||||
@@ -103,7 +103,7 @@ export const getUserSchema = z
|
||||
})
|
||||
.optional()
|
||||
.nullable(),
|
||||
loyalty: userLoyaltySchema,
|
||||
loyalty: userLoyaltySchema.optional(),
|
||||
}),
|
||||
type: z.string(),
|
||||
}),
|
||||
@@ -111,7 +111,9 @@ export const getUserSchema = z
|
||||
.transform((apiResponse) => {
|
||||
return {
|
||||
...apiResponse.data.attributes,
|
||||
membership: getFriendsMembership(apiResponse.data.attributes.loyalty),
|
||||
membership: apiResponse.data.attributes.loyalty
|
||||
? getFriendsMembership(apiResponse.data.attributes.loyalty)
|
||||
: null,
|
||||
name: `${apiResponse.data.attributes.firstName} ${apiResponse.data.attributes.lastName}`,
|
||||
}
|
||||
})
|
||||
|
||||
@@ -105,7 +105,11 @@ export const userQueryRouter = router({
|
||||
}),
|
||||
membershipLevel: protectedProcedure.query(async function ({ ctx }) {
|
||||
const verifiedData = await getVerifiedUser({ session: ctx.session })
|
||||
if (!verifiedData || "error" in verifiedData) {
|
||||
if (
|
||||
!verifiedData ||
|
||||
"error" in verifiedData ||
|
||||
!verifiedData.data.loyalty
|
||||
) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -118,7 +122,11 @@ export const userQueryRouter = router({
|
||||
}
|
||||
const verifiedData = await getVerifiedUser({ session: ctx.session })
|
||||
|
||||
if (!verifiedData || "error" in verifiedData) {
|
||||
if (
|
||||
!verifiedData ||
|
||||
"error" in verifiedData ||
|
||||
!verifiedData.data.loyalty
|
||||
) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -151,7 +159,11 @@ export const userQueryRouter = router({
|
||||
try {
|
||||
const verifiedUserData = await getVerifiedUser({ session: ctx.session })
|
||||
|
||||
if (!verifiedUserData || "error" in verifiedUserData) {
|
||||
if (
|
||||
!verifiedUserData ||
|
||||
"error" in verifiedUserData ||
|
||||
!verifiedUserData.data.loyalty
|
||||
) {
|
||||
metricsUserTrackingInfo.success({
|
||||
reason: "invalid user data",
|
||||
data: notLoggedInUserTrackingData,
|
||||
@@ -395,7 +407,7 @@ export const userQueryRouter = router({
|
||||
membershipCards: protectedProcedure.query(async function ({ ctx }) {
|
||||
const userData = await getVerifiedUser({ session: ctx.session })
|
||||
|
||||
if (!userData || "error" in userData) {
|
||||
if (!userData || "error" in userData || !userData.data.loyalty) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ export function parsedUser(data: User, isMFA: boolean) {
|
||||
language: data.language,
|
||||
lastName: data.lastName,
|
||||
membershipNumber: data.membershipNumber,
|
||||
membership: getFriendsMembership(data.loyalty),
|
||||
membership: data.loyalty ? getFriendsMembership(data.loyalty) : null,
|
||||
loyalty: data.loyalty,
|
||||
name: `${data.firstName} ${data.lastName}`,
|
||||
phoneNumber: data.phoneNumber,
|
||||
|
||||
Reference in New Issue
Block a user