/** * Login View Data Builder * * Transforms LoginPageDTO into ViewData for the login template. * Deterministic, side-effect free, no business logic. */ import { LoginPageDTO } from '@/lib/services/auth/types/LoginPageDTO'; import { LoginViewData } from '../../view-data/LoginViewData'; import { ViewData } from '@/lib/contracts/view-data/ViewData'; import { error } from 'console'; import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder"; export class LoginViewDataBuilder implements ViewDataBuilder { build(input: any): any { return LoginViewDataBuilder.build(input); } static build( static build(apiDto: LoginPageDTO): LoginViewData { return { returnTo: apiDto.returnTo, hasInsufficientPermissions: apiDto.hasInsufficientPermissions, showPassword: false, showErrorDetails: false, formState: { fields: { email: { value: '', error: undefined, touched: false, validating: false }, password: { value: '', error: undefined, touched: false, validating: false }, rememberMe: { value: false, error: undefined, touched: false, validating: false }, }, isValid: true, isSubmitting: false, submitError: undefined, submitCount: 0, }, isSubmitting: false, submitError: undefined, }; } }