Files
web/packages/trpc/lib/routers/user/utils/parsedUser.ts
Linus Flood 1668baf04b Merged in fix/getProfile (pull request #2950)
Fix/getProfile

* fix(mypages): do not fetch SAS data on overview page and use correct mfa value when masking personal data

* Merge branch 'master' into fix/getProfile

* feat(profile): revert and dont mask data :O


Approved-by: Anton Gunnarsson
2025-10-10 10:42:23 +00:00

55 lines
1.6 KiB
TypeScript

import * as maskValue from "@scandic-hotels/common/utils/maskValue"
import { countries } from "../../../constants/countries"
import { getFriendsMembership } from "../helpers"
import type { User } from "../../../types/user"
export function parsedUser(data: User, maskValues: boolean) {
const country = countries.find((c) => c.code === data.address?.countryCode)
const user = {
address: {
city: data.address?.city,
country: country?.name ?? "",
countryCode: data.address?.countryCode,
streetAddress: data.address?.streetAddress,
zipCode: data.address?.zipCode,
},
dateOfBirth: data.dateOfBirth,
email: data.email,
employmentDetails: data.employmentDetails,
firstName: data.firstName,
language: data.language,
lastName: data.lastName,
loyalty: data.loyalty,
membershipNumber: data.membershipNumber,
membership: data.loyalty ? getFriendsMembership(data.loyalty) : null,
name: `${data.firstName} ${data.lastName}`,
phoneNumber: data.phoneNumber,
profileId: data.profileId,
promotions: data.promotions || null,
} satisfies User
if (maskValues) {
if (user.address.city) {
user.address.city = maskValue.text(user.address.city)
}
if (user.address.streetAddress) {
user.address.streetAddress = maskValue.text(user.address.streetAddress)
}
user.address.zipCode = data.address?.zipCode
? maskValue.text(data.address.zipCode)
: ""
user.dateOfBirth = maskValue.all(user.dateOfBirth)
user.email = maskValue.email(user.email)
user.phoneNumber = user.phoneNumber ? maskValue.phone(user.phoneNumber) : ""
}
return user
}