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..f0e84ed --- /dev/null +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -0,0 +1,13 @@ +import DATA from '../DATA' + +const getActiveUsers = (id) => { + let activeUserArray = [] + DATA.users.forEach((u) => { + if (u.accountActive === true) { + activeUserArray.push(u) + } + }) + return activeUserArray +} + +export default getActiveUsers 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..93e7d7b --- /dev/null +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -0,0 +1,17 @@ +import DATA from '../DATA' + +const getMostExpensiveProduct = (data) => { + if (data == null) { + return null + } + let mostExpensiveProduct = 0 + DATA.products.forEach((m) => { + const currentProduct = data.products[m] + if (currentProduct.price > mostExpensiveProduct) { + mostExpensiveProduct = currentProduct + } + }) + return mostExpensiveProduct +} + +export default getMostExpensiveProduct 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..380f996 --- /dev/null +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -0,0 +1,24 @@ +import getUserById from './getUserById' +import getProductById from './getProductById' + +const getOrderInfo = (DATA) => { + if (DATA == null || DATA.orders == null) { + return null + } + const orderArray = [] + DATA.orders.forEach((o) => { + const currentOrder = DATA.orders[o] + const userName = getUserById(DATA, currentOrder.userId).name + const orderId = currentOrder.id + const price = getProductById(DATA, currentOrder.productId).price + const orderInfo = { + orderId: orderId, + userName: userName, + price: price + } + orderArray.push(orderInfo) + }) + return orderArray +} + +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..d1427ed --- /dev/null +++ b/data-and-functions-1/src/functions/getProductById.js @@ -0,0 +1,13 @@ +import DATA from '../DATA' + +const getProductById = (id) => { + let product + for (let n = 0; n < DATA.products.length; n += 1) { + if (DATA.products[n].id === id) { + product = DATA.products[n] + } + } + return product +} + +export default getProductById 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..a1267b2 --- /dev/null +++ b/data-and-functions-1/src/functions/getUserById.js @@ -0,0 +1,15 @@ +const getUserById = (DATA, userId) => { + let user + if (userId == null || DATA == null || DATA.users == null) { + return null + } else { + DATA.users.forEach((u) => { + if (u.userId === DATA.id) { + user = u + } + }) + } + return user +} + +export default getUserById