class UserModel(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80))
    password = db.Column(db.String(80))
    isAdmin = db.Column(db.Boolean)

    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.isAdmin = False

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def json(self):
        return {
            "username": self.username,
            "password": self.password,
            "isAdmin": self.isAdmin
        }

    @classmethod
    def find_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    @classmethod
    def find_by_id(cls, _id):
        return cls.query.filter_by(id=_id).first()
class EventModel(db.Model):
    __tablename__ = 'events'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True)
    user = db.relationship('UserModel', uselist=False, backref='events')

    event = db.Column(db.String(1000))
    createdOn = db.Column(db.String(90))

    def __init__(self, event, createdOn):
        self.event = event
        self.createdOn = createdOn

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def json(self):
        return {
            "id": self.id,
            "event": self.event,
            "createdOn": self.createdOn,
            "user": self.user.json()
        }

    @classmethod
    def find_session(cls, user, createdOn):
        return cls.query.filter_by(user_id=user.id).filter_by(
            createdOn=createdOn).first()

    @classmethod
    def get_all_events(cls):
        return cls.query.all()
Beispiel #3
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, unique=False, nullable=False)
    ordersCount = db.Column(db.Integer, default=0)
    balance = db.Column(db.Integer, default=0)

    def toDict(self):
        return {
            "userId": self.id,
            "name": self.name,
            "ordersCount": self.ordersCount,
            "balance": self.balance,
        }
Beispiel #4
0
class Product(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, unique=False, nullable=False)
    price = db.Column(db.Integer, unique=False, nullable=False)
    quantity = db.Column(db.Integer, unique=False, nullable=False)

    def toDict(self):
        return {
            "id": self.id,
            "name": self.name,
            "price": self.price,
            "quantity": self.quantity,
        }
class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    userId = db.Column(db.Integer, unique=False, nullable=True)
    productId = db.Column(db.Integer, unique=False, nullable=True)
    totalPrice = db.Column(db.Integer, unique=False, nullable=True)
    totalQuantity = db.Column(db.Integer, unique=False, nullable=True)
    status = db.Column(db.String, unique=False, nullable=False)

    def toDict(self):
        return {
            "id": self.id,
            "userId": self.userId,
            "productId": self.productId,
            "totalPrice": self.totalPrice,
            "totalQuantity": self.totalQuantity,
            "status": self.status
        }
class Event(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    type = db.Column(db.String, unique=False, nullable=True)
    orderId = db.Column(db.Integer, unique=False, nullable=True)
    payload = db.Column(db.String, unique=False, nullable=False)