class Subscription(db.AlchemyBase): """A Subscription subscribes a user to a Streamable entity's comments""" __tablename__ = "subscription" user_id = db.Column( db.Integer, db.ForeignKey(User.id), primary_key=True, nullable=False ) source_entity_id = db.Column(db.Integer, primary_key=True, nullable=False) last_seen_entity_id = db.Column(db.Integer, index=True)
class ConversationUserJoin(db.Model): __tablename__ = 'conversation_user_join' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, nullable=False) conversation_id = db.Column(db.Integer, db.ForeignKey('conversation.id'), nullable=False) conversation = db.relationship('Conversation')
class Message(db.Model): __tablename__ = "messages" id = db.Column(db.Integer, primary_key=True) msg_text = db.Column(db.String(160), nullable=False) msg_counter = db.Column(db.Integer, default=0) def __repr__(self): return f"<{self.__class__.__name__}>: {self.id}"
class Media(db.Model): __tablename__ = 'media' __table_args__ = {'schema': 'multiquestions'} id = db.Column(db.Integer, primary_key=True, nullable=False, unique=True) filetype = db.Column(db.String(32)) data = db.Column(db.LargeBinary) question = db.relationship('Questions', secondary='multiquestions.relationmedia', backref=db.backref('medias', lazy='dynamic'))
class Author(db.Model): __tablename__ = 'author' author_id = db.Column(db.Integer, primary_key=True) author_name = db.Column(db.String(50)) authorBooks = db.relationship('WrittenByAssociation', backref="author_books") def __init__(self, author_name=''): self.author_name = author_name
class MoviePoster(db.Model): id = db.Column(db.String, db.ForeignKey('title_basics.tconst'), primary_key=True) url = db.Column(db.String, nullable=False) def save_to_db(self): db.session.add(self) db.session.commit()
class Team(db.Model, Base): __tablename__ = 'team' uuid = db.Column(db.String(36), primary_key=True) name = db.Column(db.String(120), unique=True) members = relationship("User", back_populates='team') def __init__(self, name): self.name = name self.uuid = str(uuid.uuid4())
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) def __init__(self, username, email): self.username = username self.email = email
class Package(db.Model): __tablename__ = 'package' id = db.Column(db.Integer, primary_key=True) describe = db.Column( db.Enum('千克', '件', '托', '箱', '只', '支', '组', '卷', '立方米', '平方米')) #包装方式 # material_id=db.Column(db.Integer,db.ForeignKey('material.id')) def __repr__(self): return '< Package {} >'.format(self.describe)
class ProjectLabel(db.Model): __tablename__ = "projectlabels" project_id = db.Column(db.Integer, db.ForeignKey('projects.id'), primary_key=True) label_id = db.Column(db.Integer, db.ForeignKey('labels.id'), primary_key=True)
class TaskLabel(db.Model): __tablename__ = "tasklabels" task_id = db.Column(db.Integer, db.ForeignKey('tasks.id'), primary_key=True) label_id = db.Column(db.Integer, db.ForeignKey('labels.id'), primary_key=True)
class Tarefa(db.Model): __tablename__ = "tarefa" id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False) titulo = db.Column(db.String(50), nullable=False) descricao = db.Column(db.String(100), nullable=False) data_expiracao = db.Column(db.Date, nullable=False) projeto_id = db.Column(db.Integer, db.ForeignKey(projeto_model.Projeto.id)) projeto = db.relationship(projeto_model.Projeto, backref=db.backref("tarefas", lazy="dynamic"));
class Order(db.Model): id = db.Column(db.Integer, primary_key=True) user = db.Column(db.Integer, db.ForeignKey('user.id')) email = db.Column(db.Text, nullable=False) created_at = db.Column(db.DateTime, index=True) def __init__(self, email, created_at): self.email = email self.created_at = created_at
class Map(Mixin, db.Model): __tablename__ = 'map' id = db.Column(db.Integer, unique=True, primary_key=True) image_url = db.Column(db.String, nullable=False) map_year = db.Column(db.Integer, nullable=False) def __repr__(self): return '<map {}>'.format(self.map_year)
class Category(db.Model): __tablename__ = "category" id = db.Column(db.Integer, primary_key=True, unique=True) name = db.Column(db.String(100), index=True, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) list = db.relationship('List', backref='category', lazy=True) def __repr__(self): return f"<Category(name='{self.name}' user='******')>"
class Users(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(255)) password = db.Column(db.String(2323)) def __init__(self, username, password): self.username = username self.password = password
class Source(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80)) url = db.Column(db.String(255)) api_data = db.Column(db.Text) def save(self): db.session.add(self) db.session.commit()
class ModalidadeModel(db.Model): __table_args__ = {"schema": "public"} __tablename__ = "modalidade" identificador = db.Column(db.Integer, primary_key=True) sigla = db.Column(db.String, nullable=False) descricao_original = db.Column(db.String, nullable=False) descricao_traduzida = db.Column(db.String, nullable=False) ativa = db.Column(db.Boolean, nullable=False)
class History(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.Text) date_scraped = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) def __repr__(self): return f"Post('{self.content}', '{self.date_scraped}')"
class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20)) @property def serialize(self): return { "id": self.id, "name": self.name }
class Types(db.Model): __tablename__ = 'types' __table_args__ = {'schema': 'multiquestions'} id = db.Column(db.Integer, primary_key=True, nullable=False, unique=True) type = db.Column(db.String(80), nullable=False) typename = db.Column(db.String(80), nullable=False) question = db.relationship('Questions', secondary='multiquestions.relationtypes', backref=db.backref('types', lazy='dynamic'))
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) creation_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) likes = db.relationship('Like', backref='likedpost', lazy=True) def __repr__(self): return f"Post: ('{self.content}', created: '{self.creation_date}')"
class Checkins(db.Model): user_id = db.Column(db.Integer, db.ForeignKey("user.user_id"), nullable=False) location_id = db.Column(db.Integer, db.ForeignKey("location.location_id"), nullable=False) checkin_id = db.Column(db.Integer, unique=True, primary_key=True) timestamp = db.Column(db.DateTime)
class Notes(Base): public_key = db.Column(db.String, nullable=False, unique=True) note_text = db.Column(db.String, nullable=False) due_date = db.Column(db.DateTime) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) category_id = db.Column(db.Integer, db.ForeignKey('category.id'), nullable=False) def __repr__(self): return f"Note - {self.note_text}"
class Tag(db.Model): __tablename__ = "tag" tag_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text, unique=True, nullable=False) media = relationship("Media", secondary=tag_media_association_table, back_populates="tags")
class Token(db.Model): id = db.Column(db.Integer, primary_key=True) auth_token = db.Column(db.String(255), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) user = db.relationship(User, backref=db.backref('token', lazy=True, uselist=False, cascade="all, delete"))
class Post(Base): """ Post Model for storing user's post related details """ __tablename__ = "post" id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) title = db.Column(db.String(50), nullable=False) content = db.Column(db.Text)
class Metrics(db.Model): __tablename__ = 'metrics' id = db.Column(db.Integer, primary_key=True) method = db.Column(db.String(128)) subpath = db.Column(db.String(128)) count = db.Column(db.Integer) def __repr__(self): return '<Metric {}/{}/{}'.format(self.subpath, self.method, self.count)
class Question(db.Model): id = db.Column(db.Integer, primary_key=True) question = db.Column(db.String()) choices = db.Column(db.String()) # list in a str (json) ex: '["1", "2", "3"]' answer = db.Column(db.String()) category_id = db.Column(db.Integer, db.ForeignKey("category.id")) def __repr__(self): return f"<Question id={self.id} question='{self.question}' choices={json.loads(self.choices)} answer='{self.answer}' category={self.category}>"
class Product(db.Model): id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(50), unique=True) name = db.Column(db.String(66)) price = db.Column(db.Integer) quantity = db.Column(db.Integer) def __repr__(self): return f'<Product {self.name} >'