diff --git a/backup/models/itemset.py b/backup/models/itemset.py new file mode 100644 index 0000000000000000000000000000000000000000..ee101878453527472eb210bb51c6966a53b47720 --- /dev/null +++ b/backup/models/itemset.py @@ -0,0 +1,73 @@ +from database.connect import connection, base +import sqlalchemy as db +from sqlalchemy.orm import relationship +from datetime import date + +class ItemSetModel(base): + __tablename__ = "itemset" + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(50), nullable=False) + description = db.Column(db.String(300), nullable=False) + price = db.Column(db.Float, nullable=False) + tag = db.Column(db.String(200), nullable=False) + + def __init__( + self, name: str, description: str, price: float,tag: str, customID: 0): + self.name = name + self.description = description + self.price = price + self.tag = tag + if customID != 0: + self.id = customID + + def __repr__(self): + return "<Item Set %r>" % self.id + +class ItemSet: + def __init__(self): + # Get connection to database as session + engine, base, session, meta = connection() + self.session = session + + def get_itemsets(self) -> list: + """ + Get ItemSets from database + + Returns: + list: List of all ItemSets + """ + itemsets = self.session.query(ItemSetModel).all() + return itemsets + + def get_itemset(self, itemset_id: int) -> ItemSetModel: + """ + Get ItemSet from database by id + + Args: + set_id (int): Set ID to get + + Returns: + SetModel: SetModel object + """ + itemset = self.session.query(ItemSetModel).filter_by(id=itemset_id).first() + return itemset + + def add_itemset(self, itemset: ItemSetModel) -> None: + """ + Add ItemSet to database + + Args: + ItemSet (ItemSetModel): SetModel object + """ + self.session.add(itemset) + self.session.commit() + + def delete_itemset(self, itemset: ItemSetModel) -> None: + """ + Remove Item Set from database + + Args: + ItemSet (ItemSetModel): ItemSetModel object + """ + self.session.delete(itemset) + self.session.commit()