Upload DBParser.js
Add parser for activities, user, and log
This commit is contained in:
parent
8809c06912
commit
8b7349c9bc
1 changed files with 100 additions and 0 deletions
100
scripts/DBParser.JS
Normal file
100
scripts/DBParser.JS
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
/*
|
||||||
|
Modify data returned by the database connector scripts. s
|
||||||
|
*/
|
||||||
|
class DBParser {
|
||||||
|
mappings;
|
||||||
|
data;
|
||||||
|
|
||||||
|
constructor(DATA = {}, MAPPINGS = {}) {
|
||||||
|
this.data = DATA;
|
||||||
|
this.mappings = MAPPINGS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Modify the data for output.
|
||||||
|
|
||||||
|
@return {Object} cleaned data
|
||||||
|
*/
|
||||||
|
format () {
|
||||||
|
let ENTRIES;
|
||||||
|
/*
|
||||||
|
Map certain new keys to their orignal counterparts.
|
||||||
|
*/
|
||||||
|
const map = (ROW) => {
|
||||||
|
let RESULT = {};
|
||||||
|
Object.entries(this.mappings).forEach(([NEW, OLD]) => {
|
||||||
|
if (Object.keys(ROW).includes(OLD)) {
|
||||||
|
RESULT[NEW] = (typeof ROW[OLD]).includes(`str`) ? ROW[OLD].trim() : ROW[OLD];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return RESULT;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (this.data instanceof Array) {
|
||||||
|
ENTRIES = [];
|
||||||
|
|
||||||
|
(this.data.length) ? this.data.forEach((SELECTED) => {
|
||||||
|
if (SELECTED) {
|
||||||
|
let CLEANED = map(SELECTED);
|
||||||
|
(Object.keys(CLEANED).length) ? ENTRIES.push(CLEANED) : false;
|
||||||
|
};
|
||||||
|
}) : false;
|
||||||
|
} else if (this.data && this.data instanceof Object) {
|
||||||
|
ENTRIES = map(this.data);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.cleaned = ENTRIES;
|
||||||
|
return (this.cleaned);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
DBParser.User = class User extends DBParser {
|
||||||
|
/*
|
||||||
|
Modify user information.
|
||||||
|
|
||||||
|
@param {Object} ENTRY the selected entry, or the entries
|
||||||
|
*/
|
||||||
|
constructor(DATA) {
|
||||||
|
super(DATA, {
|
||||||
|
"_id": "ID",
|
||||||
|
"username": "name"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DBParser.Activity = class Activity extends DBParser {
|
||||||
|
/*
|
||||||
|
Modify user information.
|
||||||
|
|
||||||
|
@param {Object} ENTRY the selected entry, or the entries
|
||||||
|
*/
|
||||||
|
constructor(ENTRY) {
|
||||||
|
super(DATA, {
|
||||||
|
"_id": "ID",
|
||||||
|
"username": "username",
|
||||||
|
"description": "description",
|
||||||
|
"duration": "duration",
|
||||||
|
"date": "date"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DBParser.Log = class Log extends DBParser {
|
||||||
|
/*
|
||||||
|
Clean the log information.
|
||||||
|
|
||||||
|
@param {Object} ENTRY the selected entry, or the entries
|
||||||
|
*/
|
||||||
|
constructor(ENTRY) {
|
||||||
|
super(ENTRY, {
|
||||||
|
"_id": "ID",
|
||||||
|
"username": "name",
|
||||||
|
"count": "count",
|
||||||
|
"log": "activities"
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = DBParser;
|
Loading…
Add table
Add a link
Reference in a new issue