Beispiel #1
0
class Todo(db.Model):
    __tablename__ = 'todos'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(255), nullable=False)
    completed = db.Column(db.Boolean, default=False, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)

    def __init__(self, user_id: str, description: str) -> None:
        self.user_id = user_id
        self.description = description

    @classmethod
    def get(cls, id: int) -> object:
        return cls.query.filter_by(id=id).first()

    @classmethod
    def add(cls, user_id: str, description: str) -> None:
        todo = cls(user_id, description)
        db.session.add(todo)
        db.session.commit()

    @classmethod
    def delete(cls, id: int) -> None:
        todo = cls.get(id)
        db.session.delete(todo)
        db.session.commit()

    @classmethod
    def toggle_completion(cls, id: int) -> None:
        todo = cls.get(id)
        todo.completed = not todo.completed
        db.session.commit()

    @classmethod
    def paginate(cls, user_id: int, page: int) -> Pagination:
        """
        Uses SQLAlchemy's builtin pagination tools to return paginated queries

        :param user_id: specifies the user who's tasks are to be gotten
        :param page: target page number
        :return: flask_sqlalchemy.Pagination object for use in views
        """
        return cls.query.filter_by(user_id=user_id).paginate(
            page=page,
            per_page=app.config.get('PAGE_ITEM_LIMIT', 5),
            error_out=False)

    def to_dict(self) -> dict:
        return {
            'id': self.id,
            'description': self.description,
            'completed': self.completed,
            'user_id': self.user_id
        }

    def json(self) -> str:
        return jsonify(self.to_dict())

    def __repr__(self) -> str:
        return '<Todo %r>' % self.description
Beispiel #2
0
class Todo(db.Model):
    __tablename__ = 'todos'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(300))
    completed = db.Column(db.Boolean)

    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user = db.relationship('User',
        backref=db.backref('todos', lazy='dynamic'))

    def __init__(self, description, user):
        self.description = description
        self.user = user

    @db.validates('description')
    def validate_description(self, key, description):
        if not description:
            raise ValueError('Description cannot be empty')
        return description

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}

    def __repr__(self):
        return '<Todo %r>' % self.description
class Todos(db.Model): 
	id = db.Column(db.Integer, primary_key=True)
	user_id = db.Column(db.Integer,  db.ForeignKey('users.id'), nullable=False)
	description = db.Column(db.String(255),nullable=False)
	is_completed = db.Column(db.Boolean, unique=False, default=False)

	def __repr__(self):
		return '<Todos %r>' % (self.description)
Beispiel #4
0
class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    description = db.Column(db.String(255))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return '<Todo #{}>'.format(self.id)
Beispiel #5
0
class todos(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255))
    completed = db.Column(db.Boolean)

    def __repr__(self):
        return '<todo {}>'.format(self.description)
class Todo(db.Model):
    __tablename__ = 'todos'
    id = Column(Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = Column(String(256), nullable=False)
    is_completed = Column(Integer, default=0)
    created_dt = Column(db.DateTime,
                        nullable=False,
                        default=datetime.datetime.utcnow)

    def __repr__(self):
        return '<Todo %r>' % (self.description)
Beispiel #7
0
class Todos(db.Model):
    __tablename__ = "todos"
    id = db.Column('id',
                   db.Integer,
                   unique=True,
                   nullable=False,
                   primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255))
    completed = db.Column(db.Boolean, default=False)

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class Todos(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255), nullable=False)
    status = db.Column(db.String(255), nullable=False)

    def __repr__(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'description': self.description,
            'status': self.status
        }
Beispiel #9
0
class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(140))
    completed = db.Column(db.Boolean, default=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __init__(self, description, user_id, completed=False):
        self.description = description
        self.completed = completed
        self.user_id = user_id

    def __repr__(self):
        return '<Todo desc={},completed={}>'.format(self.description,
                                                    self.completed)
Beispiel #10
0
class Todos(db.Model):
    __tablename__ = 'todos'
    id = db.Column('todo_id', db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey(Users.id), nullable=False)
    description = db.Column(db.String(255), nullable=False)
    done = db.Column(db.Boolean)

    def serialize(self):
        return {
            'id': self.id,
            'users': self.user_id,
            'description': self.description,
            'done': self.done
        }
Beispiel #11
0
class Todo(db.Model):
    __tablename__ = 'todos'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String)
    completed = db.Column(db.Boolean)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    def to_dict(self):
        return dict(id=self.id,
                    user_id=self.user_id,
                    description=self.description,
                    completed=self.completed)

    def __repr__(self):
        return '<Todo {}>'.format(self.description)
