from flask_sqlalchemy import SQLAlchemy from datetime import datetime db = SQLAlchemy() class Log(db.Model): id = db.Column(db.Integer, primary_key=True) hostname = db.Column(db.String(100), nullable=False) ip_address = db.Column(db.String(100), nullable=False) message = db.Column(db.String(500), nullable=False) timestamp = db.Column(db.DateTime, default=datetime.utcnow) relay1_status = db.Column(db.String(3), default='off') relay2_status = db.Column(db.String(3), default='off') relay3_status = db.Column(db.String(3), default='off') relay4_status = db.Column(db.String(3), default='off') input1_status = db.Column(db.String(3), default='off') input2_status = db.Column(db.String(3), default='off') input3_status = db.Column(db.String(3), default='off') input4_status = db.Column(db.String(3), default='off') mission1 = db.Column(db.String(100), default='') mission2 = db.Column(db.String(100), default='') mission3 = db.Column(db.String(100), default='') mission4 = db.Column(db.String(100), default='') class MirServerSettings(db.Model): id = db.Column(db.Integer, primary_key=True) ip_address = db.Column(db.String(100), nullable=False) user = db.Column(db.String(100), nullable=False) password = db.Column(db.String(100), nullable=False) auth_header = db.Column(db.String(500), nullable=False) class BoardSettings(db.Model): id = db.Column(db.Integer, primary_key=True) hostname = db.Column(db.String(100), nullable=False) mission1 = db.Column(db.String(100), nullable=False) mission2 = db.Column(db.String(100), nullable=False) mission3 = db.Column(db.String(100), nullable=False) mission4 = db.Column(db.String(100), nullable=False) class MissionStatus(db.Model): id = db.Column(db.Integer, primary_key=True) hostname = db.Column(db.String(100), nullable=False) mission_id = db.Column(db.String(100), nullable=False) mission_guid = db.Column(db.String(100), nullable=True) # Add this field status = db.Column(db.String(100), nullable=False, default='Pending')