from db import db

class ItemModel(db.Model):    # db model tworzy cos w rodzaju mapy pomiedzy obiektami i bazą danych, db.model wskazuje,że te obiekty będą wchodziły w interakcje z bazą danych

    __tablename__= "items"

    id = db.Column(db.Integer, primary_key = True) # nie potrzebne w funkcji inicjującej jako że jest dodawane a automatu
    name = db.Column(db.String(80))
    price = db.Column(db.Float(precision=2))

    store_id = db.Column(db.Integer, db.ForeignKey('stores.id'))
    store = db.relationship('StoreModel')

    def __init__(self, name, price, store_id):
        self.name = name
        self.price = price
        self.store_id = store_id


    def json(self):
        return {"name": self.name, "price": self.price}



    @classmethod
    def find_by_name(cls, name):
        return cls.query.filter_by(name=name).first() # SELECT * FROM items WHERE name =  name LIMIT 1, filter_by is a query builder

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

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