Beispiel #12
0
class Todo(db.Model):
    __tablename__ = "todos"
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return f"Todo('{self.description}')"

    @validates('description')
    def validate_description(self, key, value):
        assert not value.isspace(), 'Description can not be only white space.'
        assert value != "", 'Description can not be empty.'
        return value
Beispiel #13
0
class Todo(db.Model):
    __tablename__ = 'todos'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255), nullable=False)
    completed = db.Column(db.Boolean, default=0)

    def __init__(self, user_id, description, completed):
        self.user_id = user_id
        self.description = description
        self.completed = completed

    def __repr__(self):
        return '<Todo: id=%r, completed=%r>' % (self.description,
                                                self.completed)
Beispiel #14
0
class Todos(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255))
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return '<Todos {}>'.format(self.id)

    def to_dict(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'description': self.description,
            'completed': self.completed
        }
Beispiel #15
0
class Todo(db.Model):
    __tablename__ = 'todos'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    users = db.relationship('Users', backref='users')

    description = db.Column(db.String(255))
    completed = db.Column(db.Boolean)

    def to_dict(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'description': self.description,
            'completed': self.completed
        }
Beispiel #16
0
class Todo(db.Model):
    __tablename__ = 'todos'

    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(255))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return "To-Do <User.id {}>: {}".format(self.user_id, self.description)

    def to_json(self):
        return json.dumps({
            'id': self.id,
            'user_id': self.user_id,
            'description': self.description
        })
class Todo(db.Model):
    """Todo model."""

    __tablename__ = "todos"

    id = db.Column(db.Integer, primary_key=True)
    user = db.Column('user_id', db.ForeignKey(User.id))
    description = db.Column(db.String(255), nullable=False)
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        """__repr__ for Todo."""
        return '<User %r>' % self.user

    def __init__(self, user, description):
        """__init__ for Todo model."""
        self.user = user
        self.description = description
Beispiel #18
0
class Todo(db.Model):
    __tablename__ = 'todos'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255), nullable=False)
    complete = db.Column(db.Integer, nullable=False)

    def __repr__(self):
        return '<User %r Todo %r>' % self.user_id, self.description

    def get_dict(self):
        return {
            'id': self.id,
            'description': self.description,
            'user_id': self.user_id,
            'complete': bool(self.complete)
        }
Beispiel #19
0
class Todo(db.Model):
    __tablename__ = 'todos'
    users = db.relationship(User)

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    description = db.Column(db.String(255), nullable=False)
    is_completed = db.Column(db.BOOLEAN(), default=False)

    def __init__(self, description, user_id):
        self.description = description
        self.user_id = user_id

    def __repr__(self):
        return "Description: {description}".format(
            description=self.description)

    def to_dict(self):
        return {'id': self.id, 'description': self.description}
Beispiel #20
0
class Todo(db.Model):

    __tablename__ = 'todos'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    description = db.Column(db.String(255), unique=True)
    done = db.Column(db.Boolean, default=False)

    def __init__(self, user_id=None, description=None):
        self.user_id = user_id
        self.description = description
        self.done = False

    def __repr__(self):
        return '<Todo(user: {}) {}>'.format(self.user_id, self.description)

    @property
    def jsonified(self):
        return jsonify(id=self.id,
                       done=self.done,
                       description=self.description)
Beispiel #21
0
class Todo(db.Model):
    __tablename__ = 'todos'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(255))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    completed = db.Column(db.Integer, default=0)

    def __repr__(self):
        return '<Todo {}>'.format(self.description)

    def mark_completed(self):
        self.completed = 1

    def mark_uncompleted(self):
        self.completed = 0

    def make_dict(self):
        return {
            "id" : self.id,
            "description" : self.description,
            "user_id" : self.user_id,
            "completed" : self.completed
        }
Beispiel #22
0
class Todos(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey(Users.id), nullable=False)
    description = db.Column(db.String(255), nullable=True)
    status = db.Column(db.String(255), nullable=False, default='TODO')