From 37b5a3a6e5b065becd2bea8cddadc006576c228f Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Fri, 5 Jun 2026 14:07:28 +0000 Subject: [PATCH] move domain code out of datatypes/domain --- backend/magic_plan/address_matcher.py | 2 +- backend/magic_plan/handler.py | 2 +- backend/magic_plan/tests/test_address_matcher.py | 2 +- datatypes/magicplan/domain/__init__.py | 0 datatypes/magicplan/domain/tests/__init__.py | 0 {datatypes => domain}/magicplan/__init__.py | 0 {datatypes => domain}/magicplan/api/__init__.py | 0 {datatypes => domain}/magicplan/api/response.py | 0 .../magicplan/domain => domain/magicplan}/mapper.py | 6 +++--- .../magicplan/domain => domain/magicplan}/models.py | 0 infrastructure/magic_plan/magic_plan_client.py | 2 +- infrastructure/postgres/magic_plan_tables.py | 2 +- orchestration/magic_plan_orchestrator.py | 6 +++--- .../magic_plan/magic_plan_postgres_repository.py | 2 +- repositories/magic_plan/magic_plan_repository.py | 2 +- .../api/tests => tests/domain/magicplan}/__init__.py | 0 .../tests => tests/domain/magicplan}/test_mapper.py | 10 +++++----- .../tests => tests/domain/magicplan}/test_response.py | 4 ++-- .../magic_plan/test_magic_plan_client.py | 2 +- .../magic_plan/test_magic_plan_orchestrator.py | 6 +++--- .../magic_plan/test_magic_plan_postgres_repository.py | 2 +- 21 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 datatypes/magicplan/domain/__init__.py delete mode 100644 datatypes/magicplan/domain/tests/__init__.py rename {datatypes => domain}/magicplan/__init__.py (100%) rename {datatypes => domain}/magicplan/api/__init__.py (100%) rename {datatypes => domain}/magicplan/api/response.py (100%) rename {datatypes/magicplan/domain => domain/magicplan}/mapper.py (95%) rename {datatypes/magicplan/domain => domain/magicplan}/models.py (100%) rename {datatypes/magicplan/api/tests => tests/domain/magicplan}/__init__.py (100%) rename {datatypes/magicplan/domain/tests => tests/domain/magicplan}/test_mapper.py (95%) rename {datatypes/magicplan/api/tests => tests/domain/magicplan}/test_response.py (96%) diff --git a/backend/magic_plan/address_matcher.py b/backend/magic_plan/address_matcher.py index 3477c535..68f2474b 100644 --- a/backend/magic_plan/address_matcher.py +++ b/backend/magic_plan/address_matcher.py @@ -1,7 +1,7 @@ import re from typing import Optional -from datatypes.magicplan.api.response import PlanSummary +from domain.magicplan.api.response import PlanSummary _UK_POSTCODE_RE = re.compile(r"[A-Z]{1,2}\d[A-Z\d]?\s*\d[A-Z]{2}", re.IGNORECASE) diff --git a/backend/magic_plan/handler.py b/backend/magic_plan/handler.py index 50598028..838ddc3b 100644 --- a/backend/magic_plan/handler.py +++ b/backend/magic_plan/handler.py @@ -4,7 +4,7 @@ from backend.app.config import get_settings from infrastructure.magic_plan.magic_plan_client import MagicPlanClient from orchestration.magic_plan_orchestrator import MagicPlanService from backend.magic_plan.magic_plan_trigger_request import MagicPlanTriggerRequest -from datatypes.magicplan.domain.models import Plan +from domain.magicplan.models import Plan from backend.app.db.models.tasks import SourceEnum from backend.utils.subtasks import task_handler from utils.logger import setup_logger diff --git a/backend/magic_plan/tests/test_address_matcher.py b/backend/magic_plan/tests/test_address_matcher.py index 347a49ef..1e308011 100644 --- a/backend/magic_plan/tests/test_address_matcher.py +++ b/backend/magic_plan/tests/test_address_matcher.py @@ -1,4 +1,4 @@ -from datatypes.magicplan.api.response import PlanSummary +from domain.magicplan.api.response import PlanSummary from backend.magic_plan.address_matcher import find_matching_plan, _extract_postcode diff --git a/datatypes/magicplan/domain/__init__.py b/datatypes/magicplan/domain/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/datatypes/magicplan/domain/tests/__init__.py b/datatypes/magicplan/domain/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/datatypes/magicplan/__init__.py b/domain/magicplan/__init__.py similarity index 100% rename from datatypes/magicplan/__init__.py rename to domain/magicplan/__init__.py diff --git a/datatypes/magicplan/api/__init__.py b/domain/magicplan/api/__init__.py similarity index 100% rename from datatypes/magicplan/api/__init__.py rename to domain/magicplan/api/__init__.py diff --git a/datatypes/magicplan/api/response.py b/domain/magicplan/api/response.py similarity index 100% rename from datatypes/magicplan/api/response.py rename to domain/magicplan/api/response.py diff --git a/datatypes/magicplan/domain/mapper.py b/domain/magicplan/mapper.py similarity index 95% rename from datatypes/magicplan/domain/mapper.py rename to domain/magicplan/mapper.py index e5d3c9d1..4a440b8c 100644 --- a/datatypes/magicplan/domain/mapper.py +++ b/domain/magicplan/mapper.py @@ -1,8 +1,8 @@ from typing import Optional -import datatypes.magicplan.api.response as api -from datatypes.magicplan.api.response import MagicPlanPlan -from datatypes.magicplan.domain.models import ( +import domain.magicplan.api.response as api +from domain.magicplan.api.response import MagicPlanPlan +from domain.magicplan.models import ( Door, DoorVentilation, Floor, diff --git a/datatypes/magicplan/domain/models.py b/domain/magicplan/models.py similarity index 100% rename from datatypes/magicplan/domain/models.py rename to domain/magicplan/models.py diff --git a/infrastructure/magic_plan/magic_plan_client.py b/infrastructure/magic_plan/magic_plan_client.py index bf50a6f8..71be4209 100644 --- a/infrastructure/magic_plan/magic_plan_client.py +++ b/infrastructure/magic_plan/magic_plan_client.py @@ -1,6 +1,6 @@ import requests -from datatypes.magicplan.api.response import MagicPlanPlan, PlanSummary, PlansListResponse +from domain.magicplan.api.response import MagicPlanPlan, PlanSummary, PlansListResponse _BASE_URL = "https://cloud.magicplan.app/api/v2" diff --git a/infrastructure/postgres/magic_plan_tables.py b/infrastructure/postgres/magic_plan_tables.py index 6623f6b1..6672d4e4 100644 --- a/infrastructure/postgres/magic_plan_tables.py +++ b/infrastructure/postgres/magic_plan_tables.py @@ -4,7 +4,7 @@ from typing import ClassVar, Optional from sqlmodel import Field, SQLModel -from datatypes.magicplan.domain.models import ( +from domain.magicplan.models import ( Door, DoorVentilation, Floor, diff --git a/orchestration/magic_plan_orchestrator.py b/orchestration/magic_plan_orchestrator.py index 8b48380e..71805b23 100644 --- a/orchestration/magic_plan_orchestrator.py +++ b/orchestration/magic_plan_orchestrator.py @@ -3,9 +3,9 @@ import json from datetime import datetime, timezone from typing import Optional, cast -from datatypes.magicplan.api.response import MagicPlanPlan, PlanSummary -from datatypes.magicplan.domain.mapper import map_plan -from datatypes.magicplan.domain.models import Plan +from domain.magicplan.api.response import MagicPlanPlan, PlanSummary +from domain.magicplan.mapper import map_plan +from domain.magicplan.models import Plan from backend.app.db.connection import db_session from backend.app.db.models.uploaded_file import ( diff --git a/repositories/magic_plan/magic_plan_postgres_repository.py b/repositories/magic_plan/magic_plan_postgres_repository.py index 57d9ff25..ee8d1bc8 100644 --- a/repositories/magic_plan/magic_plan_postgres_repository.py +++ b/repositories/magic_plan/magic_plan_postgres_repository.py @@ -6,7 +6,7 @@ from sqlalchemy import delete, select from sqlalchemy.dialects.postgresql import insert as pg_insert from sqlmodel import Session, col -from datatypes.magicplan.domain.models import Floor, Plan +from domain.magicplan.models import Floor, Plan from infrastructure.postgres.magic_plan_tables import ( MagicPlanDoorModel, MagicPlanDoorVentilationModel, diff --git a/repositories/magic_plan/magic_plan_repository.py b/repositories/magic_plan/magic_plan_repository.py index d4dd6d60..e404fad1 100644 --- a/repositories/magic_plan/magic_plan_repository.py +++ b/repositories/magic_plan/magic_plan_repository.py @@ -2,7 +2,7 @@ from __future__ import annotations from abc import ABC, abstractmethod -from datatypes.magicplan.domain.models import Plan +from domain.magicplan.models import Plan class MagicPlanRepository(ABC): diff --git a/datatypes/magicplan/api/tests/__init__.py b/tests/domain/magicplan/__init__.py similarity index 100% rename from datatypes/magicplan/api/tests/__init__.py rename to tests/domain/magicplan/__init__.py diff --git a/datatypes/magicplan/domain/tests/test_mapper.py b/tests/domain/magicplan/test_mapper.py similarity index 95% rename from datatypes/magicplan/domain/tests/test_mapper.py rename to tests/domain/magicplan/test_mapper.py index ce0b7e39..29492662 100644 --- a/datatypes/magicplan/domain/tests/test_mapper.py +++ b/tests/domain/magicplan/test_mapper.py @@ -4,16 +4,16 @@ from typing import Any import pytest -import datatypes.magicplan.api.response as api -from datatypes.magicplan.api.response import MagicPlanPlan, Symbol, Vec3, WallItem -from datatypes.magicplan.domain.mapper import ( +import domain.magicplan.api.response as api +from domain.magicplan.api.response import MagicPlanPlan, Symbol, Vec3, WallItem +from domain.magicplan.mapper import ( _map_window, # pyright: ignore[reportPrivateUsage] map_address, map_plan, ) -from datatypes.magicplan.domain.models import Plan +from domain.magicplan.models import Plan -FIXTURE_DIR = Path(__file__).parents[4] / "tests" / "magic_plan" +FIXTURE_DIR = Path(__file__).parents[3] / "tests" / "magic_plan" PLAN_ID = "72efd2e0-b2b9-48cd-b82e-41f5b3166c9a" diff --git a/datatypes/magicplan/api/tests/test_response.py b/tests/domain/magicplan/test_response.py similarity index 96% rename from datatypes/magicplan/api/tests/test_response.py rename to tests/domain/magicplan/test_response.py index 24aa88e2..90a57a5b 100644 --- a/datatypes/magicplan/api/tests/test_response.py +++ b/tests/domain/magicplan/test_response.py @@ -4,9 +4,9 @@ from typing import Any import pytest -from datatypes.magicplan.api.response import MagicPlanPlan, PlansListResponse +from domain.magicplan.api.response import MagicPlanPlan, PlansListResponse -FIXTURE_DIR = Path(__file__).parents[4] / "tests" / "magic_plan" +FIXTURE_DIR = Path(__file__).parents[3] / "tests" / "magic_plan" PLAN_ID = "72efd2e0-b2b9-48cd-b82e-41f5b3166c9a" diff --git a/tests/infrastructure/magic_plan/test_magic_plan_client.py b/tests/infrastructure/magic_plan/test_magic_plan_client.py index f667d9d5..7f96b612 100644 --- a/tests/infrastructure/magic_plan/test_magic_plan_client.py +++ b/tests/infrastructure/magic_plan/test_magic_plan_client.py @@ -7,7 +7,7 @@ import pytest import requests from infrastructure.magic_plan.magic_plan_client import MagicPlanClient -from datatypes.magicplan.api.response import MagicPlanPlan, PlanSummary +from domain.magicplan.api.response import MagicPlanPlan, PlanSummary FIXTURE_DIR = Path(__file__).parents[2] / "magic_plan" BASE_URL = "https://cloud.magicplan.app/api/v2" diff --git a/tests/orchestration/magic_plan/test_magic_plan_orchestrator.py b/tests/orchestration/magic_plan/test_magic_plan_orchestrator.py index e33a978a..8cac6b3a 100644 --- a/tests/orchestration/magic_plan/test_magic_plan_orchestrator.py +++ b/tests/orchestration/magic_plan/test_magic_plan_orchestrator.py @@ -4,9 +4,9 @@ from unittest.mock import ANY, MagicMock, patch import pytest -from datatypes.magicplan.api.response import MagicPlanPlan, PlanSummary -from datatypes.magicplan.domain.mapper import map_plan -from datatypes.magicplan.domain.models import Plan +from domain.magicplan.api.response import MagicPlanPlan, PlanSummary +from domain.magicplan.mapper import map_plan +from domain.magicplan.models import Plan from backend.app.db.models.uploaded_file import ( FileSourceEnum, diff --git a/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py b/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py index 7ae75724..a3ac828f 100644 --- a/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py +++ b/tests/repositories/magic_plan/test_magic_plan_postgres_repository.py @@ -3,7 +3,7 @@ from __future__ import annotations from sqlalchemy import Engine from sqlmodel import Session, select -from datatypes.magicplan.domain.models import ( +from domain.magicplan.models import ( Door, DoorVentilation, Floor,