32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
const request = require('request-promise')
|
|
const _ = require('lodash')
|
|
|
|
module.exports = {
|
|
Query: {
|
|
async contribute() { return {} }
|
|
},
|
|
ContributeQuery: {
|
|
async contributors(obj, args, context, info) {
|
|
const resp = await request({
|
|
uri: 'https://opencollective.com/wikijs/members/all.json',
|
|
json: true
|
|
})
|
|
return _.filter(resp, c => {
|
|
return c.role === 'BACKER' && c.totalAmountDonated > 0
|
|
}).map(c => ({
|
|
company: _.get(c, 'company', '') || '',
|
|
currency: _.get(c, 'currency', 'USD') || 'USD',
|
|
description: _.get(c, 'description', '') || '',
|
|
id: _.get(c, 'MemberId', 0),
|
|
image: _.get(c, 'image', '') || '',
|
|
name: _.get(c, 'name', 'Anonymous') || '',
|
|
profile: _.get(c, 'profile', ''),
|
|
tier: _.toLower(_.get(c, 'tier', 'backers')),
|
|
totalDonated: Math.ceil(_.get(c, 'totalAmountDonated', 0)),
|
|
twitter: _.get(c, 'twitter', '') || '',
|
|
website: _.get(c, 'website', '') || ''
|
|
}))
|
|
}
|
|
}
|
|
}
|