@speakr/speakr-module-services
Version:
SPEAKR Shared Service Module
47 lines (43 loc) • 1.36 kB
JavaScript
;
const db = require('../../db');
const account = require('../../features/account');
module.exports = function (options) {
return db.influencers_networks.findOne({
where: {
network_id: options.networks.id,
influencer_id: options.influencers.id
}
})
.then(influencers_networks => {
if (!!influencers_networks) {
options.influencers_networks = influencers_networks;
return Promise.resolve(options);
} else {
return db.influencers_networks.create({
network_id: options.networks.id,
influencer_id: options.influencers.id
}).then(influencers_networks => {
if (!!influencers_networks) {
options.influencers_networks = influencers_networks;
return Promise.resolve(options);
} else {
return Promise.resolve(options);
}
}
);
}
})
.then(options => {
options.include_pages = true;
return account.read.byInfluencer(options);
})
.then(options =>
Promise.all(options.accounts.map(account =>
db.accounts_networks.findOrCreate({
where: {
account_id: account.id,
network_id: options.influencers_networks.network_id
}})
)))
.then(promises => Promise.resolve(options));
};