0xarchit's picture
added demo worker file and refactor code for minor improvements
9bf5220
import logging
import uuid
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession
from sqlalchemy.orm import sessionmaker
from Backend.database.models import Department, Member
logger = logging.getLogger(__name__)
async def seed_data(engine: AsyncEngine):
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
async with async_session() as session:
pwd_id = uuid.uuid4()
sanitation_id = uuid.uuid4()
traffic_id = uuid.uuid4()
departments = [
Department(
id=pwd_id,
name="Public Works Department",
code="PWD",
description="Roads, Potholes, Infrastructure",
default_sla_hours=48,
escalation_email="zrxarchit+pwd_head@gmail.com"
),
Department(
id=sanitation_id,
name="Sanitation Department",
code="SANITATION",
description="Garbage, Cleaning, Waste",
default_sla_hours=24,
escalation_email="zrxarchit+sanitation_head@gmail.com"
),
Department(
id=traffic_id,
name="Traffic Department",
code="TRAFFIC",
description="Signals, Signs, Illegal Parking",
default_sla_hours=12,
escalation_email="zrxarchit+traffic_head@gmail.com"
)
]
for dept in departments:
session.add(dept)
members = [
Member(
department_id=pwd_id,
name="Ramesh Kumar",
email="ramesh.pwd@city.gov",
role="officer",
city="New Delhi",
locality="Connaught Place",
max_workload=10
),
Member(
department_id=sanitation_id,
name="Suresh Singh",
email="suresh.sanitation@city.gov",
role="officer",
city="New Delhi",
locality="Karol Bagh",
max_workload=15
),
Member(
department_id=traffic_id,
name="Priya Sharma",
email="priya.traffic@city.gov",
role="officer",
city="New Delhi",
locality="Lajpat Nagar",
max_workload=12
)
]
for member in members:
session.add(member)
await session.commit()
logger.info("Seeded 3 departments and 3 members.")