class Topic(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship("User") created = db.Column(db.DateTime, default=datetime.now()) @classmethod def create(cls, title, text, author): topic = cls(title=title, text=text, author=author) db.add(topic) db.commit() return topic @classmethod def read(cls, topic_id): topic = db.query(Topic).get(int(topic_id)) return topic @classmethod def update(cls, topic_id, title, text): topic = db.query(Topic).get(int(topic_id)) topic.title = title topic.text = text db.add(topic) db.commit() return topic
class Topic(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship("User") created = db.Column(db.DateTime, default=datetime.utcnow())
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship('User') topic_id = db.Column(db.Integer, db.ForeignKey('topics.id')) topic = db.relationship('Topic') created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, text, author, topic): comment = cls(text=text, author=author, topic=topic) db.add(comment) db.commit() if topic.author.email_address: send_email(receiver_email=topic.author.email_address, subject="New comment for your topic!", text="Your topic {} has a new comment.".format( topic.title)) return comment
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) # User foreign key author = db.relationship("User") # User relationship topic_id = db.Column(db.Integer, db.ForeignKey('topics.id')) # Topic foreign key topic = db.relationship("Topic") # Topic relationship created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, text, author, topic): comment = cls(text=text, author=author, topic=topic) db.add(comment) db.commit() # only send of topic author has her/his email in the database if topic.author.email_address: send_email(receiver_email=topic.author.email_address, subject="New comment for your topic!", text="Your topic {} has a new comment.".format( topic.title)) return comment @classmethod def read_all(cls, topic): comments = db.query(Comment).filter_by(topic=topic).all() return comments
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=True) password_hash = db.Column(db.String) session_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow)
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) # User foreign key author = db.relationship("User") # User relationship topic_id = db.Column(db.Integer, db.ForeignKey('topics.id')) # Topic foreign key topic = db.relationship("Topic") # Topic relationship created = db.Column(db.DateTime, default=datetime.utcnow)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) vorname = db.Column(db.String) nachname = db.Column(db.String) unternehmen = db.Column(db.String) position = db.Column(db.String) email_adresse = db.Column(db.String, unique=True) passwort_hash = db.Column(db.String) session_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow)
class Card(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) baujahr = db.Column(db.String) maschinennummer = db.Column(db.Integer) standort = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey( 'users.id')) # foreign key (table name for the User model is "users") author = db.relationship( "User" ) # not a real field, just shows a relationship with the User model machine_id = db.Column( db.Integer, db.ForeignKey("machines.id") ) #One-to-many relationship zwischen vielen Cards und einer Machine machine = db.relationship("Machine") created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, name, baujahr, maschinennummer, standort, author): card = cls(name=name, baujahr=baujahr, maschinennummer=maschinennummer, standort=standort, author=author) db.add(card) db.commit() return card
class Topic(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey("users.id")) author = db.relationship("User") created_at = db.Column(db.DateTime, default=datetime.utcnow()) @classmethod def create(cls, title, text, author): topic = cls(title=title, text=text, author=author) db.add(topic) db.commit() return topic
class ProfileData(db.Model): id = db.Column(db.Integer, primary_key=True) firstname = db.Column(db.String) lastname = db.Column(db.String) birthday = db.Column(db.DateTime) owner_id = db.Column(db.Integer, db.ForeignKey('users.id')) owner = db.relationship("User") # age = db.Column(db.Integer) @classmethod def create(cls, firstname, lastname, owner): profile_data = cls(firstname=firstname, lastname=lastname, owner=owner) db.add(profile_data) db.commit() return profile_data
class Topic(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey( 'users.id')) # foreign key (table name for the User model is "users") author = db.relationship( "User" ) # not a real field, just shows a relationship with the User model created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, title, text, author): topic = cls(title=title, text=text, author=author) db.add(topic) db.commit() return topic
class Machine(db.Model): id = db.Column(db.Integer, primary_key=True) maschine = db.Column(db.String) text = db.Column(db.String) leistung = db.Column(db.Integer) spannung = db.Column(db.Integer) stromstaerke = db.Column(db.Integer) blechstaerke = db.Column(db.Integer)
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship('User') topic_id = db.Column(db.Integer, db.ForeignKey('topics.id')) topic = db.relationship('Topic') created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, text, author, topic): comment = cls(text=text, author=author, topic=topic) db.add(comment) db.commit() return comment
class Image(db.Model): id = db.Column(db.Integer, primary_key=True) image_url = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship("User") created = db.Column(db.DateTime, default=datetime.utcnow) def insert(self): db.add(self) db.commit() @property def to_dict(self): return { "id": self.id, "image_url": self.image_url, "author": self.author, "created": self.created.strftime('%Y-%m-%d'), }
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=True) # a username must be unique! email_address = db.Column(db.String, unique=True) # email must be unique! password_hash = db.Column(db.String) session_token = db.Column(db.String) verified = db.Column( db.Boolean, default=False) # has user already verified email address? verification_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow)
class Contact(db.Model): id = db.Column(db.Integer, primary_key=True) contact_name = db.Column(db.String, unique=True) # a username must be unique! contact_email = db.Column(db.String, unique=True) contact_message = db.Column(db.String, unique=True) session_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow)
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) text = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship("User") topic_id = db.Column(db.Integer, db.ForeignKey('topics.id')) topic = db.relationship("Topic") created = db.Column(db.DateTime, default=datetime.now()) @classmethod def create(cls, text, author, topic): comment = cls(text=text, author=author, topic=topic) db.add(comment) db.commit() if topic.author.email: send_email(receiver_email=topic.author.email, subject="New comment for your topic!", text="Your topic {} has a new comment.".format( topic.title)) return comment @classmethod def read_all(cls, topic): comments = db.query(Comment).filter_by(topic=topic).all() return comments @classmethod def get_comment(cls, comment_id): comment = db.query(Comment).get(int(comment_id)) return comment
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=True) email = db.Column(db.String, unique=True) completed = db.Column(db.Integer, default=0) image_count = db.Column(db.Integer, default=0) password_hash = db.Column(db.String) session_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def create(cls, username, password_hash, email): session_token = str(uuid.uuid4()) user = cls(username=username, password_hash=password_hash, session_token=session_token, email=email) db.add(user) db.commit() return user
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=True) email = db.Column(db.String, unique=True) password = db.Column(db.String) session_token = db.Column(db.String) created_at = db.Column(db.DateTime, default=datetime.utcnow()) @classmethod def get_by_session(cls): session_token = request.cookies.get("session_token") if not session_token: return None user = db.query(User).filter_by(session_token=session_token).first() return user
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=True) email = db.Column(db.String, unique=True) password_hash = db.Column(db.String) session_token = db.Column(db.String) created = db.Column(db.DateTime, default=datetime.utcnow) verification_token = db.Column(db.String) verified = db.Column(db.Boolean, default=False) @classmethod def create(cls, username, email, password_hash, verification_token): session_token = str(uuid.uuid4()) user = cls(username=username, email=email, password_hash=password_hash, session_token=session_token, verification_token=verification_token) db.add(user) db.commit() return user
class Task(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String) day = db.Column(db.String) task_date = db.Column(db.String) full_date = db.Column(db.String) author_id = db.Column(db.Integer, db.ForeignKey('users.id')) author = db.relationship("User") created = db.Column(db.DateTime, default=datetime.utcnow) @classmethod def read(cls, task_id): task = db.query(Task).get(int(task_id)) return task @classmethod def read(cls, task_id): task = db.query(Task).get(int(task_id)) return task
class Bitt(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String, unique=False) text = db.Column(db.String, unique=False) created = db.Column(db.DateTime, default=datetime.datetime.utcnow) def insert(self): db.add(self) db.commit() # save ID into Redis (last Bitt ID) set_last_bitt(self.id) @property def to_dict(self): return { "id": self.id, "username": self.username, "text": self.text, "created": self.created.strftime('%Y-%m-%dT%H:%M:%S'), } @classmethod def get_all_bitts(cls): bitts = db.query(cls).order_by(desc( cls.created)).all() # get all bitts from the database if not bitts: # some pre-made bitts (you can delete them) bitt1 = cls(username="******", text="I'm fine. Thanks for not asking.") db.add(bitt1) bitt2 = cls( username="******", text="Sometimes you have to unfollow people in real life.") db.add(bitt2) bitt3 = cls(username="******", text="I hope karma slaps you in the face before I do.") db.add(bitt3) db.commit() bitts.append(bitt1) bitts.append(bitt2) bitts.append(bitt3) return bitts @classmethod def get_last_bitt_id(cls): last_bitt_id = get_last_bitt() if last_bitt_id: last_bitt_id = last_bitt_id.decode() else: last_bitt = cls.get_all_bitts()[0] last_bitt_id = str(last_bitt.id) set_last_bitt(last_bitt_id) return last_bitt_id