from app.core.extensions import db from app.core.models import Subnet, Server, App, Port from app.core.auth import User # Import User from auth module import json def seed_database(): """Add sample data to the database""" # Create a default subnet if none exists if Subnet.query.count() == 0: subnet = Subnet( cidr="192.168.1.0/24", location="Office", auto_scan=True, active_hosts=json.dumps([]), ) db.session.add(subnet) # Create a sample server server = Server( hostname="server1", ip_address="192.168.1.10", subnet=subnet, documentation="# Server 1\n\nThis is a sample server.", ) db.session.add(server) # Create a sample app app = App( name="Web App", server=server, documentation="# Welcome to Web App\n\nThis is a sample application.", ) db.session.add(app) # Add some ports ports = [ Port(app=app, port_number=80, protocol="TCP", description="HTTP"), Port(app=app, port_number=443, protocol="TCP", description="HTTPS"), ] db.session.add_all(ports) # Create a default user if none exists if User.query.count() == 0: admin = User(username="admin", email="admin@example.com", is_admin=True) admin.set_password("admin") db.session.add(admin) try: db.session.commit() print("Database seeded successfully") except Exception as e: db.session.rollback() print(f"Error seeding database: {e}")