Add activities management
This commit is contained in:
parent
9151a88ce5
commit
dcbd5015d2
3 changed files with 91 additions and 1 deletions
|
@ -11,8 +11,25 @@ class Activity extends Entry {
|
|||
|
||||
constructor(PROPERTIES) {
|
||||
super(PROPERTIES);
|
||||
|
||||
// Set a default date value.
|
||||
this.date = this.date ? this.date : new Date(Date.now());
|
||||
this.set_date(this.date);
|
||||
};
|
||||
|
||||
/*
|
||||
Store the date with the corresponding ECMA value. If not, the existing date value is converted.
|
||||
|
||||
@param {Date} DATE the date
|
||||
@return {Number} the date in ECMA
|
||||
*/
|
||||
set_date(DATE) {
|
||||
if (DATE || this.date) {
|
||||
this.date = parseInt((new Date(DATE || this.date)).getTime());
|
||||
return (this.date);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Generate a schema for MongoDB.
|
||||
|
||||
|
|
|
@ -1,2 +1,42 @@
|
|||
const DBManagement = require(`./management.JS`);
|
||||
|
||||
const Activity = require(`../entry/activity.JS`);
|
||||
|
||||
class ActivityManagement extends DBManagement {
|
||||
constructor() {
|
||||
super(`localhost:27017`, `Activity-Tracker`);
|
||||
this.configure(`Activities`, Activity.generateTemplate());
|
||||
};
|
||||
|
||||
/*
|
||||
Create a user. The ID will be automatically generated.
|
||||
|
||||
@param {string} DETAILS the activity's details
|
||||
@param {object} OPTIONS the account options
|
||||
@return {object} the user data
|
||||
*/
|
||||
async create(DETAILS, OPTIONS, done) {
|
||||
await this.state;
|
||||
|
||||
/*
|
||||
Create an activity.
|
||||
*/
|
||||
const createActivity = async () => {
|
||||
let CREATED = new Activity(DETAILS);
|
||||
|
||||
let ENTRY = new this.model(CREATED);
|
||||
try {
|
||||
let RESULT = await ENTRY.save();
|
||||
} catch(ERROR) {
|
||||
throw new CustomErrors.DBProblem(ERROR.message);
|
||||
}
|
||||
|
||||
return (CREATED);
|
||||
}
|
||||
|
||||
let CURRENT = await createActivity();
|
||||
return (CURRENT);
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = ActivityManagement;
|
Loading…
Add table
Add a link
Reference in a new issue