예제 #1
0
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
예제 #2
0
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())
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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
예제 #9
0
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
예제 #11
0
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
예제 #12
0
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)
예제 #13
0
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
예제 #14
0
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'),
        }
예제 #15
0
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)
예제 #16
0
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)
예제 #17
0
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
예제 #18
0
파일: users.py 프로젝트: Aljosa12/TODOapp
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
예제 #19
0
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
예제 #20
0
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
예제 #21
0
파일: tasks.py 프로젝트: Aljosa12/TODOapp
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
예제 #22
0
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