Files
my-links/app/dtos/user_auth.ts
2025-12-10 05:12:14 +01:00

28 lines
602 B
TypeScript

import { UserDto } from '#dtos/user';
import User from '#models/user';
export class UserAuthDto {
declare isAuthenticated: boolean;
declare isAdmin: boolean;
declare user?: UserDto;
constructor(user: User | undefined) {
if (!user) return;
this.isAuthenticated = !!user;
this.isAdmin = user?.isAdmin;
this.user = user && new UserDto(user);
}
serialize(): {
isAuthenticated: boolean;
isAdmin: boolean;
user: ReturnType<UserDto['serialize']> | undefined;
} {
return {
isAuthenticated: this.isAuthenticated,
isAdmin: this.isAdmin,
user: this.user?.serialize(),
};
}
}