from sqlalchemy import Column, Integer, String, Text, SmallInteger, Numeric
from sqlalchemy.ext.declarative import declarative_base
from .Model import Model

Base = declarative_base()


class Book(Base, Model):
    __tablename__ = 'books'
    id = Column(Integer, primary_key=True)

    title = Column(String(255), unique=True, nullable=False, index=True)
    description = Column(Text)
    image_path = Column(String(255))
    rating = Column(SmallInteger)

    upc = Column(String(32))
    product_type = Column(String(32)) # -> Books
    price_excl_tax = Column(Numeric(6, 2))
    price_incl_tax = Column(Numeric(6, 2))
    tax = Column(Numeric(6, 2))
    in_stock = Column(Integer)
    count_reviews = Column(Integer)

    category = Column(String(32))

    currency_type = Column(String(4))