From 60fa2674acfa143e128bc0bd9a1d82c4e1c85293 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 29 May 2026 16:48:08 +0000 Subject: [PATCH 1/5] Initial plan From cc29a1716f66c6445ea9d508d6b0368922b3cdf0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 29 May 2026 16:54:55 +0000 Subject: [PATCH 2/5] Add SupersededAtUtc to ArrangementPolicy and filter from New Arrangement UI --- .../Resources/Policies/IPoliciesResource.cs | 3 ++- src/caretogether-pwa/src/GeneratedClient.ts | 4 ++++ .../ArrangementsSection/ArrangementsSection.tsx | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/CareTogether.Core/Resources/Policies/IPoliciesResource.cs b/src/CareTogether.Core/Resources/Policies/IPoliciesResource.cs index 9adbcb95..e04a2356 100644 --- a/src/CareTogether.Core/Resources/Policies/IPoliciesResource.cs +++ b/src/CareTogether.Core/Resources/Policies/IPoliciesResource.cs @@ -214,7 +214,8 @@ public sealed record ArrangementPolicy( // TODO: See TODO in ReferralPolicy ImmutableList? RequiredSetupActions = null, ImmutableList? RequiredMonitoringActionsNew = null, // TODO: Rename to RequiredMonitoringActions after migration (see TODO in ReferralPolicy) - ImmutableList? RequiredCloseoutActions = null + ImmutableList? RequiredCloseoutActions = null, + DateTime? SupersededAtUtc = null ) { public ImmutableList RequiredSetupActions_PRE_MIGRATION = diff --git a/src/caretogether-pwa/src/GeneratedClient.ts b/src/caretogether-pwa/src/GeneratedClient.ts index 78ab2f53..149cb06d 100644 --- a/src/caretogether-pwa/src/GeneratedClient.ts +++ b/src/caretogether-pwa/src/GeneratedClient.ts @@ -2926,6 +2926,7 @@ export class ArrangementPolicy implements IArrangementPolicy { requiredSetupActions?: RequirementDefinition[] | undefined; requiredMonitoringActionsNew?: MonitoringRequirement[] | undefined; requiredCloseoutActions?: RequirementDefinition[] | undefined; + supersededAtUtc?: Date | undefined; constructor(data?: IArrangementPolicy) { if (data) { @@ -2999,6 +3000,7 @@ export class ArrangementPolicy implements IArrangementPolicy { for (let item of _data["requiredCloseoutActions"]) this.requiredCloseoutActions!.push(RequirementDefinition.fromJS(item)); } + this.supersededAtUtc = _data["supersededAtUtc"] ? new Date(_data["supersededAtUtc"].toString()) : undefined; } } @@ -3063,6 +3065,7 @@ export class ArrangementPolicy implements IArrangementPolicy { for (let item of this.requiredCloseoutActions) data["requiredCloseoutActions"].push(item.toJSON()); } + data["supersededAtUtc"] = this.supersededAtUtc ? this.supersededAtUtc.toISOString() : undefined; return data; } } @@ -3080,6 +3083,7 @@ export interface IArrangementPolicy { requiredSetupActions?: RequirementDefinition[] | undefined; requiredMonitoringActionsNew?: MonitoringRequirement[] | undefined; requiredCloseoutActions?: RequirementDefinition[] | undefined; + supersededAtUtc?: Date | undefined; } export class MonitoringRequirement implements IMonitoringRequirement { diff --git a/src/caretogether-pwa/src/V1Cases/Arrangements/ArrangementsSection/ArrangementsSection.tsx b/src/caretogether-pwa/src/V1Cases/Arrangements/ArrangementsSection/ArrangementsSection.tsx index c9b21c8a..6543c915 100644 --- a/src/caretogether-pwa/src/V1Cases/Arrangements/ArrangementsSection/ArrangementsSection.tsx +++ b/src/caretogether-pwa/src/V1Cases/Arrangements/ArrangementsSection/ArrangementsSection.tsx @@ -115,7 +115,11 @@ export function ArrangementsSection({ }} > {v1Case && - policy.referralPolicy?.arrangementPolicies?.map( + policy.referralPolicy?.arrangementPolicies + ?.filter( + (arrangementPolicy) => !arrangementPolicy.supersededAtUtc + ) + .map( (arrangementPolicy) => (