Assist_Design/apps/bff/src/infra/utils/user-mapper.util.ts

46 lines
1.2 KiB
TypeScript
Raw Normal View History

import type { User } from "@customer-portal/domain";
import type { User as PrismaUser } from "@prisma/client";
export function mapPrismaUserToSharedUser(user: PrismaUser): User {
return {
id: user.id,
email: user.email,
firstName: user.firstName || undefined,
lastName: user.lastName || undefined,
company: user.company || undefined,
phone: user.phone || undefined,
mfaEnabled: !!user.mfaSecret,
emailVerified: user.emailVerified,
createdAt: user.createdAt.toISOString(),
updatedAt: user.updatedAt.toISOString(),
};
}
export function mapPrismaUserToEnhancedBase(user: PrismaUser): {
id: string;
email: string;
firstName?: string;
lastName?: string;
company?: string;
phone?: string;
mfaEnabled: boolean;
emailVerified: boolean;
createdAt: Date;
updatedAt: Date;
} {
return {
id: user.id,
email: user.email,
firstName: user.firstName || undefined,
lastName: user.lastName || undefined,
company: user.company || undefined,
phone: user.phone || undefined,
mfaEnabled: !!user.mfaSecret,
emailVerified: user.emailVerified,
createdAt: user.createdAt,
updatedAt: user.updatedAt,
};
}