class Comment(db.Model, FieldMixin): id = db.Column(db.String(50), primary_key=True) user_id = db.Column(db.String(50), db.ForeignKey('user.id')) blog_id = db.Column(db.String(50), db.ForeignKey('blog.id')) content = db.Column(db.Text) created_at = db.Column(db.DateTime, default=datetime.datetime.now) def __init__(self, user_id, blog_id, content): self.id = next_id() self.user_id = user_id self.blog_id = blog_id self.content = content def __repr__(self): return '<Comment {!r}>'.format(self.content)
class Instructor(db.Model, FieldMixin): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __init__(self, userId): self.user_id = userId def __repr__(self): return '<Instructor {!r}>'.format(self.user)
class LocalAuth(db.Model, FieldMixin): id = db.Column(db.String(50), primary_key=True) password = db.Column(db.String(120)) user_id = db.Column(db.String(50), db.ForeignKey('user.id')) def __init__(self, user_id, password): self.id = next_id() self.user_id = user_id self.password = password def __repr__(self): return '<LocalAuth {!r}>'.format(self.user)
class Course(db.Model, FieldMixin): id = db.Column(db.String(50), primary_key=True) name = db.Column(db.String(120)) image = db.Column(db.String(1024)) about = db.Column(db.Text) created_at = db.Column(db.DateTime, default=datetime.datetime.now) category_id = db.Column(db.String(50), db.ForeignKey('category.id')) chapters = db.relationship('Chapter', backref='course', lazy='dynamic') def __init__(self, name, image, about, category_id): self.id = next_id() self.name = name self.image = image self.about = about self.category_id = category_id def __repr__(self): return '<Course {!r}>'.format(self.name)
class Chapter(db.Model, FieldMixin): id = db.Column(db.String(50), primary_key=True) order = db.Column(db.Integer) name = db.Column(db.String(120)) created_at = db.Column(db.DateTime, default=datetime.datetime.now) course_id = db.Column(db.String(50), db.ForeignKey('course.id')) video_url = db.Column(db.Text) content = db.Column(db.Text) def __init__(self, course_id, order, name, video_url, content): self.id = next_id() self.order = order self.course_id = course_id self.name = name self.video_url = video_url self.content = content def __repr__(self): return '<Chapter {!r}>'.format(self.name)
class Blog(db.Model, FieldMixin): id = db.Column(db.String(50), primary_key=True) user_id = db.Column(db.String(50), db.ForeignKey('user.id')) name = db.Column(db.String(50)) summary = db.Column(db.String(50)) content = db.Column(db.Text) created_at = db.Column(db.DateTime, default=datetime.datetime.now) comments = db.relationship('Comment', backref='blog', lazy='dynamic') _regexMapDict = FieldMixin._regexMapDict.copy() def __init__(self, user_id, name, summary, content): self.id = next_id() self.user_id = user_id self.name = name self.summary = summary self.content = content def __repr__(self): return '<Blog {!r}>'.format(self.name)