diff --git a/whatsapp-web.js/src/models/data.js b/whatsapp-web.js/src/models/data.js new file mode 100644 index 0000000..39cbd95 --- /dev/null +++ b/whatsapp-web.js/src/models/data.js @@ -0,0 +1,50 @@ +const { User } = require("../models/user"); +const { Website } = require("../models/website"); + +module.exports.data = new StructuredData(); + +class StructuredData { + + constructor() { + this.data={}; + } + + addUser(id){ + if(this.data[id] != undefined) + { + this.data[id] = new User(id); + return true + } + + return false; + } + + /** + * + * @param {number} id + * @returns {User} + */ + getUser(id){ + return this.data[id]; + } + + deleteUser(id){ + if(this.data[id] != undefined) + { + return delete this.data[id]; + + } + + return false; + } + + +} + +/* +data structured: +data = { + : , + : +} +*/ \ No newline at end of file diff --git a/whatsapp-web.js/src/models/user.js b/whatsapp-web.js/src/models/user.js new file mode 100644 index 0000000..febb440 --- /dev/null +++ b/whatsapp-web.js/src/models/user.js @@ -0,0 +1,43 @@ + +const {Website} = require('./website'); + +class User{ + + constructor(id){ + this.id = id; + //uses key value pair to store website + //key is the companyName of the website + //value is the website itself + this.websites = {}; + } + + /** + * + * @param {Website} website + */ + addWebsite(website){ + if(this.websites[website.companyName] != undefined) + { + return false; + }else{ + this.websites[website.companyName] = website; + return true; + } + } + + deleteWebsite(companyName){ + if(this.websites[companyName] != undefined) + { + return delete this.websites[companyName]; + }else{ + return false + } + } + + getWebsite(companyName){ + return this.websites[companyName]; + } + +} + +module.exports.User = User; \ No newline at end of file