-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.js
More file actions
49 lines (47 loc) · 1.43 KB
/
data.js
File metadata and controls
49 lines (47 loc) · 1.43 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
const jsonfile = require("jsonfile-promised");
const fs = require("fs");
module.exports = {
saveData(course, timeCourseStudied) {
let filePathWithSpentTimeOnCourse = __dirname + "/data/" + course + ".json";
if (fs.existsSync(filePathWithSpentTimeOnCourse)) {
this.addCourseTime(filePathWithSpentTimeOnCourse, timeCourseStudied);
} else {
this.createCourseFile(filePathWithSpentTimeOnCourse, {}).then(() => {
this.addCourseTime(filePathWithSpentTimeOnCourse, timeCourseStudied);
});
}
},
async createCourseFile(filename, contentFile) {
try {
await jsonfile.writeFile(filename, contentFile);
console.log("created File.");
} catch (error) {
console.log(error);
}
},
addCourseTime(courseFile, expendedTimeOnCourse) {
let data = {
lastStudy: new Date().toString(),
time: expendedTimeOnCourse
};
jsonfile
.writeFile(courseFile, data, { spaces: 2 })
.then(() => {
console.log("Time saved successfully.");
})
.catch(error => {
console.log("error: ", error);
});
},
getCourseData(courseName) {
let pathCourseFile = __dirname + "/data/" + courseName + ".json";
return jsonfile.readFile(pathCourseFile);
},
getCourseNames() {
let files = fs.readdirSync(__dirname + "/data/");
let courses = files.map(file => {
return file.substr(0, file.lastIndexOf("."));
});
return courses;
}
};