3 Copyright 2016-2017, Huawei Technologies Co., Ltd.
\r
5 Licensed under the Apache License, Version 2.0 (the "License");
\r
6 you may not use this file except in compliance with the License.
\r
7 You may obtain a copy of the License at
\r
9 http://www.apache.org/licenses/LICENSE-2.0
\r
11 Unless required by applicable law or agreed to in writing, software
\r
12 distributed under the License is distributed on an "AS IS" BASIS,
\r
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
14 See the License for the specific language governing permissions and
\r
15 limitations under the License.
\r
19 var express = require('express');
\r
20 var router = express.Router();
\r
21 /*var js2xmlparser = require("js2xmlparser");
\r
22 var xml2js = require('xml2js');*/
\r
23 var fs = require('fs');
\r
24 var http = require('http');
\r
25 var bodyParser = require('body-parser');
\r
26 var path=require('path');
\r
28 var MongoClient = require('mongodb').MongoClient;
\r
29 var ObjectId = require('mongodb').ObjectId;
\r
31 var url = 'mongodb://localhost/rest_test';
\r
33 /*var exists = require('file-exists');*/
\r
35 // ############################################ Sign In code #################################################
\r
37 router.post('/signin', function (req, res) {
\r
38 console.log("signin");
\r
40 "name": req.body.name,
\r
41 "pswd": req.body.pswd
\r
47 ObjLst = JSON.parse(fs.readFileSync('input.json', 'utf8'));
\r
48 for(var index = 0; index < ObjLst.length; index++) {
\r
49 if (ObjLst[index].name === req.body.name && ObjLst[index].pswd === req.body.pswd) {
\r
50 console.log("success");
\r
53 res.statusMessage="Sucessfully loged in";
\r
57 if (nameExist != 1) {
\r
58 console.log("failed");
\r
60 res.statusMessage="failed to login";
\r
65 // ############################################ Sign Up Code #################################################
\r
67 router.post('/signup', function (req, res) {
\r
69 console.log("in api.js");
\r
72 var nameNotExist =0;
\r
74 "name": req.body.name,
\r
75 "pswd": req.body.pswd,
\r
76 "email": req.body.email
\r
78 if(fs.existsSync("input.json")) {
\r
79 console.log("File Exist");
\r
80 ObjLst = JSON.parse(fs.readFileSync('input.json', 'utf8'));
\r
83 for(var index = 0; index < ObjLst.length; index++) {
\r
84 if (ObjLst[index].name === req.body.name && ObjLst[index].email === req.body.email) {
\r
85 console.log("success");
\r
90 if (nameNotExist == 0) {
\r
92 console.log(ObjLst);
\r
93 fs.writeFile('input.json', JSON.stringify(ObjLst), function(err) {
\r
95 return console.error(err);
\r
97 console.log("Data written successfully!");
\r
98 console.log("Let's read newly written data");
\r
100 res.statusMessage="Sucessfully signed up";
\r
106 function getDataFrmProvince() {
\r
107 var provinceData =[] ;
\r
108 if(fs.existsSync("provinceData.json")) {
\r
109 console.log("File Exist");
\r
110 provinceData = JSON.parse(fs.readFileSync('provinceData.json', 'utf8'));
\r
112 return provinceData;
\r
115 function saveDataToProvince(provinceData) {
\r
116 fs.writeFile('provinceData.json', JSON.stringify(provinceData), function(err) {
\r
117 var statueCode = 0;
\r
119 console.error(err);
\r
120 return statueCode = 404;
\r
122 console.log("Data written successfully!");
\r
123 console.log("Let's read newly written data");
\r
124 return statueCode = 200;
\r
128 function getIndexOfIdProvince(id) {
\r
129 var provinceData = getDataFrmProvince();
\r
130 var returnIndx = -1;
\r
131 for (var index = 0; index < provinceData.length; index++) {
\r
132 if(provinceData[index].id == id) {
\r
133 returnIndx = index;
\r
140 function deleteIdFromProvince(idList) {
\r
141 var provinceData = getDataFrmProvince();
\r
142 /*for (var index = 0; index < provinceData.length; index++) {
\r
143 if(provinceData[index].id == id) {
\r
144 console.log("Deleting id : " + index);
\r
145 provinceData.splice(index, 1);
\r
149 for(var i = 0; i < idList.length; i++) {
\r
150 for (var index = 0; index < provinceData.length; index++) {
\r
151 if(provinceData[index].id == idList[i]) {
\r
152 console.log("Deleting id : " + index);
\r
153 provinceData.splice(index, 1);
\r
158 return provinceData;
\r
161 router.get('/getAllProvinceData', function (req, res) {
\r
162 var provinceData = getDataFrmProvince();
\r
164 output = '{"provinceData" : ' + JSON.stringify(provinceData) + '}';
\r
166 res.setHeader("Content-Type", "application/json");
\r
167 console.log("output : " + JSON.stringify(output));
\r
170 /*MongoClient.connect(url, function(err, db) {
\r
171 console.log("Connected... :-)");
\r
172 var cursor = db.collection('ProvinceData').find({},function(err, cursor) {
\r
173 cursor.toArray(function (err, items) {
\r
174 output = '{"provinceData" : ' + JSON.stringify(items) + '}';
\r
176 res.setHeader("Content-Type", "application/json");
\r
177 //console.log("output : " + JSON.stringify(output));
\r
181 db.close(function(){
\r
182 console.log("Connection Closed... :-)");
\r
188 router.post('/addProvinceData', function(req, res) {
\r
189 var provinceData = getDataFrmProvince();
\r
190 var gen_id = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
\r
191 provinceData.push({
\r
193 "province_name": req.body.province_name,
\r
195 "port": req.body.port
\r
197 var statusCode = saveDataToProvince(provinceData);
\r
198 res.statusCode=statusCode;
\r
200 if(statusCode == 200) {
\r
201 res.statusMessage="Sucessfully signed up";
\r
204 res.statusMessage="Error";
\r
207 /*MongoClient.connect(url, function(err, db) {
\r
208 db.collection('ProvinceData').insertOne({
\r
209 province_name: req.body.province_name,
\r
211 port: req.body.port
\r
215 res.statusCode=200;
\r
216 res.statusMessage="Sucessfully signed up";
\r
220 router.post('/deleteProvinceData', function (req, res) {
\r
221 //var provinceData = getDataFrmProvince();
\r
222 console.log("IdList: "+ req.body.idList);
\r
223 /*for(var i = req.body.idList.length - 1; i >= 0; i--) {
\r
224 var index = getIndexOfIdProvince(req.body.idList[i]);
\r
225 console.log("Deleting id : " + index);
\r
227 provinceData.splice(index, 1);
\r
229 //deleteIdFromProvince(req.body.idList[i]);
\r
232 var provinceData = deleteIdFromProvince(req.body.idList);
\r
234 saveDataToProvince(provinceData);
\r
236 /*MongoClient.connect(url, function(err, db) {
\r
238 console.log("Deleting Province Data... " + req.body.idList);
\r
239 for(var i = 0; i < req.body.idList.length; i++) {
\r
240 db.collection('ProvinceData').deleteOne({ "_id": ObjectId(req.body.idList[i])});
\r
242 /!*db.collection('ProvinceData').deleteOne({ "_id": ObjectId(req.body.idList)});*!/
\r
244 db.close(function(){
\r
245 console.log("Connection Closed... :-)");
\r
249 res.statusCode=200;
\r
250 res.statusMessage="Sucessfully signed up";
\r
254 router.post('/editProvinceData', function (req, res) {
\r
255 var provinceData = getDataFrmProvince();
\r
256 var index = getIndexOfIdProvince(req.body.id);
\r
257 console.log("Editing id : " + index);
\r
259 provinceData[index].province_name = req.body.province_name;
\r
260 provinceData[index].ip = req.body.ip;
\r
261 provinceData[index].port = req.body.port;
\r
263 saveDataToProvince(provinceData);
\r
265 res.statusCode=200;
\r
266 res.statusMessage="Sucessfully signed up";
\r
268 /*MongoClient.connect(url, function(err, db) {
\r
270 console.log("Editing Province Data... " + req.body._id);
\r
271 db.collection('ProvinceData').updateOne(
\r
272 { "_id": ObjectId(req.body._id)},
\r
274 $set: {'province_name': req.body.province_name, 'ip': req.body.ip, 'port': req.body.port}
\r
278 db.close(function(){
\r
279 console.log("Connection Closed... :-)");
\r
286 module.exports = router;
\r