@speakr/speakr-module-services
Version:
SPEAKR Shared Service Module
71 lines (66 loc) • 2.47 kB
JavaScript
"use strict";
module.exports = {
publicData,
typeaheadPublicData,
singleInfluencerPaymentsData
};
function publicData(options) {
const networks = options.networks ? options.networks.map(network => network.dataValues ? network.dataValues : network) : null;
options.influencers = {
id: options.influencers.id,
id_hash: options.influencers.id_hash,
email: options.influencers.email,
confirmed_at: options.influencers.confirmed_at,
active: options.influencers.active,
profile: options.influencer_profiles,
accounts: options.accounts,
networks: networks,
name: `${options.influencers.first_name} ${options.influencers.last_name}`,
first_name: options.influencers.first_name,
last_name: options.influencers.last_name,
paypal_email: options.influencers.paypal_email,
sex: options.influencers.sex,
user_hash: options.influencers.user_hash,
date_of_birth: options.influencers.date_of_birth,
city: options.influencers.city,
state: options.influencers.state,
country: options.influencers.country,
status: options.influencers.status,
phone: options.influencers.phone,
secondary_email: options.influencers.secondary_email,
join_date: options.influencers.created_at,
prompted: options.influencers.prompted
};
return Promise.resolve(options);
}
function singleInfluencerPaymentsData(options) {
const id = options.influencer.dataValues ? options.influencer.dataValues.id : options.influencer.id;
const email = options.influencer.dataValues ? options.influencer.dataValues.email : options.influencer.email;
const paypal_email = options.influencer.dataValues ? options.influencer.dataValues.paypal_email : options.influencer.paypal_email;
options.influencer = {
id: id,
email: email,
paypal_email: paypal_email,
};
return Promise.resolve(options.influencer);
}
function typeaheadPublicData(options) {
return Promise.resolve(options.influencers.map(influencer => {
return {
influencer_id: influencer.id,
influencer_email: influencer.email,
accounts: influencer.accounts.map(account => {
return {
current_username: account.current_username,
account_id: account.id,
network_id: account.accounts_network.network_id,
external: account.accounts_network.external,
platform_id: account.platform.id,
platform: account.platform.name,
email: account.account_email
}
}), // end usernames map
}; // end response object
}) // end Promise.resolve
);
}