46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
|
|
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,
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
|