-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcrud.js
118 lines (105 loc) · 2.47 KB
/
crud.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
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const MongoClient = require('mongodb').MongoClient;
const jwt = require('jsonwebtoken');
const password = 'shhhhh';
var url = '';
var client;
var isConnected = false;
function sendjson(res, json) {
var encode = jwt.sign(json, password);
res.status(200).json({token: encode});
}
function setUrl(Url) {
url = Url;
client = new MongoClient(url, { useUnifiedTopology: true });
}
function getUrl() {
return url;
}
function connect() {
if (!isConnected) {
try {
client.connect();
// mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true });
isConnected = true;
}
catch (e) {
isConnected = false;
console.log('Error: could not connect to database!');
}
}
return isConnected;
}
const find = async (table, json) => {
var results;
var error = '';
if (connect()) {
var db = client.db();
results = await db.collection(table).find(json).toArray();
if (results.length <= 0) {
error = 'could not find data';
}
}
else {
error = 'could not connect to database';
}
return { Results: results, error: error };
};
// const search = async (table, field, data) => {
// var db = client.db();
// var results = await db.collection(table).find({ field: { $regex: data + '.*', $options: 'r' } }).toArray();
// return results;
// };
const update = function(table, json1, json2) {
var results;
var error = '';
if(connect()){
var db = client.db();
results = db.collection(table).updateOne(json1, { $set: json2 });
}
else{
error = 'could not connect to database';
}
return { Results: results, error: error };
};
const add = async (table, json) => {
var results;
var error = '';
if(connect()){
try {
var db = client.db();
results = db.collection(table).insertOne(json);
}
catch (e) {
error = e.toString();
}
}
else{
error = 'could not connect to database';
}
return { Results: results, error: error };
}
const del = function(table, json) {
var results;
var error = '';
if (connect()) {
var db = client.db();
results = db.collection(table).deleteOne(json);
}
else{
error = 'could not connect to database';
}
return { Results: results, error: error };
}
module.exports = {
find: find,
setUrl: setUrl,
getUrl: getUrl,
connect: connect,
add: add,
delete: del,
update: update,
sendjson: sendjson
}