summaryrefslogtreecommitdiff
path: root/scraper/client/actions.js
blob: b5c477f6905b04ae112b042be39cd2171324600c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { get, post } from './util'
import * as types from './types'

export const api = (dispatch, method, tag, url, params, after) => {
  dispatch({ type: types.api.loading, tag })
  return method(url, params).then(data => {
    if (after) data = after(data)
    dispatch({ type: types.api.loaded, tag, data })
    return data
  }).catch(err => {
    dispatch({ type: types.api.error, tag, err })
  })
}

export const getInstitutions = () => dispatch => {
  api(dispatch, get, 'institutions', '/api/institutions', {})
}

export const getPapers = () => dispatch => {
  api(dispatch, get, 'papers', '/api/papers', {})
}

export const getPaperInfo = key => dispatch => {
  api(dispatch, get, 'paperInfo', '/reports/datasets/final/' + key + '.json', {})
  api(dispatch, get, 'unknownCitations', '/reports/datasets/unknown/' + key + '.json', {})
}

export const getAddress = sha256 => dispatch => {
  api(dispatch, get, 'address', '/api/address/' + sha256, {})
}

export const postAddress = data => dispatch => {
  api(dispatch, post, 'address', '/api/address/add', data)
}

export const getVerifications = () => dispatch => (
  api(dispatch, get, 'verifications', '/api/verifications', {})
)

export const getVerificationsDataset = dataset => dispatch => (
  api(dispatch, get, 'verifications', '/api/verifications/' + dataset, {})
)

export const getVerification = sha256 => dispatch => (
  api(dispatch, get, 'verify', '/api/verify/' + sha256, {})
)

export const postVerification = data => dispatch => (
  api(dispatch, post, 'verify', '/api/verify/add', data)
)

export const setSortedCitations = sortedCitations => dispatch => dispatch({ type: types.system.set_sorted_citations, sortedCitations })