From 831d75905f111a1623ae1efb092a41995217bc54 Mon Sep 17 00:00:00 2001 From: y2-youssef <youssef2.youssef@live.uwe.ac.uk> Date: Sat, 15 Jul 2023 00:53:37 +0000 Subject: [PATCH] Upload New File --- backup/models/order.py | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 backup/models/order.py diff --git a/backup/models/order.py b/backup/models/order.py new file mode 100644 index 0000000..40e7dfa --- /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 -- GitLab