feat: Create activity log
This commit is contained in:
parent
9443810678
commit
8152c172a9
3 changed files with 78 additions and 11 deletions
|
@ -1,11 +1,12 @@
|
|||
const Entry = require(`./object.JS`);
|
||||
|
||||
class Log extends Entry {
|
||||
// Default properties
|
||||
name;
|
||||
ID;
|
||||
count;
|
||||
activities;
|
||||
/* Default properties
|
||||
name;
|
||||
ID;
|
||||
count;
|
||||
activities;
|
||||
*/
|
||||
|
||||
constructor(PROPERTIES) {
|
||||
super(PROPERTIES);
|
||||
|
@ -23,11 +24,13 @@ class Log extends Entry {
|
|||
const clean_activities = () => {
|
||||
if ((this.activities instanceof Array) ? this.activities.length : false) {
|
||||
for (let INDEX = 0; INDEX < this.activities.length ; INDEX++) {
|
||||
[`username`].forEach((TBD) => {
|
||||
if (Object.keys(this.activities[INDEX].includes(TBD))) {
|
||||
delete this.activities[INDEX][TBD]
|
||||
}
|
||||
[`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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
const DBManagement = require(`./management.JS`);
|
||||
|
||||
const Activity = require(`../entry/activity.JS`);
|
||||
const Log = require(`../entry/log.JS`);
|
||||
|
||||
class ActivityManagement extends DBManagement {
|
||||
constructor() {
|
||||
|
@ -37,6 +38,24 @@ class ActivityManagement extends DBManagement {
|
|||
let CURRENT = await createActivity();
|
||||
return (CURRENT);
|
||||
};
|
||||
|
||||
/* Search for all activities for a given user.
|
||||
|
||||
@param {String} USERNAME the username
|
||||
@param {Object} CRITERIA the search criteria
|
||||
@param {Number} SIZE the size
|
||||
@return {Object} the log
|
||||
*/
|
||||
async search_User (USERNAME, CRITERIA, SIZE) {
|
||||
let RESULT = await this.search(Object.assign({}, CRITERIA, {"username": USERNAME}), SIZE);
|
||||
|
||||
const convertData = () => {
|
||||
let LOG = new Log({"name": USERNAME, "activities": (RESULT instanceof Array ? RESULT.length : false) ? RESULT : []});
|
||||
return (LOG);
|
||||
}
|
||||
|
||||
return(convertData());
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ActivityManagement;
|
Loading…
Add table
Add a link
Reference in a new issue