Files
arduino_api/server_api/models.py
2025-03-14 11:43:12 +02:00

45 lines
2.1 KiB
Python

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')