Initial import
This commit is contained in:
@@ -49,6 +49,18 @@ class Playlist(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
company_id = db.Column(db.Integer, db.ForeignKey("company.id"), nullable=False)
|
||||
name = db.Column(db.String(120), nullable=False)
|
||||
|
||||
# Optional schedule window in UTC.
|
||||
# - If both are NULL: playlist is always active.
|
||||
# - If start is set: playlist is active from start onward.
|
||||
# - If end is set: playlist is active until end.
|
||||
schedule_start = db.Column(db.DateTime, nullable=True)
|
||||
schedule_end = db.Column(db.DateTime, nullable=True)
|
||||
|
||||
# If true, this playlist's items take precedence over non-priority playlists
|
||||
# when multiple playlists are assigned to a display.
|
||||
is_priority = db.Column(db.Boolean, default=False, nullable=False)
|
||||
|
||||
created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
|
||||
|
||||
company = db.relationship("Company", back_populates="playlists")
|
||||
@@ -88,6 +100,8 @@ class Display(db.Model):
|
||||
name = db.Column(db.String(120), nullable=False)
|
||||
# Optional short description (e.g. "entrance", "office")
|
||||
description = db.Column(db.String(200), nullable=True)
|
||||
# Transition animation between slides: none|fade|slide
|
||||
transition = db.Column(db.String(20), nullable=True)
|
||||
token = db.Column(db.String(64), unique=True, nullable=False, default=lambda: uuid.uuid4().hex)
|
||||
|
||||
assigned_playlist_id = db.Column(db.Integer, db.ForeignKey("playlist.id"), nullable=True)
|
||||
|
||||
Reference in New Issue
Block a user