Merged in feat/3614-basicInfo (pull request #3427)

feat(SW-3614): use new loyalty prop in basicProfile

* feat(SW-3614): use new loyalty prop in basicProfile

* PR fixes


Approved-by: Matilda Landström
This commit is contained in:
Linus Flood
2026-01-15 14:02:28 +00:00
parent b9d134bca6
commit 7639daf792
12 changed files with 83 additions and 46 deletions

View File

@@ -2,7 +2,7 @@ import { z } from "zod"
import { countriesMap } from "../../constants/countries"
import { imageSchema } from "../../routers/hotels/schemas/image"
import { getFriendsMembership } from "./helpers"
import { getFriendsMembership, scandicMembershipTypes } from "./helpers"
const scandicFriendsTier = z.enum(["L1", "L2", "L3", "L4", "L5", "L6", "L7"])
const sasEurobonusTier = z.enum(["EBB", "EBS", "EBG", "EBD", "EBP"])
@@ -23,7 +23,7 @@ const otherMembershipSchema = z
export const sasMembershipSchema = z
.object({
type: z.literal("SAS_EB"),
type: z.literal(scandicMembershipTypes.SAS_EB),
tier: sasEurobonusTier,
nextTier: sasEurobonusTier.nullish(),
spendablePoints: z.number().nullish(),
@@ -43,7 +43,7 @@ export const sasMembershipSchema = z
export const friendsMembershipSchema = z
.object({
type: z.literal("SCANDIC_NATIVE"),
type: z.literal(scandicMembershipTypes.SCANDIC_NATIVE),
tier: scandicFriendsTier,
nextTier: scandicFriendsTier.nullish(),
pointsToNextTier: z.number().nullish(),
@@ -140,8 +140,6 @@ export const getBasicUserSchema = z.object({
lastName: z.string(),
phoneNumber: z.string().optional(),
profileId: z.string().optional(),
membershipNumber: z.string(),
tier: scandicFriendsTier,
address: z
.object({
city: z.string().optional(),
@@ -152,6 +150,21 @@ export const getBasicUserSchema = z.object({
})
.optional()
.nullable(),
loyalty: z
.object({
tier: scandicFriendsTier,
tierExpires: z.string(),
memberships: z.array(
z.object({
membershipType: z
.nativeEnum(scandicMembershipTypes)
.catch(scandicMembershipTypes.OTHER),
membershipNumber: z.string(),
})
),
})
.optional()
.nullable(),
})
export const creditCardSchema = z