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