#!/usr/bin/env python3
"""
Remove test SLMs and modems from PRODUCTION database
"""

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from backend.models import RosterUnit

# PRODUCTION database
PROD_DB_URL = "sqlite:///./data/seismo_fleet.db"

def remove_test_data():
    engine = create_engine(PROD_DB_URL, connect_args={"check_same_thread": False})
    SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
    db = SessionLocal()

    # IDs to remove
    test_slm_ids = ["nl43-001", "nl43-002", "nl53-001", "nl43-003"]
    test_modem_ids = ["modem-001", "modem-002", "modem-003", "modem-004"]

    all_test_ids = test_slm_ids + test_modem_ids

    removed = []
    for unit_id in all_test_ids:
        unit = db.query(RosterUnit).filter_by(id=unit_id).first()
        if unit:
            db.delete(unit)
            removed.append(unit_id)
            print(f"Removed {unit_id}")

    if removed:
        db.commit()
        print(f"\nRemoved {len(removed)} test units from PRODUCTION database")
    else:
        print("No test units found in production database")

    db.close()

if __name__ == "__main__":
    print("Removing test data from PRODUCTION database...")
    print("=" * 60)
    remove_test_data()
    print("=" * 60)
    print("Done! Production database is clean.")
