コード例 #1
0
class Comment(BaseDbModel):
    """Comments"""

    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String, nullable=False)
    user_id = db.Column(db.String, nullable=False)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    post = db.relationship('Post',
                           backref='comments',
                           uselist=False,
                           lazy=True)
    parent_id = db.Column(db.Integer,
                          db.ForeignKey('comment.id'),
                          nullable=True)
    """
    format()
        format the data for the api
    """
    def format(self):
        return {
            'id': self.id,
            'content': self.content,
            'user_id': self.user_id,
            'post_id': self.post_id,
            'parent_id': self.parent_id,
            'created_on': self.created_on.__str__(),
            'updated_on': self.updated_on.__str__(),
        }
コード例 #2
0
ファイル: model.py プロジェクト: limvus/limbook-api
class React(BaseDbModel):
    """Reacts"""

    user_id = db.Column(db.String, nullable=False)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    post = db.relationship('Post', backref='reacts', uselist=False, lazy=True)
    """
    format()
        format the data for the api
    """
    def format(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'post_id': self.post_id,
        }
コード例 #3
0
class BaseDbModel(db.Model):
    __abstract__ = True

    id = db.Column(db.Integer, primary_key=True)
    created_on = db.Column(db.DateTime, default=db.func.now())
    updated_on = db.Column(db.DateTime,
                           default=db.func.now(),
                           onupdate=db.func.now())
    """
    insert()
        inserts a new image into a database
    """
    def insert(self):
        db.session.add(self)
        db.session.commit()

    """
    update()
        updates image in the database
        the model must exist in the database
    """

    def update(self):
        db.session.commit()

    """
    delete()
        deletes a image from the database
        the model must exist in the database
    """

    def delete(self):
        db.session.delete(self)
        db.session.commit()

    """
    format()
        format the data for the api
    """

    def format(self):
        return {'id': self.id}

    def __repr__(self):
        return json.dumps(self.format())
コード例 #4
0
ファイル: model.py プロジェクト: limvus/limbook-api
class Image(BaseDbModel):
    """Images"""

    id = db.Column(db.Integer, primary_key=True)
    # owner id
    user_id = db.Column(db.String, nullable=False)
    # list of full path of image set (thumbnail, medium, large, full)
    url = db.Column(db.String, nullable=False)

    post = db.relationship('Post',
                           secondary=post_image,
                           backref=db.backref('images', lazy=True))
    """
    delete()
        deletes a image from the database
        the model must exist in the database
    """
    def delete(self):
        # delete image file
        from limbook_api.v1.image_manager import delete_image_set
        delete_image_set(self)
        # delete image data
        db.session.delete(self)
        db.session.commit()

    """
    format()
        format the data for the api
    """

    def format(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'url': json.loads(self.url),
            'created_on': self.created_on.__str__(),
            'updated_on': self.updated_on.__str__()
        }
コード例 #5
0
ファイル: model.py プロジェクト: limvus/limbook-api
from flask import json

from limbook_api.db import db, BaseDbModel

post_image = db.Table(
    'post_image',
    db.Column('post_id',
              db.Integer,
              db.ForeignKey('post.id', ondelete="cascade"),
              primary_key=True),
    db.Column('image_id',
              db.Integer,
              db.ForeignKey('image.id'),
              primary_key=True))


class Image(BaseDbModel):
    """Images"""

    id = db.Column(db.Integer, primary_key=True)
    # owner id
    user_id = db.Column(db.String, nullable=False)
    # list of full path of image set (thumbnail, medium, large, full)
    url = db.Column(db.String, nullable=False)

    post = db.relationship('Post',
                           secondary=post_image,
                           backref=db.backref('images', lazy=True))
    """
    delete()
        deletes a image from the database