diff --git a/classes/Auth.js b/classes/Auth.js index e69de29..2f1a652 100644 --- a/classes/Auth.js +++ b/classes/Auth.js @@ -0,0 +1,22 @@ +const Customer = require('./Customer'); + +class Auth { + constructor(){ + this.customers = []; + } + register(name, email, shippingAddress){ + let newCust = new Customer(name, email, shippingAddress); + this.customers.push(newCust); + } + login(email){ + for(let i = 0; i < this.customers.length; i++){ + if(this.customers[i].email === email){ + return this.customers[i]; + } + } + return null; + } +}; + + +module.exports = Auth; \ No newline at end of file diff --git a/classes/Cart.js b/classes/Cart.js index e69de29..ee661a6 100644 --- a/classes/Cart.js +++ b/classes/Cart.js @@ -0,0 +1,22 @@ +class Cart { + constructor(){ + this.total = 0; + this.products = []; + } + addProduct(prod){ + this.products.push(prod); + this.total += prod.price; + + } + removeProduct(i){ + let removed = this.products.splice(i, 1); + console.log(removed); + this.total -= removed[0].price; + + } +} + + + + +module.exports = Cart; \ No newline at end of file diff --git a/classes/Customer.js b/classes/Customer.js index e69de29..8a85c4c 100644 --- a/classes/Customer.js +++ b/classes/Customer.js @@ -0,0 +1,14 @@ +class Customer { + constructor(name, email, shippingAddress) { + this.name = name; + this.email = email; + this.shippingAddress = shippingAddress; + this.orderHistory = []; + } + addToOrderHistory(cart){ + this.orderHistory.push(cart); + } +} + + +module.exports = Customer; \ No newline at end of file diff --git a/classes/Product.js b/classes/Product.js index e69de29..9cb473b 100644 --- a/classes/Product.js +++ b/classes/Product.js @@ -0,0 +1,14 @@ +class Product { + constructor(name, price, description){ + this.name = name; + this.price = price; + this.description = description; + this.inStock = true; + }; + display(){ + return `Name: ${this.name}, Price: $${this.price}, Description: ${this.description}`; + }; +}; + + +module.exports = Product; \ No newline at end of file diff --git a/index.js b/index.js index efad601..4476a3c 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,11 @@ // Import Classes Here +const Product = require('./classes/Product'); +const Cart = require('./classes/Cart'); + +const Customer = require('./classes/Customer'); + +const Auth = require('./classes/Auth'); diff --git a/package-lock.json b/package-lock.json index 9b68881..5713249 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4717,7 +4717,8 @@ "jest-pnp-resolver": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} }, "jest-regex-util": { "version": "29.4.3",