| 1234567891011121314151617181920212223242526272829303132 |
- 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 },
- callback
- )
- }
- }
- module.exports = Publisher
|