mirror of
https://github.com/oceanprotocol/community-numbers.git
synced 2024-12-22 09:13:24 +01:00
more refactor
This commit is contained in:
parent
0ded2b045e
commit
a9bf257d71
16
api/index.js
16
api/index.js
@ -1,11 +1,11 @@
|
||||
import { logError } from '../utils'
|
||||
import { logError } from './utils'
|
||||
|
||||
import fetchGitHubRepos from '../networks/github'
|
||||
import fetchBounties from '../networks/bounties'
|
||||
import fetchMedium from '../networks/medium'
|
||||
import fetchTwitter from '../networks/twitter'
|
||||
import fetchTelegram from '../networks/telegram'
|
||||
import fetchDiscord from '../networks/discord'
|
||||
import fetchGitHubRepos from './networks/github'
|
||||
import fetchBounties from './networks/bounties'
|
||||
import fetchMedium from './networks/medium'
|
||||
import fetchTwitter from './networks/twitter'
|
||||
import fetchTelegram from './networks/telegram'
|
||||
import fetchDiscord from './networks/discord'
|
||||
|
||||
//
|
||||
// Create the response
|
||||
@ -55,6 +55,8 @@ export default async (req, res) => {
|
||||
const discord = await fetchDiscord()
|
||||
response = { ...response, discord }
|
||||
} catch (error) {
|
||||
// fake fallback response cause puppeteer fails a lot
|
||||
response = { ...response, discord: { members: '240' } }
|
||||
logError(error.message)
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
const fetch = require('node-fetch')
|
||||
const { log, logError } = require('../utils')
|
||||
import fetch from 'node-fetch'
|
||||
import { log, logError } from '../utils'
|
||||
|
||||
const getGitcoin = async () => {
|
||||
const response = await fetch('https://gitcoin.co/api/v0.1/bounties/?&org=oceanprotocol')
|
||||
@ -15,7 +15,7 @@ const getGitcoin = async () => {
|
||||
return { total: total.length, open: open.length }
|
||||
}
|
||||
|
||||
const fetchBounties = async () => {
|
||||
export default async function fetchBounties() {
|
||||
const start = Date.now()
|
||||
const { total, open } = await getGitcoin()
|
||||
|
||||
@ -27,5 +27,3 @@ const fetchBounties = async () => {
|
||||
|
||||
return { open, total }
|
||||
}
|
||||
|
||||
module.exports = fetchBounties
|
@ -12,9 +12,9 @@ export default async function fetchDiscord() {
|
||||
const members = await page.evaluate(() => {
|
||||
// get the activity count element
|
||||
const membersElement = document.querySelector('[class*="activityCount"] > div:last-child span')
|
||||
console.log(membersElement)
|
||||
const number = membersElement.innerText.replace(' Members', '')
|
||||
return Number(number)
|
||||
const membersElementText = membersElement.innerText
|
||||
const number = membersElementText.replace(' Members', '')
|
||||
return number
|
||||
})
|
||||
|
||||
log(
|
||||
@ -23,5 +23,5 @@ export default async function fetchDiscord() {
|
||||
`Elapsed: ${new Date() - start}ms`
|
||||
)
|
||||
|
||||
return { members }
|
||||
return { members: Number(members) }
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
const fetch = require('node-fetch')
|
||||
const { log, logError, arrSum } = require('../utils')
|
||||
import fetch from 'node-fetch'
|
||||
import { log, logError, arrSum } from '../utils'
|
||||
|
||||
// Request options for all fetch calls
|
||||
const options = {
|
||||
@ -13,7 +13,7 @@ const options = {
|
||||
//
|
||||
// Fetch all public GitHub repos
|
||||
//
|
||||
const fetchGitHubRepos = async () => {
|
||||
export default async function fetchGitHubRepos() {
|
||||
const url = 'https://api.github.com/orgs/oceanprotocol/repos?type=public&per_page=200'
|
||||
const start = Date.now()
|
||||
const response = await fetch(url, options)
|
||||
@ -45,5 +45,3 @@ const fetchGitHubRepos = async () => {
|
||||
|
||||
return { stars, repositories }
|
||||
}
|
||||
|
||||
module.exports = fetchGitHubRepos
|
@ -1,7 +1,7 @@
|
||||
const fetch = require('node-fetch')
|
||||
const { log, logError } = require('../utils')
|
||||
import fetch from 'node-fetch'
|
||||
import { log, logError } from '../utils'
|
||||
|
||||
const fetchMedium = async () => {
|
||||
export default async function fetchMedium() {
|
||||
const url = 'https://medium.com/oceanprotocol?format=json'
|
||||
const start = Date.now()
|
||||
const response = await fetch(url)
|
||||
@ -25,5 +25,3 @@ const fetchMedium = async () => {
|
||||
|
||||
return { followers }
|
||||
}
|
||||
|
||||
module.exports = fetchMedium
|
@ -1,8 +1,8 @@
|
||||
const fetch = require('node-fetch')
|
||||
const cheerio = require('cheerio')
|
||||
const { log, logError } = require('../utils')
|
||||
import fetch from 'node-fetch'
|
||||
import { load } from 'cheerio'
|
||||
import { log, logError } from '../utils'
|
||||
|
||||
const fetchTelegram = async () => {
|
||||
export default async function fetchTelegram() {
|
||||
const urlCommunity = 'https://t.me/oceanprotocol_community/?pagehidden=false'
|
||||
const start = Date.now()
|
||||
const responseCommunity = await fetch(urlCommunity)
|
||||
@ -12,7 +12,7 @@ const fetchTelegram = async () => {
|
||||
return null
|
||||
}
|
||||
const bodyCommunity = await responseCommunity.text()
|
||||
const dataCommunity = await cheerio.load(bodyCommunity, { normalizeWhitespace: true })
|
||||
const dataCommunity = await load(bodyCommunity, { normalizeWhitespace: true })
|
||||
|
||||
let infoCommunity = dataCommunity('.tgme_page_extra').text()
|
||||
infoCommunity = infoCommunity.replace(' members', '').replace(' ', '').replace(' ', '')
|
||||
@ -32,7 +32,7 @@ const fetchTelegram = async () => {
|
||||
return null
|
||||
}
|
||||
const bodyNews = await responseNews.text()
|
||||
const dataNews = await cheerio.load(bodyNews, { normalizeWhitespace: true })
|
||||
const dataNews = await load(bodyNews, { normalizeWhitespace: true })
|
||||
|
||||
let infoNews = dataNews('.tgme_page_extra').text()
|
||||
infoNews = infoNews.replace(' members', '').replace(' ', '').replace(' ', '')
|
||||
@ -46,5 +46,3 @@ const fetchTelegram = async () => {
|
||||
|
||||
return { community: membersCommunity, news: membersNews }
|
||||
}
|
||||
|
||||
module.exports = fetchTelegram
|
@ -1,7 +1,7 @@
|
||||
const fetch = require('node-fetch')
|
||||
const { log, logError } = require('../utils')
|
||||
import fetch from 'node-fetch'
|
||||
import { log, logError } from '../utils'
|
||||
|
||||
const fetchTwitter = async () => {
|
||||
export default async function fetchTwitter() {
|
||||
const url = 'https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=oceanprotocol'
|
||||
const start = Date.now()
|
||||
const response = await fetch(url)
|
||||
@ -22,5 +22,3 @@ const fetchTwitter = async () => {
|
||||
|
||||
return { followers }
|
||||
}
|
||||
|
||||
module.exports = fetchTwitter
|
Loading…
Reference in New Issue
Block a user