UNPKG

@speakr/speakr-module-services

Version:
54 lines (45 loc) 1.16 kB
'use strict'; const db = require('../../db'); module.exports = { create, withInfluencerData, byInfluencer }; function byInfluencer(options) { let date = new Date(); date = new Date(date.getFullYear(), date.getMonth() + 1, 1); return Promise.all(options.networks.map(network => db.invoices.findOrCreate({ where: { status: 'pending', influencer_id: options.influencers.id, network_id: network.id }, include: [db.line_items], defaults: { due_at: date, paypal_email: options.influencers.paypal_email } }))) .then((invoices) => { options.invoices = invoices; return Promise.resolve(options); }); } function create(config) { return db.invoices.create(config, {returning:true}) .then((invoice) => { return db.invoices.findOne({ where: {id: invoice.id}, include: [db.line_items] }); }); } function withInfluencerData(influencer_id, paypal_email, network_id) { return db.invoices.create({ influencer_id: influencer_id, paypal_email: paypal_email, status: 'pending', network_id: network_id }); }