13.0.0 invoice features + configuration

This commit is contained in:
SowinskiBraeden committed 2022-10-16 19:38:09 -07:00
1 parent 43d6a7742a
commit 6f2f24da50
7 files changed
+418 -13

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
const mongoose = require('mongoose');
let invoiceSchema = mongoose.Schema({
invoiceDB: {
userID: String,
guilds: {},
}
});
invoiceSchema.methods.createInvoiceDB = function (userID, guildID) {
this.invoiceDB.userID = userID;
this.invoiceDB.guilds = {};
this.invoiceDB.guilds[guildID] = { invoices: [] };
};
/*
This function is to add a new guild specific invoice list to an already existing
invoiceDB document
or
can be used to reset a data back to default
*/
async function addInvoiceList(guilds, guildID, userID, client) {
let updatedGuilds = guilds;
updatedGuilds[guildID] = { invoices: [] };
await client.dbo.collection("invoices").updateOne({"invoiceDB.userID":userID}, {$set: {"invoiceDB.guilds": updatedGuilds}}, function(err, res) {
if (err) return false
})
return true
}
async function addInvoice(guildID, userID, invoice, client) {
await client.dbo.collection("invoices").updateOne({"invoiceDB.userID": userID}, {$push: {[`invoiceDB.guilds.${guildID}.invoices`]: invoice}}, function(err, res) {
if (err) return false
})
return true
}
module.exports = {
Invoice: mongoose.model('Invoice', invoiceSchema),
addInvoiceList: addInvoiceList,
addInvoice: addInvoice,
};