diff --git a/src/models.py b/src/models.py index f4a1d1257c8af40e5de4a095f70e7e395136380f..e3e1f281c1bc59bed181cd8e73eb8d79ffb2256b 100644 --- a/src/models.py +++ b/src/models.py @@ -147,6 +147,7 @@ class PlayLog(db.Model): return "Track [track_start: %s, track_title: %s]" % (str(self.track_start), str(self.track_title)) + class PlayLogSchema(ma.SQLAlchemyAutoSchema): """ Schema for playlog entries. @@ -156,6 +157,7 @@ class PlayLogSchema(ma.SQLAlchemyAutoSchema): sqla_session = db.session + class TrackSchema(ma.SQLAlchemySchema): """ Schema for trackservice entries. @@ -170,3 +172,62 @@ class TrackSchema(ma.SQLAlchemySchema): "track_title" ) + + +class ActivityLog(db.Model): + """ + Table holding a log of play-out source active and sync states. + """ + __tablename__ = 'activity_log' + + # Primary Key + log_time = Column(DateTime, primary_key=True) + + # Columns + source_number = Column(Integer) + is_synced = Column(Boolean) + + + def __init__(self, source_number): + """ + Initializes a activity entry + """ + self.log_time = datetime.datetime.now() + self.source_number = source_number + self.is_synced = False + + + def save(self): + db.session.add(self) + db.session.commit() + + + +class HealthHistory(db.Model): + """ + Table holding an history of health information for sources. + """ + __tablename__ = 'health_history' + + # Primary Key + log_time = Column(DateTime, primary_key=True) + + # Columns + source_number = Column(Integer) + is_healthy = Column(Boolean) + health_info = Column(String(2048)) + + + def __init__(self, data): + """ + Initializes an health entry. + """ + self.log_time = datetime.datetime.now() + self.source_number = source_number + + + def save(self): + db.session.add(self) + db.session.commit() + +