diff --git a/src/managers/UserNoteManager.js b/src/managers/UserNoteManager.js new file mode 100644 index 00000000..d31bf07 --- /dev/null +++ b/src/managers/UserNoteManager.js @@ -0,0 +1,33 @@ +'use strict'; + +const { Collection } = require('@discordjs/collection'); +const BaseManager = require('./BaseManager'); + +/** + * Manages API methods for Client and stores their cache. + * @extends {BaseManager} + */ +class UserNoteManager extends BaseManager { + constructor(client, data = {}) { + super(client); + /** + * Cache User Note + * @type {Collection} + */ + this.cache = new Collection(Object.entries(data)); + } + + _reload(data = {}) { + this.cache = new Collection(Object.entries(data)); + return this; + } + + async updateNote(id, note = null) { + await this.client.api.users['@me'].notes(id).put({ data: { note } }); + if (!note) this.cache.delete(id, note); + else this.cache.set(id, note); + return this; + } +} + +module.exports = UserNoteManager;