From 371240c8856daf9d31ded655b2f1179839636b34 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 7 Jul 2026 16:11:32 +0000 Subject: [PATCH] =?UTF-8?q?The=20plan=20repository=20reports=20which=20pro?= =?UTF-8?q?perties=20already=20have=20a=20default=20plan=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- repositories/plan/plan_postgres_repository.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/repositories/plan/plan_postgres_repository.py b/repositories/plan/plan_postgres_repository.py index c2685ace4..aa1e30157 100644 --- a/repositories/plan/plan_postgres_repository.py +++ b/repositories/plan/plan_postgres_repository.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any from sqlalchemy import insert as _sa_insert -from sqlmodel import Session, col, update +from sqlmodel import Session, col, select, update from domain.modelling.plan import Plan from infrastructure.postgres.modelling import PlanModel, RecommendationModel @@ -46,7 +46,15 @@ class PlanPostgresRepository(PlanRepository): )[0] def property_ids_with_default_plans(self, property_ids: list[int]) -> set[int]: - raise NotImplementedError + rows = self._session.exec( + select(col(PlanModel.property_id)) + .distinct() + .where( + col(PlanModel.property_id).in_(property_ids), + col(PlanModel.is_default).is_(True), + ) + ).all() + return {int(row) for row in rows} def save_batch(self, requests: list[PlanSaveRequest]) -> list[int]: """Persist all Plans in three statements regardless of batch size.