From 05f6039097f14410c9f0619da364af7f9bec1c5f Mon Sep 17 00:00:00 2001 From: iiitusports <48440568+iiitusports@users.noreply.github.com> Date: Tue, 8 Oct 2019 23:56:07 +0530 Subject: [PATCH] Add this for JSON Handling --- index.js | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..bda5362 --- /dev/null +++ b/index.js @@ -0,0 +1,82 @@ +var express = require('express'); +const fetch = require('node-fetch'); +var app = express(); +const url = 'https://wildcraft.fieldassist.io/Reports/BookingData_New/GetData?retailercode=100005' +function groupBy(objectArray, property) { + return objectArray.reduce(function (acc, obj) { + var key = obj[property]; + if (!acc[key]) { + acc[key] = []; + acc[key].push(obj); + } else { + var flag = 0; + for (var i = 0; i < acc[key].length; i++) { + if (acc[key][i].Option === obj.Option) { + var temp = {} + temp.size = obj.Size; + temp.CurrentQuantity = obj.CurrentQuantity; + acc[key][i].allSize.push(temp); + flag = 1; + break; + } + } + if (!flag) { + acc[key].push(obj); + } + } + return acc; + }, {}); +} + +var groupedData; + +function fetchData() { + fetch(url) + .then(function (res) { + return res.json() + }) + .then(function (json) { + //console.log(json); + var data = json.map(function (obj) { + var temp = { + // RetailerCode: obj.RetailerCode, + // RetailerName: obj.RetailerName, + // ASM: obj.ASM, + // Distributor: obj.Distributor, + Brand: obj.Brand, + Gender: obj.Gender, + Category: obj.Category, + //SubCategory: obj.SubCategory, + // Channel: obj.Channel, + // Region: obj.Region, + // StyleName: obj.StyleName, + Option: obj.Option, + // Delivery: obj.Delivery, + // Color: obj.Color, + // MRP: obj.MRP, + // ERPCode: obj.ERPCode, + Quality: obj.Quality, + Size: obj.Size, + allSize: [], + // SizeERPCode: obj.SizeERPCode, + //VenueQuantity: obj.VenueQuantity, + CurrentQuantity: parseInt(obj.CurrentQuantity), + // OrderDate: obj.OrderDate, + Image: obj.Image + }; + return temp; + }) + console.log(data); + groupedData = groupBy(data, 'Category'); + //console.log(groupedData); + }); +} + +fetchData(); +app.get('/', function (req, res) { + res.send(groupedData); +}) + +app.listen(3000, function (err) { + console.log('Running at http://localhost:3000/') +}) \ No newline at end of file