Exemplo n.º 1
0
class Items(SurrogatePK, Model):
    """A role for a user."""

    __tablename__ = 'items'
    name = Column(db.String(80), nullable=False)
    image_url = Column(db.String(100), nullable=False)
    expiration_time = Column(db.DECIMAL(16), nullable=False)
    min_bid = Column(db.DECIMAL(8), nullable=False)
    min_increment_bid = Column(db.DECIMAL(8), nullable=False)
    status = Column(db.Integer(), default=1, nullable=False)

    def __init__(self, **kwargs):
        """Create instance."""
        db.Model.__init__(self, **kwargs)

    def to_dict(self):
        bid = Bids.current_item_bid(self.id)
        return {
            "id": self.id,
            "title": self.name,
            "image_url": self.image_url,
            "expiration_time": self.expiration_time,
            "min_bid": self.min_bid,
            "min_increment_bid": self.min_increment_bid,
            "current_bid": bid,
            "status": self.status
        }

    def __repr__(self):
        """Represent instance as a unique string."""
        return '<Items({name})>'.format(name=self.name)
Exemplo n.º 2
0
class User(UserMixin, SurrogatePK, Model):
    """A user of the app."""

    __tablename__ = 'users'
    username = Column(db.String(80), unique=True)
    email = Column(db.String(80), unique=True)
    #: The hashed password
    password = Column(db.String(128), nullable=True)
    created_at = Column(db.DateTime,
                        nullable=False,
                        default=dt.datetime.utcnow)
    first_name = Column(db.String(30), nullable=True)
    last_name = Column(db.String(30), nullable=True)
    active = Column(db.Boolean(), default=False)
    is_admin = Column(db.Boolean(), default=False)
    fb_id = Column(db.String(50), unique=True)
    image_url = Column(db.String(200))

    def __init__(self, username=None, email=None, password=None, **kwargs):
        """Create instance."""
        db.Model.__init__(self, username=username, email=email, **kwargs)
        if password:
            self.set_password(password)
        else:
            self.password = None

    def to_dict(self):
        return {
            "id": self.id,
            "username": self.username,
            "email": self.email,
            "first_name": self.first_name,
            "image_url": self.image_url
        }

    def set_password(self, password):
        """Set password."""
        self.password = bcrypt.generate_password_hash(password)

    def check_password(self, value):
        """Check password."""
        return bcrypt.check_password_hash(self.password, value)

    @property
    def full_name(self):
        """Full user name."""
        return '{0} {1}'.format(self.first_name, self.last_name)

    def __repr__(self):
        """Represent instance as a unique string."""
        return '<User({username!r})>'.format(username=self.username)
Exemplo n.º 3
0
class Role(SurrogatePK, Model):
    """A role for a user."""

    __tablename__ = 'roles'
    name = Column(db.String(80), unique=True, nullable=False)
    user_id = reference_col('users', nullable=True)
    user = relationship('User', backref='roles')

    def __init__(self, name, **kwargs):
        """Create instance."""
        db.Model.__init__(self, name=name, **kwargs)

    def __repr__(self):
        """Represent instance as a unique string."""
        return '<Role({name})>'.format(name=self.name)