Example #1
0
class Role(db.Model):
    __tablename__ = 'role'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(64), unique=True)
    permissions = db.Column(db.Integer)

    # relationships
    users = relationship('User',
                         secondary=users_roles,
                         backref=backref('roles', lazy='dynamic'),
                         lazy='dynamic')

    @staticmethod
    def insert_roles():
        roles = {
            'User': (Permission.FOLLOW | Permission.COMMENT
                     | Permission.WRITE_ARTICLES, True),
            'Moderator':
            (Permission.FOLLOW | Permission.COMMENT | Permission.WRITE_ARTICLES
             | Permission.MODERATE_COMMENTS, False),
            'Administrator': (0xff, False)
        }
        for r in roles:
            role = Role.query.filter_by(name=r).first()
            if role is None:
                role = Role(name=r)
            role.permissions = roles[r][0]
            role.default = roles[r][1]
            db.session.add(role)
        db.session.commit()

    def __str__(self):
        return self.name
Example #2
0
class Account(db.Model):
    __tablename__ = "account"
    # fields
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.Text, nullable=False)
    paypal_email = db.Column(db.Text)
    token = db.Column(db.Text, nullable=False)
    token_expiration_date = db.Column(db.Date, nullable=False)
    ebay_user_id = db.Column(db.Text, nullable=False)
    site_code = db.Column(db.Text, nullable=False)

    # relationships
    user_id = db.Column(db.Integer, ForeignKey("user.id"), nullable=False)
    user = relationship("User", backref=backref('accounts', order_by=id, cascade="all, delete"))

    def __init__(self, email, paypal_email, token, token_expiration_date, ebay_user_id, user, site_code='US'):
        self.email = email
        self.paypal_email = paypal_email
        self.token = token
        self.token_expiration_date = token_expiration_date
        self.ebay_user_id = ebay_user_id
        self.user = user
        self.site_code = site_code

    def __repr__(self):
        return "Email: %s, PaypalEmail: %s " % (self.email, self.paypal_email)
Example #3
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    pwdhash = db.Column(db.String(255))
    admin = db.Column(db.Boolean, default=False)

    # country_id = db.Column(db.Integer, ForeignKey('country.id'))
    # country = relationship("Country", backref=backref("users", order_by=id))

    def __init__(self, name, last_name, email, password, admin=False):
        self.name = name
        self.last_name = last_name
        self.email = email
        self.pwdhash = generate_password_hash(password)
        # self.country = country
        self.admin = admin

    def check_password(self, password):
        return check_password_hash(self.pwdhash, password)

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return unicode(self.id)

    def is_admin(self):
        return self.admin

    def __str__(self):
        return "%s %s" % (self.name, self.last_name)
Example #4
0
from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship, backref


class Permission:
    FOLLOW = 0x01
    COMMENT = 0x02
    WRITE_ARTICLES = 0x04
    MODERATE_COMMENTS = 0x08
    ADMINISTER = 0x80


# Many to Many Relationships

users_roles = db.Table(
    'user_role', db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('role_id', db.Integer, db.ForeignKey('role.id')))


class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    pwdhash = db.Column(db.String(255))
    admin = db.Column(db.Boolean, default=False)

    # country_id = db.Column(db.Integer, ForeignKey('country.id'))
    # country = relationship("Country", backref=backref("users", order_by=id))
Example #5
0
class DroplisterOrder(db.Model):
    # constants
    AMAZON_STATUS_NOT_REQUESTED = "AMAZON_STATUS_NOT_REQUESTED"
    AMAZON_STATUS_REQUESTED = "AMAZON_STATUS_REQUESTED"
    AMAZON_STATUS_PURCHASED = "AMAZON_STATUS_PURCHASED"

    __tablename__ = "droplister_order"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # ebay significant fieds
    ebay_order_id = db.Column(db.String(255), nullable=False, unique=True)
    ebay_quantity_purchased = db.Column(db.Integer)
    ebay_checkout_status = db.Column(db.String(255))
    ebay_order_status = db.Column(db.String(255))
    ebay_transaction_currency = db.Column(db.String(100))
    ebay_transaction_price = db.Column(db.Float)
    ebay_shipping_method = db.Column(db.String(255))
    ebay_shipping_currency = db.Column(db.String(255))
    ebay_shipping_value = db.Column(db.String(255))
    ebay_total_price = db.Column(db.Float)

    # amazon significant fields
    amazon_order_id = db.Column(db.String(255), nullable=True, unique=True)
    amazon_order_status = db.Column(db.String(255), default=AMAZON_STATUS_NOT_REQUESTED)
    amazon_purchase_link = db.Column(db.Text, nullable=True)

    # relationships
    droplister_item_id = db.Column(db.Integer, ForeignKey("droplister_item.id"), nullable=False)
    droplister_item = relationship("DroplisterItem",
                                   backref=backref('droplister_orders', order_by=id, cascade="all, delete"))

    def __init__(self, droplister_item, ebay_order_id, ebay_quantity_purchased, ebay_checkout_status, ebay_order_status,
                 ebay_transaction_currency, ebay_transaction_price, ebay_shipping_method, ebay_shipping_currency,
                 ebay_shipping_value, ebay_total_price):
        self.droplister_item = droplister_item
        self.ebay_order_id = ebay_order_id
        self.ebay_quantity_purchased = ebay_quantity_purchased
        self.ebay_checkout_status = ebay_checkout_status
        self.ebay_order_status = ebay_order_status
        self.ebay_transaction_currency = ebay_transaction_currency
        self.ebay_transaction_price = ebay_transaction_price
        self.ebay_shipping_method = ebay_shipping_method
        self.ebay_shipping_currency = ebay_shipping_currency
        self.ebay_shipping_value = ebay_shipping_value
        self.ebay_total_price = ebay_total_price

    def __repr__(self):
        return "EbayOrderId: %s - EbayOrderStatus: %s - AmazonOrderId: %s - AmazonOrderStatus: %s" % \
               (self.ebay_order_id, self.ebay_order_status, self.amazon_order_id, self.amazon_order_status)
Example #6
0
class DroplisterItem(db.Model):
    __tablename__ = "droplister_item"
    # constants
    STATUS_FAILDED = 0
    STATUS_LISTED = 1
    # fields
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    asin = db.Column(db.String(255), nullable=False, unique=True)
    title = db.Column(db.Text)
    description = db.Column(db.Text)
    amazon_price = db.Column(db.Float)
    amazon_offer_id = db.Column(db.String(255), nullable=False, unique=True)
    image_url = db.Column(db.Text)

    ebay_item_id = db.Column(db.Text)
    ebay_price = db.Column(db.Float)
    site_code = db.Column(db.String(20))
    status = db.Column(db.Integer)

    # relationships
    account_id = db.Column(db.Integer, ForeignKey("account.id"), nullable=False)
    account = relationship("Account", backref=backref('ebay_items', order_by=id, cascade="all, delete"))

    def __init__(self, asin, title, description, amazon_price, amazon_offer_id, image_url, ebay_item_id, ebay_price, site_code, status,
                 account):
        self.asin = asin
        self.title = title
        self.description = description
        self.amazon_price = amazon_price
        self.amazon_offer_id = amazon_offer_id
        self.image_url = image_url
        self.ebay_item_id = ebay_item_id
        self.ebay_price = ebay_price
        self.site_code = site_code
        self.status = status
        self.account = account

    def __repr__(self):
        return "Title: %s - Asin: %s - AmzPrice: %s - EbayPrice: %s - SiteCode: %s" % \
               (self.title, self.asin, self.amazon_price, self.ebay_price, self.site_code)