-
Notifications
You must be signed in to change notification settings - Fork 0
/
controllers.js
98 lines (88 loc) · 2.34 KB
/
controllers.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
var fs = require('fs');
import * as FileSystemService from "./file-system.service";
import * as RequestUtils from "./request.utils";
export function initial(req, res, next) {
console.log("Country of initial requests: " + req.body.country);
fs.readFile(RequestUtils.getCountry(req) + ".json", "utf8", function(err, object) {
if (err) {
}
if (object != null && object.length > 0) {
console.log(JSON.parse(object).data);
res.send(JSON.parse(object).data);
} else {
console.log("JSON file is empty");
res.send("JSON file is empty");
}
});
}
export function registerPost(req, res, next) {
fs.readFile(RequestUtils.getCountry(req) + ".json", "utf8", function(err, object) {
if (err) {
}
try {
jsonObject = JSON.parse(object);
} catch (err) {}
//incrementing the unique id items get
try {
var idNumb = jsonObject.data[jsonObject.data.length - 1].id + 1;
} catch (err) {
idNumb = 1;
}
var title = req.body.title;
var text = req.body.text;
var likes = 0;
var postedBy = req.body.postedby;
jsonObject.data.push({
id: idNumb,
title: title,
text: text,
likes: likes,
postedby: postedBy
});
fs.writeFileSync(
RequestUtils.getCountry(req) + ".json",
JSON.stringify(jsonObject),
"utf8",
function(err) {
if (err) {
}
console.log("Item with title " + title + " to JSON file");
}
);
});
console.log(
"New post has been written. Country: " +
req.body.country +
" by username: " +
req.body.postedby
);
}
export function deletePost(req, res, next) {
//console.log('Delete post req received '+req.body.title+ ' country '+req.body.country);
fs.readFile(RequestUtils.getCountry(req) + ".json", "utf8", function(err, object) {
if (err) {
}
if (object.length > 0) {
var x = JSON.parse(object).data.filter(function(a) {
return a.title != req.body.title && a.text != req.body.text;
});
if (x.length === 0) {
FileSystemService.writeJson(
req,
res,
JSON.stringify({
data: []
})
);
} else {
FileSystemService.writeJson(
req,
res,
JSON.stringify({
data: x
})
);
}
}
});
}