'use client'; import type { AuthSessionDTO } from '@/lib/types/generated/AuthSessionDTO'; import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; /** * Session Presenter * * Converts AuthSessionDTO to SessionViewModel for client-side presentation. * Pure and deterministic - no side effects. */ export class SessionPresenter { /** * Present session data as a view model */ present(sessionDto: AuthSessionDTO | null): SessionViewModel | null { if (!sessionDto || !sessionDto.user) { return null; } return new SessionViewModel(sessionDto.user); } }