diff --git a/data-and-functions-1/src/functions/getActiveUsers.js b/data-and-functions-1/src/functions/getActiveUsers.js new file mode 100644 index 0000000..0d2bcab --- /dev/null +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -0,0 +1,21 @@ +import DATA from '../DATA' + +const getActiveUsers = (DATA) => { + if (DATA == null || DATA.users == null) { + return null + } + + let activeUsers = [] + + DATA.users.forEach((user) => { + if (user.accountActive === true) { + activeUsers.push(user) + } + }) + + return activeUsers +} + +export default getActiveUsers + +// passes diff --git a/data-and-functions-1/src/functions/getMostExpensiveProduct.js b/data-and-functions-1/src/functions/getMostExpensiveProduct.js new file mode 100644 index 0000000..2016ea6 --- /dev/null +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -0,0 +1,20 @@ +import DATA from '../DATA' + +const getMostExpensiveProduct = (DATA) => { + if (DATA == null || DATA.products == null) { + return null + } + let mostExpProd // = undefined + + for (let i = 0; i < DATA.products.length; i++) { + if (mostExpProd === undefined || DATA.products[i].price > mostExpProd.price) { + mostExpProd = DATA.products[i] + } + } + + return mostExpProd +} + +export default getMostExpensiveProduct + +// passes diff --git a/data-and-functions-1/src/functions/getOrderInfo.js b/data-and-functions-1/src/functions/getOrderInfo.js new file mode 100644 index 0000000..51a0014 --- /dev/null +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -0,0 +1,28 @@ +import DATA from '../DATA' +import getProductById from './getProductById' +import getUserById from './getUserById' + +const getOrderInfo = (DATA, orderId) => { + if (DATA == null || DATA.users == null || orderId == null) { + return null + } + let orderInfoArr = [] + + for (let i = 0; i < DATA.orders.length; i++) { + const orderInfo = { + orderId: orderId, + userName: userName, + price: price + } + if (DATA.orders.id && DATA.orders.userId && DATA.orders.productId > 0) { + let orderId = DATA.orders.id + let userName = getUserById(DATA.orders.userId).name + let price = getProductById(DATA.order.productId).price + } + orderInfoArr.push(orderInfo) + } + + return orderInfoArr +} + +export default getOrderInfo diff --git a/data-and-functions-1/src/functions/getProductById.js b/data-and-functions-1/src/functions/getProductById.js new file mode 100644 index 0000000..fc8639b --- /dev/null +++ b/data-and-functions-1/src/functions/getProductById.js @@ -0,0 +1,21 @@ +import DATA from '../DATA' + +const getProductByID = (DATA, id) => { + if (DATA == null || DATA.products == null || id == null) { + return null + } + let productFound + + for (let i = 0; i < DATA.products.length; i++) { + const currentProduct = DATA.products[i] + + if (currentProduct.id === id) { + productFound = currentProduct + } + } + return productFound +} + +export default getProductByID + +//passes diff --git a/data-and-functions-1/src/functions/getUserById.js b/data-and-functions-1/src/functions/getUserById.js new file mode 100644 index 0000000..204da9e --- /dev/null +++ b/data-and-functions-1/src/functions/getUserById.js @@ -0,0 +1,21 @@ +import DATA from '../DATA' + +const getUserById = (DATA, id) => { + if (DATA == null || DATA.users == null || id == null) { + return null + } + + let foundUser + + for (let i = 0; i < DATA.users.length; i++) { + const currentUser = DATA.users[i] + + if (currentUser.id === id) { + foundUser = currentUser + } + } + return foundUser +} +export default getUserById + +// passes