forked from chandu2416/BlockChain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
141 lines (127 loc) · 11.7 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Get dependencies
const express = require('express');
const app = express();
require('dotenv').config();
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
const cors = require('cors')
// Get our API routes
const kapy_api = require('./server/routes/kapy_api');
const login_api = require('./server/routes/login_api');
const verify_api = require('./server/routes/verify_api');
//Middle ware for CORS
app.use(cors());
// Parsers for POST data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Point static path to dist
app.use(express.static(path.join(__dirname, 'dist')));
// Set our API routes based on application routes
app.use('/login', login_api);
app.use('/manageFarmerRecords', kapy_api);
app.use('/verify', verify_api);
// Catch all other routes and return the index file
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
app.post('/farmerRecordStatus', function(req,res){
//Call to chaincode
//console.log("Name :- "+req.body.name);
// Set the headers
var headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
// console.log(headers);
// Configure the request
var options = {
url: 'http://34.231.43.57:4000/users',
method: 'POST',
headers: headers,
form: {'username': req.body.name, 'orgName': 'agent'}
}
// console.log(options);
request(options, function (error, response, body) {
//console.log(response);
if (!error && response.statusCode == 200) {
// Print out the response body
var temp = JSON.parse(body);
token = temp.token;
}
});
console.log("Number for reference Identifier number",req.body.id);
console.log("token",temp.token);
var headers = {
'authorization': 'Bearer '+temp.token,
'Content-Type': 'application/json'
}
var tempArgs=[];
tempArgs.push({'UName':'First University'});
//console.log("Testing the output",JSON.stringify(tempArgs));
var strfy = JSON.stringify(tempArgs);
// Configure the request
var options = {
url: 'http://34.231.43.57:4000/channels/mychannel/chaincodes/studentcc',
method: 'POST',
headers: headers,
body: {
'fcn': 'create',
'args': [req.body.id,JSON.stringify({'Name':req.body.name})]
},
json:true
//form: {'fcn': 'create', 'args':strfy }
}
//console.log("Req for options", options);
// Start the request
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body
//Code for illunoise code testing
//var input = '%5B%22a%22%5D';
var input = [];
input.push('a');
var options = {
url: 'http://34.231.43.57:4000/channels/mychannel/chaincodes/studentcc?peer=peer1&fcn=get&args=%5B%22'+req.body.id+'%22%5D',
method: 'GET',
headers: headers
}
// console.log("Get command"+options);
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body
console.log("Response from GET ",body)
}
var response = {
status : 200,
message : 'Status updated.'
}
res.send(JSON.stringify(response));
});
}
});
});
//end of chain code
/**
* Get port from environment and store in Express.
*/
const port = process.env.PORT || '3001';
app.set('port', port);
/**
* Create HTTP server.
*/
const server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port, () => console.log(`API running on localhost:${port}`));