Files
web/apps/scandic-web/utils/user.ts
Chuma Mcphoy (We Ahead) 7eb8deb208 Merged in feat/LOY-232-DTMC-API-INTEGRATION (pull request #2454)
feat(LOY-232): DTMC API Integration

* feat(LOY-232): DTMC API Integration

* feat(LOY-232): use employment data in team member card

* refactor(LOY-232): remove static data, return employment details in parsed response & fix tests

* refactor(LOY-232): improve DTMC API Linking error control flow + make res type safe

* fix(LOY-232): remove unused utils

* fix(LOY-232): error vars


Approved-by: Christian Andolf
Approved-by: Erik Tiekstra
2025-07-01 07:03:59 +00:00

51 lines
1.3 KiB
TypeScript

import {
type MembershipLevel,
MembershipLevelEnum,
} from "@scandic-hotels/common/constants/membershipLevels"
import type { User } from "@scandic-hotels/trpc/types/user"
export function isHighestMembership(
membershipLevel: MembershipLevel | undefined
) {
return membershipLevel == MembershipLevelEnum.L7
}
export function getInitials(
firstName: User["firstName"],
lastName: User["lastName"]
) {
if (!firstName || !lastName) return null
const firstInitial = firstName.charAt(0).toUpperCase()
const lastInitial = lastName.charAt(0).toUpperCase()
return `${firstInitial}${lastInitial}`
}
export function getSteppedUpLevel(
currentValue: MembershipLevel,
stepsUp: number
): MembershipLevel {
const values = Object.values(MembershipLevelEnum)
const currentIndex = values.indexOf(currentValue as MembershipLevelEnum)
if (currentIndex === -1 || currentIndex === values.length - 1) {
return currentValue
}
return values[currentIndex + stepsUp]
}
export function isEmployeeLinked(user: User): boolean {
return !!user.employmentDetails?.employeeId
}
export function getEmployeeInfo(user: User) {
const employment = user.employmentDetails
if (!employment) return null
return {
employeeId: employment.employeeId,
location: employment.location,
country: employment.country,
retired: employment.retired,
}
}