const { ObjectId } = require('mongodb') const PublisherModel = require('../../../../app/src/models/Publisher').Publisher let count = parseInt(Math.random() * 999999) class Publisher { constructor(options = {}) { this.slug = options.slug || `publisher-slug-${count}` this.managerIds = [] count += 1 } ensureExists(callback) { const filter = { slug: this.slug } const options = { upsert: true, new: true, setDefaultsOnInsert: true } PublisherModel.findOneAndUpdate(filter, {}, options, (error, publisher) => { this._id = publisher._id callback(error) }) } setManagerIds(managerIds, callback) { return PublisherModel.findOneAndUpdate( { _id: ObjectId(this._id) }, { managerIds: managerIds }, callback ) } } module.exports = Publisher