class EntryMastery(db.Model): __tablename__ = 'entry_mastery' id = db.Column('entry_id', db.String, primary_key=True, default=str(uuid.uuid4())) user_id = db.Column(db.String, db.ForeignKey('users.user_id')) tutor_id = db.Column(db.String, db.ForeignKey('tutorial.tutor_id')) name = db.Column(db.String(60)) mastery = db.Column(db.Integer, default=1) def __init__(self, tutor_id): self.tutor_id = tutor_id self.mastery = 0
class Tutorial(db.Model): __tablename__ = 'tutorial' __searchable__ = ['title'] # query_class = ArticleQuery id = db.Column('tutor_id', db.String, primary_key=True, default=uuid_gen) user_id = db.Column(db.String, db.ForeignKey('users.user_id')) title = db.Column(db.String(60)) url = db.Column(db.String(300)) type = db.Column(db.String(10)) username = db.Column(db.String(20)) like = db.Column(db.Integer, default=0) slug = db.Column(db.String(50), index=True) content = db.Column(db.Text()) # title_vector = db.Column(TSVectorType('title')) __table_args__ = (db.UniqueConstraint('user_id', 'slug'), {}) def __init__(self, title, url, name="tutorial"): self.title = title self.url = url self.type = name def get_id(self): return self.id def get_url(self): return self.url def get_title(self): return self.title
class ReciteWord(db.Model): __tablename__ = 'ReciteWord' id = db.Column('recite_id', db.String, primary_key=True, default=uuid_gen) user_id = db.Column(db.String, db.ForeignKey('users.user_id')) book_name = db.Column(db.String(30)) data = db.Column(JSON) def __init__(self, user_id, book_name, json): self.user_id = user_id self.book_name = book_name self.data = json def get_data(self): return self.data
class Episode(db.Model): __tablename__ = 'episode' id = db.Column('epis_id', db.String, primary_key=True, default=uuid_gen) user_id = db.Column(db.String, db.ForeignKey('users.user_id')) name = db.Column(db.String(30)) no = db.Column(db.Integer) data = db.Column(JSON) def __init__(self, user_id, name, no, json): self.user_id = user_id self.name = name self.no = no self.data = json def get_data(self): return self.data
class MindMap(db.Model): __tablename__ = 'mindmap' id = db.Column('mindmap_id', db.String, primary_key=True, default=str(uuid.uuid4())) user_id = db.Column(db.String, db.ForeignKey('users.user_id')) title = db.Column(db.String(60)) map = db.Column(JSON) last_edit = db.Column('last_edit', db.DateTime) def __init__(self, title, json): self.title = title self.map = json self.last_edit = datetime.now() def get_id(self): return self.id def get_user_id(self): return str(self.user_id)
id = db.Column('university_id', db.String, primary_key=True, default=uuid_gen) name = db.Column(db.String(70), unique=True) info = db.Column(JSON) def __init__(self, name, info): self.name = name self.info = info professor_interests_table = db.Table( 'professor_interests', db.Model.metadata, db.Column('professor_id', db.String, db.ForeignKey('Professor.professor_id')), db.Column('interests_id', db.String, db.ForeignKey('Interests.interests_id'))) class Professor(db.Model): __tablename__ = 'Professor' id = db.Column('professor_id', db.String, primary_key=True, default=uuid_gen) name = db.Column(db.String(30)) school = db.Column(db.String(60)) major = db.Column(db.String(4)) school_url = db.Column(db.String(150)) home_page = db.Column(db.String(150))