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..8739e89 --- /dev/null +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -0,0 +1,16 @@ +const getActiveUsers = (data) => { + if (data == null || data.users == null) { + return null + } else { + const activeUsers = [] + for (let i = 0; i < data.users.length; i++) { + const currentUser = data.users[i] + if (currentUser.accountActive === true) { + activeUsers.push(currentUser) + } + } + return activeUsers + } +} + +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..fcf49dc --- /dev/null +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -0,0 +1,16 @@ +const getMostExpensiveProduct = (data) => { + if (data == null || data.products == null) { + return null + } + + let mostExpensive = data.products[0] + for (let i = 1; i < data.products.length; i++) { + const currentProduct = data.products[i] + if (mostExpensive.price < currentProduct.price) { + mostExpensive = currentProduct + } + } + return mostExpensive +} + +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..07af716 --- /dev/null +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -0,0 +1,26 @@ +import getProductById from './getProductById' +import getUserById from './getUserById' + +const getOrderInfo = (DATA) => { + if (DATA == null || DATA.orders == null) { + return null + } + const orderInfoArr = [] + + for (let i = 0; i < DATA.orders.length; i++) { + const currentOrder = DATA.orders[i] + + const orderId = currentOrder.id + const userName = getUserById(DATA, currentOrder.userId).name + const price = getProductById(DATA, currentOrder.productId).price + const orderInfo = { + orderId: orderId, + userName: userName, + price: 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..2fe54bf --- /dev/null +++ b/data-and-functions-1/src/functions/getProductById.js @@ -0,0 +1,11 @@ +const getProductById = (data, id) => { + if (data == null || data.products == null || id == null) { + return null + }else{ + return data.products.find((p) => { + return p.id === id + }) + } +} + +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..840112a --- /dev/null +++ b/data-and-functions-1/src/functions/getUserById.js @@ -0,0 +1,9 @@ +const getUserById = (data, id) => { + if (data == null || id == null || data.users == null) { + return null + }else{ + return data.users.find((u) => u.id === id) + } +} + +export default getUserById diff --git a/data-and-functions-2/src/functions/getProductsForOrder.js b/data-and-functions-2/src/functions/getProductsForOrder.js new file mode 100644 index 0000000..e69de29