Esempio n. 1
0
class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    order_date = db.Column(db.Date)
    books = db.relationship('Book', secondary=transactions)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return f"Order( orderID: {self.id}, userID: {self.user_id}, date: {self.order_date})"
Esempio n. 2
0
class Cart(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    date = db.Column(db.Date)
    cart_items = db.relationship('CartItem', backref=db.backref('cart'), lazy=True)

    def __repr__(self):
        return f"ShoppingCart( cart_id: '{self.id}', user_id: '{self.user_id}')"
Esempio n. 3
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text)
    creation_date = db.Column(db.Date)
    book_isbn = db.Column(db.BigInteger, db.ForeignKey('book.isbn'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return f"Comment( commentID: '{self.id}', book: '{self.book_isbn}', userID: '{self.user_id}')"
Esempio n. 4
0
class Author(db.Model):
    name = db.Column(db.String(100), primary_key=True)
    info = db.Column(db.Text, nullable=False)
    books = db.relationship('Book',
                            secondary=publish,
                            backref=db.backref('authors'))

    def __repr__(self):
        return f"Author( name: '{self.name}' )"
Esempio n. 5
0
class CartItem(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    count = db.Column(db.Integer)
    cart_id = db.Column(db.Integer, db.ForeignKey('cart.id'))
    book_isbn = db.Column(db.Integer, db.ForeignKey('book.isbn'))
    price = db.Column(db.Integer)

    def __repr__(self):
        return f"CartItem( id: '{self.id}', cart_id: '{self.cart_id}', book_isbn: '{self.book_isbn}', count: '{self.count}', price: '{self.price}')"
Esempio n. 6
0
class Author(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100),unique=True)
    info = db.Column(db.Text)
    img = db.Column(db.String(100))
    books = db.relationship('Book', secondary=author_book_relationship, backref=db.backref('authors'))

    def __repr__(self):
        return f"Author( name: '{self.name}' )"
Esempio n. 7
0
class Book(db.Model):
    isbn = db.Column(db.BigInteger, primary_key=True)
    title = db.Column(db.String(100), unique=True, nullable=False)
    date_pub = db.Column(db.String(100))
    genre = db.Column(db.String(100))
    rating = db.Column(db.Float)
    numRatings = db.Column(db.BigInteger)
    price = db.Column(db.Float)
    img = db.Column(db.String(100))
    pub_info = db.Column(db.Text)
    book_description = db.Column(db.Text)
    comments = db.relationship('Comment', backref=db.backref('book'), lazy=True)
    carts = db.relationship('CartItem', backref=db.backref('book'), lazy=True)

    def __repr__(self):
        return f"Book( titel: '{self.title}' )"
Esempio n. 8
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text)
    creation_date = db.Column(db.Text)
    rating = db.Column(db.Float)
    book_isbn = db.Column(db.BigInteger, db.ForeignKey('book.isbn'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    anon = db.Column(db.Integer)

    def __repr__(self):
        return f"Comment( commentID: '{self.id}', rating: '{self.rating}', content: '{self.content}', book: '{self.book_isbn}', userID: '{self.user_id}', anon: '{self.anon}')"
Esempio n. 9
0
class CreditCard(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    card_type = db.Column(db.String(20))
    # I actually don't know if this cvv attribute shoult be a string or an Integer
    card_number = db.Column(db.String(20), unique=True)
    cvv = db.Column(db.Integer)
    exp_date = db.Column(db.Date)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return f"CreditCard( card_number: '{self.card_number[:4]}', user: '******')"
Esempio n. 10
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(15), unique=True)
    name = db.Column(db.String(30), nullable=False)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)
    address = db.Column(db.String)
    orders = db.relationship('Order', backref=db.backref('user'), lazy=True)
    comments = db.relationship('Comment', backref=db.backref('user'), lazy=True)
    credit_cards = db.relationship('CreditCard', backref=db.backref('user'), lazy=True)
    cart = db.relationship('Cart', backref=db.backref('user'), lazy=True)

    def __repr__(self):
        return f"User( email: '{self.email}', username: '******', password: '******')"
Esempio n. 11
0
from geektext import db

#relationship table between Author and Book. since it is a many to many relaitonship we need a new table called publish

publish = db.Table(
    'publish',
    db.Column('book_isbn',
              db.BigInteger,
              db.ForeignKey('book.isbn'),
              primary_key=True),
    db.Column('author_name',
              db.String(100),
              db.ForeignKey('author.name'),
              primary_key=True))


class Author(db.Model):
    name = db.Column(db.String(100), primary_key=True)
    info = db.Column(db.Text, nullable=False)
    books = db.relationship('Book',
                            secondary=publish,
                            backref=db.backref('authors'))

    def __repr__(self):
        return f"Author( name: '{self.name}' )"


transactions = db.Table(
    'transactions',
    db.Column('book_isbn',
              db.BigInteger,