class SubscribedChannel(sql.Model): __tablename__ = "subscribed_channels" user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) channel_id = sql.Column(sql.String, sql.ForeignKey('channels.id'), primary_key=True) channel = sql.relationship('Channel') videos = sql.relationship( 'SubscribedVideo', primaryjoin= "and_(SubscribedChannel.user_id==SubscribedVideo.user_id, SubscribedChannel.channel_id==SubscribedVideo.channel_id)", foreign_keys="[SubscribedVideo.user_id, SubscribedVideo.channel_id]") watched = sql.column_property( sql.select([sql.func.count(SubscribedVideo.channel_id)]).where( sql.and_(user_id == SubscribedVideo.user_id, channel_id == SubscribedVideo.channel_id, SubscribedVideo.watched.is_(True)))) unwatched = sql.column_property( sql.select([sql.func.count(SubscribedVideo.channel_id)]).where( sql.and_(user_id == SubscribedVideo.user_id, channel_id == SubscribedVideo.channel_id, SubscribedVideo.watched.is_(False)))) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy")
class Subscription(sql.Model): __tablename__ = 'subscribe' user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) show_id = sql.Column(sql.Integer, sql.ForeignKey('shows.id'), primary_key=True) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy") show = sql.relationship('Show') watched = sql.column_property( sql.select([ sql.case([(sql.func.count(Watched.episode_id) == 0, True)], else_=False) ]).where( sql.and_(Watched.episode.has(Episode.air_date < today()), Watched.show_id == show_id, Watched.user_id == user_id, Watched.watched.is_(False))))
class Watched(sql.Model): __tablename__ = 'watched' user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) show_id = sql.Column(sql.Integer, sql.ForeignKey('shows.id'), primary_key=True) season_id = sql.Column(sql.Integer, sql.ForeignKey('seasons.id')) episode_id = sql.Column(sql.Integer, sql.ForeignKey('episodes.id'), primary_key=True) watched = sql.Column(sql.Boolean, default=False) hidden = sql.Column(sql.Boolean, default=False) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy") show = sql.relationship('Show') episode = sql.relationship('Episode')
class AddedMovieGroup(sql.Model): __tablename__ = "added_movie_groups" user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) movie_group_id = sql.Column(sql.Integer, sql.ForeignKey('movie_groups.id'), primary_key=True) movie_group = sql.relationship('MovieGroup') movies = sql.relationship( AddedMovie, primaryjoin=sql.and_( movie_group_id == movie_group_movies.c.movie_group_id, user_id == AddedMovie.user_id), secondary=movie_group_movies, secondaryjoin=sql.and_( user_id == AddedMovie.user_id, movie_group_id == movie_group_movies.c.movie_group_id, movie_group_movies.c.movie_id == AddedMovie.movie_id, AddedMovie.movie_id == Movie.id), order_by=[movie_group_movies.c.sequence, Movie.release])
class Universe(sql.Model): __tablename__ = 'universe' id = sql.Column(sql.Integer, primary_key=True) name = sql.Column(sql.String) summary = sql.Column(sql.String) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy") shows = sql.relationship("Show", secondary=universe_shows)
class Channel(sql.Model): __tablename__ = 'channels' id = sql.Column(sql.String, primary_key=True) title = sql.Column(sql.String) description = sql.Column(sql.String) image = sql.Column(sql.String) videos = sql.relationship('Video') ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy")
class Show(sql.Model): __tablename__ = 'shows' id = sql.Column(sql.Integer, primary_key=True) name = sql.Column(sql.String) premiered = sql.Column(sql.Date) status = sql.Column(sql.Boolean) summary = sql.Column(sql.String) image = sql.Column(sql.String) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy") episodes = sql.relationship("Episode")
class UserBook(sql.Model): __tablename__ = "user_books" user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) book_id = sql.Column(sql.String, sql.ForeignKey('books.id'), primary_key=True) read = sql.Column(sql.Boolean, default=False) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy") book = sql.relationship('Book')
class MovieGroup(sql.Model): __tablename__ = "movie_groups" id = sql.Column(sql.Integer, primary_key=True) name = sql.Column(sql.String) description = sql.Column(sql.String) type = sql.Column(sql.String) movies = sql.relationship( 'Movie', secondary=movie_group_movies, order_by=[movie_group_movies.c.sequence, Movie.release]) ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy")
class AddedMovie(sql.Model): __tablename__ = "added_movie" user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) movie_id = sql.Column(sql.String, sql.ForeignKey('movies.id'), primary_key=True) watched = sql.Column(sql.Boolean, default=False) movie = sql.relationship('Movie') ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy")
class SubscribedVideo(sql.Model): __tablename__ = 'subscribed_videos' user_id = sql.Column(sql.Integer, sql.ForeignKey('users.id'), primary_key=True) channel_id = sql.Column(sql.String, sql.ForeignKey('channels.id'), primary_key=True) video_id = sql.Column(sql.String, sql.ForeignKey('videos.id'), primary_key=True) watched = sql.Column(sql.Boolean, default=False) video = sql.relationship('Video') ModifiedDate = sql.Column(sql.DateTime, default=sql.func.now(), onupdate=sql.func.now()) ModifiedBy = sql.Column(sql.String, default="sqlAlchemy") CreatedDate = sql.Column(sql.DateTime, default=sql.func.now()) CreatedBy = sql.Column(sql.String, default="sqlAlchemy")