FCC-Project_Exercise-Tracker/scripts/database/entry/log.JS
2025-04-11 01:14:31 +00:00

43 lines
No EOL
985 B
JavaScript

const Entry = require(`./object.JS`);
class Log extends Entry {
/* Default properties
name;
ID;
count;
activities;
*/
constructor(PROPERTIES) {
super(PROPERTIES);
this.calculate();
}
/*
Update and clean information.
*/
calculate () {
const set_activitiesCount = () => {
this.count = (this.activities instanceof Array) ? this.activities.length : 0;
};
const clean_activities = () => {
if ((this.activities instanceof Array) ? this.activities.length : false) {
for (let INDEX = 0; INDEX < this.activities.length ; INDEX++) {
[`username`, `_id`, `__v`].forEach((TBD) => {
delete this.activities[INDEX][`_doc`][TBD];
})
if (this.activities[INDEX][`_doc`][`date`]) {
this.activities[INDEX][`_doc`][`date`] = (new Date(this.activities[INDEX][`_doc`][`date`])).toDateString();
}
}
}
}
clean_activities();
set_activitiesCount();
}
}
module.exports = Log;