from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from vmk_data_collector.models.property_type import PropertyType
PROPERTY_TYPES = [
{
"slug": "apartment",
"name": "Квартира",
"description": "Квартира в многоквартирном доме",
},
{"slug": "house", "name": "Дом", "description": "Частный дом"},
{"slug": "townhouse", "name": "Таунхаус", "description": "Таунхаус"},
{
"slug": "commercial",
"name": "Коммерческая недвижимость",
"description": "Коммерческая недвижимость",
},
{
"slug": "land",
"name": "Земельный участок",
"description": "Земельный участок",
},
{
"slug": "garage",
"name": "Гараж",
"description": "Гараж или парковочное место",
},
{"slug": "office", "name": "Офис", "description": "Офисное помещение"},
{"slug": "warehouse", "name": "Склад", "description": "Складское помещение"},
{
"slug": "retail",
"name": "Торговая площадь",
"description": "Торговое помещение",
},
{"slug": "cottage", "name": "Коттедж", "description": "Коттедж"},
{"slug": "room", "name": "Комната", "description": "Отдельная комната"},
{
"slug": "new_building",
"name": "Новострой",
"description": "Квартира в новострое",
},
]
DEAL_TYPES = [
{"slug": "sale", "name": "Продажа"},
{"slug": "rent_long", "name": "Долгосрочная аренда"},
{"slug": "rent_short", "name": "Краткосрочная аренда"},
]
async def seed_property_types(session: AsyncSession) -> None:
for pt in PROPERTY_TYPES:
result = await session.execute(
select(PropertyType).where(PropertyType.slug == pt["slug"])
)
existing = result.scalar_one_or_none()
if not existing:
session.add(PropertyType(**pt))
await session.commit()
async def seed_all(session: AsyncSession) -> None:
await seed_property_types(session)