diff --git a/backup/models/order.py b/backup/models/order.py new file mode 100644 index 0000000000000000000000000000000000000000..40e7dfa12de1997fb79b7681a57b3e1be802e04a --- /dev/null +++ b/backup/models/order.py @@ -0,0 +1,72 @@ +# ID, UserID, ItemID, Price, Date, Address, Issue Default = False +from database.connect import connection, base +import sqlalchemy as db +from sqlalchemy.orm import relationship +from datetime import date + +class OrderModel(base): + __tablename__ = "order" + id = db.Column(db.Integer, primary_key=True) + orderitemid = db.Column(db.Integer, db.ForeignKey("orderitem.id"), nullable=False) + userid = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) + orderdate = db.Column(db.DateTime, nullable=False) + address = db.Column(db.String(100), nullable=False) + + def __init__( + self, orderitemid:int,userid: int, orderdate: date, address: str,): + self.orderitemid = orderitemid + self.userid = userid + self.orderdate = orderdate + self.address = address + + def __repr__(self): + return "<Order %r>" % self.id + +class Order: + def __init__(self): + # Get connection to database as session + engine, base, session, meta = connection() + self.session = session + + def get_orders(self) -> list: + """ + Get orders from database + + Returns: + list: List of all orders + """ + orders = self.session.query(OrderModel).all() + return orders + + def get_order(self, order_id: int) -> OrderModel: + """ + Get order from database by id + + Args: + order_id (int): Order ID to get + + Returns: + OrderModel: OrderModel object + """ + order = self.session.query(OrderModel).filter_by(id=order_id).first() + return order + + def add_order(self, order: OrderModel) -> None: + """ + Add order to database + + Args: + order (OrderModel): OrderModel object + """ + self.session.add(order) + self.session.commit() + + def delete_order(self, order: OrderModel) -> None: + """ + Remove order from database + + Args: + order (OrderModel): OrderModel object + """ + self.session.delete(order) + self.session.commit() \ No newline at end of file