43 lines
No EOL
985 B
JavaScript
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; |