Created a set of base models to begin fleshing out the data aspect of the application

This commit is contained in:
Luke Else 2023-12-31 16:27:39 +00:00
parent 213fc9c503
commit 54877495f0
10 changed files with 137 additions and 0 deletions

0
models/__init__.py Normal file
View File

13
models/order.py Normal file
View File

@ -0,0 +1,13 @@
from datetime import datetime
class Order:
'''
Constructor for an order object
'''
def __init__(self):
self.id = 0
self.sellerID = 0
self.customerID = 0
self.products = list()
self.totalCost = 0.0
self.orderDate = datetime.now()

View File

View File

@ -0,0 +1,13 @@
from product import Product
class CarPart(Product):
'''
Constructor for a car part
Contains additional information that is only relevant for car parts
'''
def __init__(self):
super().__init__()
self.make = ""
self.compatibleVehicles = list()

View File

@ -0,0 +1,22 @@
from abc import ABC
from datetime import datetime
class Product(ABC):
'''
Base class for a product
'''
def __init__(self):
self.productID = 0
self.name = ""
self.cost = 0.0
self.category = ""
self.sellerID = 0
self.postedDate = datetime.now()
self.quantityAvailable = 0
def addToBasket():
pass
def buyProduct():
pass

0
models/users/__init__.py Normal file
View File

25
models/users/admin.py Normal file
View File

@ -0,0 +1,25 @@
from user import User
class Admin(User):
'''
Class constructor to instatiate an Admin object
'''
def __init__(self):
super().__init__()
self.store = ""
def login():
print("Logging in as Admin")
def signup():
print("Signing up as Admin")
def createProduct():
pass
def deleteProduct():
pass
def updateProduct():
pass

17
models/users/customer.py Normal file
View File

@ -0,0 +1,17 @@
from user import User
class Customer(User):
'''
Class constructor to instatiate a customer object
No additional properties are assigned to the customer
'''
def __init__(self):
super().__init__()
def login():
print("Logging in as Customer")
def signup():
print("Signing up as Customer")

25
models/users/seller.py Normal file
View File

@ -0,0 +1,25 @@
from user import User
class Seller(User):
'''
Class constructor to instatiate a Seller object
'''
def __init__(self):
super().__init__()
self.store = ""
def login():
print("Logging in as Seller")
def signup():
print("Signing up as Seller")
def createProduct():
pass
def deleteProduct():
pass
def updateProduct():
pass

22
models/users/user.py Normal file
View File

@ -0,0 +1,22 @@
from abc import ABC, abstractmethod
class User(ABC):
'''
Class constructor to instatiate the base object
'''
def __init__(self):
self.id = 0
self.username = ""
self.email = ""
self.firstName = ""
self.lastName = ""
self.phone = ""
@abstractmethod
def login():
pass
@abstractmethod
def signup():
pass