-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtaskService.js
More file actions
107 lines (100 loc) · 4.16 KB
/
taskService.js
File metadata and controls
107 lines (100 loc) · 4.16 KB
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
const dbContext = require('./dbContext');
class Service {
constructor () { }
async getTasks () {
return new Promise (async (resolve, reject) => {
await dbContext.connect();
let query = "select * from task";
let params = [];
dbContext.db.all(query, params, function(error, result) {
if(error){
let serviceResult = { status: "failure", message: error, data: null};
console.error(serviceResult);
reject(serviceResult);
}
else {
let serviceResult = { status:"success", message: "Tasks retrieved.", data: result };
console.log(serviceResult);
resolve(serviceResult);
}
});
});
}
async getTask (id) {
return new Promise (async (resolve, reject) => {
await dbContext.connect();
let query = "select * from task where id = ?";
let params = [id];
dbContext.db.get(query, params, function(error, result) {
if(error){
let serviceResult = { status: "failure", message: error, data: null};
console.error(serviceResult);
reject(serviceResult);
}
else {
let serviceResult = { status:"success", message: "Task retrieved.", data: result };
console.log(serviceResult);
resolve(serviceResult);
}
});
});
}
async addTask (task) {
return new Promise (async (resolve, reject) => {
await dbContext.connect();
let query = "insert into task (id, name, description, status, priority) values (?,?,?,?,?)";
let params = [task.id, task.name, task.description, task.status, task.priority];
dbContext.db.run(query, params, function(error, result) {
if(error){
let serviceResult = { status: "failure", message: error, data: null};
console.error(serviceResult);
reject(serviceResult);
}
else {
let serviceResult = { status:"success", message: "Task added.", data: result };
console.log(serviceResult);
resolve(serviceResult);
}
});
});
}
async updateTask (task) {
return new Promise (async (resolve, reject) => {
await dbContext.connect();
let query = "update task set name = ?, description = ?, status = ?, priority = ? where id = ?";
let params = [task.name, task.description, task.status, task.priority, task.id];
dbContext.db.run(query, params, function(error, result) {
if(error){
let serviceResult = { status: "failure", message: error, data: null};
console.error(serviceResult);
reject(serviceResult);
}
else {
let serviceResult = { status:"success", message: "Task updated.", data: result };
console.log(serviceResult);
resolve(serviceResult);
}
});
});
}
async deleteTask (id) {
return new Promise (async (resolve, reject) => {
await dbContext.connect();
let query = "delete from task where id = ?";
let params = [id];
dbContext.db.run(query, params, function(error, result) {
if(error){
let serviceResult = { status: "failure", message: error, data: null};
console.error(serviceResult);
reject(serviceResult);
}
else {
let serviceResult = { status:"success", message: "Task deleted.", data: result };
console.log(serviceResult);
resolve(serviceResult);
}
});
});
}
}
module.exports = Service;