refactor: delete shadow contracts DTOs, parse the generated shape for real (Step 2/8)
dashboard-view.dto.ts and brp-address.dto.ts each shadowed a generated type: DashboardViewDto was declared twice (hand-written with required fields, generated with everything optional), reconciled only by structural typing. Both are gone. dashboard-view.adapter.ts now imports the generated DashboardViewDto/ RegistrationDto/PersonDto/RegistrationStatusDto directly. Its parse does real work now instead of an identity copy: parseRegistrationStatus validates each status variant's required fields per-tag (the generated type flattens the union, so a Geregistreerd row missing herregistratieDatum previously passed the boundary unnoticed — it no longer does). HerregistratieDecisions moves from contracts/ to domain/registration.ts, so no contracts-typed value reaches a page. brp.adapter.ts drops its own BrpAddressDto shadow the same way. Hand-written contracts/*.dto.ts count: 4 -> 2 (duo-diplomas.dto.ts and stamdata.dto.ts remain — both parse fields codegen can't type at all). Part of the dashboard-readability refactor (see the approved plan). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@ import { Injectable, computed, inject, signal } from '@angular/core';
|
||||
import { RemoteData, fromResource, map } from '@shared/application/remote-data';
|
||||
import { Aantekening } from '../domain/registration';
|
||||
import { BigProfile } from '../domain/big-profile';
|
||||
import { HerregistratieDecisions } from '../contracts/dashboard-view.dto';
|
||||
import { HerregistratieDecisions } from '../domain/registration';
|
||||
import { BigRegisterAdapter } from '../infrastructure/big-register.adapter';
|
||||
import {
|
||||
DashboardView,
|
||||
|
||||
Reference in New Issue
Block a user