_(parsedServices) .map(service => getServiceToolingByType(service, app)) .flatten() .filter(service => service.name) .map(service => ([service.name, _.omit(service, 'name')])) .fromPairs() .value()
_(cmds) // Set service if needed .map(cmd => _.isString(cmd) ? _.set({}, fallback, cmd) : cmd) // Extract the service data .map(cmd => _.map(cmd, (cmd, service) => ([service, cmd]))) // Flatten the thing .flatten() // Prefix if needed .map(data => { if (_.includes(needsPrefix, data[0])) data[1] = `/helpers/psh-exec.sh ${data[1]}`; return _.set({}, data[0], data[1]); }) // Return .value()
mailchimp.get('lists/613837077f/interest-categories').then(results => { return Promise.all(_(_.get(results, 'categories', [])) .map(category => category.id) .map(id => mailchimp.get(`lists/613837077f/interest-categories/${id}/interests`)) .value()) .then(categories => _(categories) .map(category => category.interests) .flatten() .map(interest => ({name: interest.name, id: interest.id})) ) .then(interests => _(interests) .filter(interest => _.includes(groups, interest.name)) .map(interest => ([interest.id, true])) .fromPairs() .value() ); }) // Update the contact .then(interests => { const lowerEmail = _.toLower(email); return mailchimp.put(`/lists/613837077f/members/${utils.md5(lowerEmail)}`, { email_address: lowerEmail, interests: _.merge({}, defaults, interests), status: 'subscribed', }); })
_(relationships) .map(relationship => relationship) .flatten() .map('service') .uniqBy() .value()
_(services) .map((config, name) => _.merge({}, config, { aliases: _.has(relationships, name) ? _.map(relationships[name], 'alias') : [], application: false, creds: _(_.get(relationships, name, {})) .map('creds') .flatten() .value(), hostname: name, name, opener: JSON.stringify({relationships: parseServiceRelationships(config)}), })) .value()
.filter(event => _.has(event, 'payload.commits')) .map(event => event.payload.commits) .flatten() .filter(commit => _.has(commit, 'author.name')) .filter(commit => commit.author.name === response.name)
_(apps) .map(app => app.relationships || []) .flatten() .thru(relationships => relationships[0]) .map((relationship, alias) => ({ alias, service: relationship.split(':')[0], endpoint: relationship.split(':')[1], creds: _.get(open, alias, {}), })) .groupBy('service') .value()
_(services) .map(service => getServiceToolingByType(service)) .filter(tools => !_.isEmpty(tools)) .map(tools => _.map(tools, (config, name) => ([name, config]))) .flatten() .fromPairs() .value()
.then(() => { const count = _(result) .flatten() .countBy() .value();
.flatten() .value();
function registerInRedis(worker, redisConnection, stats) { return new Promise(function (resolve, reject) { var keyName = "chatUp:chatServer:" + worker._conf.uuid; redisConnection.multi() .hmset(keyName, { host: worker._conf.host, connections: _(worker._workers).map('stats').map('connections').sum(), pubStats: JSON.stringify(_(worker._workers).map('stats').map('channels').flatten().compact().reduce(function (stats, channel) { stats[channel.name] = _.union(stats[channel.name] || [], channel.publishers); return stats; }, {})), subStats: JSON.stringify(stats) }) .pexpire(keyName, worker._conf.expireDelay) .exec(function (err, results) { if (err) { logger.captureError(logger.error('Redis register', { err: err })); return reject(err); } return resolve(); }); }); }
async getAllPullRequests({author, repo, user, assignee}) { author.values = _(await Promise.all( author.values.map((author) => { return this.isTeam(author) ? this.getTeamMembers(author) : author }) )).flatten() .uniq() .value() const prs = await this.getPullRequestsForAuthors(author, repo, user, assignee) return _.flattenDeep(prs) }
mailchimp.get('lists/613837077f/interest-categories').then(results => { return Promise.all(_(_.get(results, 'categories', [])) .map(category => category.id) .map(id => mailchimp.get(`lists/613837077f/interest-categories/${id}/interests`)) .value()) .then(categories => _(categories) .map(category => category.interests) .flatten() .map(interest => ({name: interest.name, id: interest.id})) ) .then(interests => _(interests) .filter(interest => _.includes(groups, interest.name)) .map(interest => ([interest.id, true])) .fromPairs() .value() ); }) // Update the contact .then(interests => { const lowerEmail = _.toLower(email); return mailchimp.put(`/lists/613837077f/members/${utils.md5(lowerEmail)}`, { email_address: lowerEmail, interests: _.merge({}, defaults, interests), status: 'subscribed', }); })
.filter(event => _.has(event, 'payload.commits')) .map(event => event.payload.commits) .flatten() .filter(commit => _.has(commit, 'author.name')) .filter(commit => commit.author.name === response.name)