diff --git a/src/client/pages/ZaakStatus/ZaakStatus.tsx b/src/client/pages/ZaakStatus/ZaakStatus.tsx index 99d88850a7..3ab213cc5f 100644 --- a/src/client/pages/ZaakStatus/ZaakStatus.tsx +++ b/src/client/pages/ZaakStatus/ZaakStatus.tsx @@ -20,7 +20,7 @@ import { useAppStateGetter, useAppStateReady } from '../../hooks/useAppState'; const ITEM_NOT_FOUND = 'not-found'; const STATE_ERROR = 'state-error'; -type ThemaQueryParam = 'vergunningen'; +type ThemaQueryParam = 'vergunningen' | 'toeristischeVerhuur'; type PageRouteResolver = { baseRoute: AppRoute; @@ -36,34 +36,39 @@ const pageRouteResolvers: PageRouteResolvers = { vergunningen: { baseRoute: AppRoutes.VERGUNNINGEN, getRoute: (detailPageItemId, appState) => { - if ( - isError(appState.VERGUNNINGEN) || - isError(appState.TOERISTISCHE_VERHUUR) - ) { + if (isError(appState.VERGUNNINGEN)) { return STATE_ERROR; } - if ( - !isLoading(appState.VERGUNNINGEN) && - !isLoading(appState.TOERISTISCHE_VERHUUR) - ) { - // Combine the toeristische verhuur vergunningen with the other vergunningen - const toeristischeVerhuurVergunningen = [ - ...Object.values(appState.TOERISTISCHE_VERHUUR.content || {}).flat(), - ]; - - const combined = [ - ...toeristischeVerhuurVergunningen, - ...(appState.VERGUNNINGEN.content || []), - ]; - + if (!isLoading(appState.VERGUNNINGEN)) { return ( - combined?.find( + appState.VERGUNNINGEN.content?.find( (vergunning) => vergunning.identifier === detailPageItemId )?.link.to ?? ITEM_NOT_FOUND ); } }, }, + toeristischeVerhuur: { + baseRoute: AppRoutes.TOERISTISCHE_VERHUUR, + getRoute: (detailPageItemId, appState) => { + if (isError(appState.TOERISTISCHE_VERHUUR)) { + return STATE_ERROR; + } + + if (!isLoading(appState.TOERISTISCHE_VERHUUR)) { + return ( + ( + appState.TOERISTISCHE_VERHUUR.content + ?.vakantieverhuurVergunningen || [] + ).find((toeristischeVerhuur) => { + if (toeristischeVerhuur.zaaknummer === detailPageItemId) { + return toeristischeVerhuur; + } + })?.link.to ?? ITEM_NOT_FOUND + ); + } + }, + }, }; function useNavigateToPage(queryParams: URLSearchParams) { diff --git a/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning-types.ts b/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning-types.ts index e8bc8c38d7..effc02aa14 100644 --- a/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning-types.ts +++ b/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning-types.ts @@ -88,7 +88,6 @@ export interface BBVergunning extends ZaakDetail { result: BBVergunningZaakResult; status: BBVergunningZaakStatus | BBVergunningZaakResult; zaaknummer: string; - identifier: string; documents: GenericDocument[]; title: 'Vergunning bed & breakfast'; } diff --git a/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning.ts b/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning.ts index 2234057acb..a6be9c89b6 100644 --- a/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning.ts +++ b/src/server/services/toeristische-verhuur/toeristische-verhuur-powerbrowser-bb-vergunning.ts @@ -461,7 +461,6 @@ function transformZaak(zaak: PBZaakRecord): BBVergunning { dateEndFormatted: dateEnd ? defaultDateFormat(dateEnd) : '-', result, id, - identifier: pbZaak.zaaknummer ?? zaak.id, zaaknummer: pbZaak.zaaknummer ?? zaak.id, link: { to: generatePath(AppRoutes['TOERISTISCHE_VERHUUR/VERGUNNING'], { diff --git a/src/server/services/toeristische-verhuur/toeristische-verhuur-types.ts b/src/server/services/toeristische-verhuur/toeristische-verhuur-types.ts index 10add21934..6e1f8fcc38 100644 --- a/src/server/services/toeristische-verhuur/toeristische-verhuur-types.ts +++ b/src/server/services/toeristische-verhuur/toeristische-verhuur-types.ts @@ -29,7 +29,6 @@ export interface LVVRegistratie { registrationNumber: string; agreementDate: string | null; agreementDateFormatted: string | null; - identifier?: string; } export interface LVVRegistratiesSourceData { @@ -53,7 +52,6 @@ export interface VakantieverhuurVergunning extends ZaakDetail { status: string; title: 'Vergunning vakantieverhuur'; zaaknummer: string; - identifier: string; } export type ToeristischeVerhuurVergunning = diff --git a/src/server/services/toeristische-verhuur/toeristische-verhuur-vakantieverhuur-vergunning.ts b/src/server/services/toeristische-verhuur/toeristische-verhuur-vakantieverhuur-vergunning.ts index fa47d05792..e620de59c1 100644 --- a/src/server/services/toeristische-verhuur/toeristische-verhuur-vakantieverhuur-vergunning.ts +++ b/src/server/services/toeristische-verhuur/toeristische-verhuur-vakantieverhuur-vergunning.ts @@ -132,7 +132,6 @@ export function transformVakantieverhuurVergunningen( adres: vergunning.location ?? '-', result: vergunning.decision as VakantieverhuurVergunning['result'], zaaknummer: vergunning.identifier, - identifier: vergunning.identifier, steps, documents: [], fetchDocumentsUrl: vergunning.documentsUrl, @@ -172,7 +171,7 @@ export async function fetchVakantieverhuurVergunningen( id: ':id', }); default: - return AppRoutes.TOERISTISCHE_VERHUUR; + return AppRoutes['TOERISTISCHE_VERHUUR']; } }, filter: (vergunning): vergunning is VakantieverhuurVergunningDecos => diff --git a/src/server/services/toeristische-verhuur/toeristische-verhuur.test.ts b/src/server/services/toeristische-verhuur/toeristische-verhuur.test.ts index 8a560c39cf..604b7a4b89 100644 --- a/src/server/services/toeristische-verhuur/toeristische-verhuur.test.ts +++ b/src/server/services/toeristische-verhuur/toeristische-verhuur.test.ts @@ -256,7 +256,6 @@ describe('Toeristische verhuur service', () => { result: 'Verleend', id: 'Z-23-2130506', zaaknummer: 'Z/23/2130506', - identifier: 'Z/23/2130506', heeftOvergangsRecht: false, link: { to: '/toeristische-verhuur/vergunning/bed-and-breakfast/Z-23-2130506',