From 9dba744407f61a56efb8e63bbfa50ade6e847acf Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 30 Sep 2020 18:48:54 +0200 Subject: update episodes table form. add venues table and CRUD --- animism-align/cli/app/sql/models/episode.py | 13 +++++++++++- animism-align/cli/app/sql/models/venue.py | 32 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 animism-align/cli/app/sql/models/venue.py (limited to 'animism-align/cli/app/sql/models') diff --git a/animism-align/cli/app/sql/models/episode.py b/animism-align/cli/app/sql/models/episode.py index a13c674..34402b8 100644 --- a/animism-align/cli/app/sql/models/episode.py +++ b/animism-align/cli/app/sql/models/episode.py @@ -1,4 +1,4 @@ -from sqlalchemy import create_engine, Table, Column, Text, String, Integer, Float, DateTime, JSON, ForeignKey +from sqlalchemy import create_engine, Table, Column, Text, String, Integer, Boolean, Float, DateTime, JSON, ForeignKey from sqlalchemy.orm import relationship import sqlalchemy.sql.functions as func from sqlalchemy_utc import UtcDateTime, utcnow @@ -15,6 +15,7 @@ class Episode(Base): episode_number = Column(Integer, primary_key=True) title = Column(String(256, convert_unicode=True), nullable=False) release_date = Column(String(256, convert_unicode=True), primary_key=True) + is_live = Column(Boolean, default=False) settings = Column(JSON, default={}, nullable=True) def toJSON(self): @@ -23,6 +24,16 @@ class Episode(Base): 'episode_number': self.episode_number, 'title': self.type, 'release_date': self.release_date, + 'is_live': self.is_live, + } + + def toFullJSON(self): + return { + 'id': self.id, + 'episode_number': self.episode_number, + 'title': self.type, + 'release_date': self.release_date, + 'is_live': self.is_live, 'settings': self.settings, } diff --git a/animism-align/cli/app/sql/models/venue.py b/animism-align/cli/app/sql/models/venue.py new file mode 100644 index 0000000..992adea --- /dev/null +++ b/animism-align/cli/app/sql/models/venue.py @@ -0,0 +1,32 @@ +from sqlalchemy import create_engine, Table, Column, Text, String, Integer, Boolean, Float, DateTime, JSON, ForeignKey +from sqlalchemy.orm import relationship +import sqlalchemy.sql.functions as func +from sqlalchemy_utc import UtcDateTime, utcnow +from wtforms_alchemy import ModelForm + +from app.sql.common import db, Base, Session + +from app.settings import app_cfg + +class Venue(Base): + """Table for storing the venue list""" + __tablename__ = 'venue' + id = Column(Integer, primary_key=True) + title = Column(String(256, convert_unicode=True), nullable=False) + date = Column(String(256, convert_unicode=True), nullable=False) + settings = Column(JSON, default={}, nullable=True) + + def toJSON(self): + return { + 'id': self.id, + 'title': self.type, + 'date': self.type, + 'settings': self.settings, + } + +class VenueForm(ModelForm): + class Meta: + model = Venue + exclude = ['settings'] + def get_session(): + return Session() -- cgit v1.2.3-70-g09d2