-
Notifications
You must be signed in to change notification settings - Fork 13
/
utils.js
40 lines (33 loc) · 1.26 KB
/
utils.js
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
import APIService from '../../services/APIService';
import { without, forEach } from 'lodash';
export const fetchSearchResults = (resource, queryParams, baseURL, beforeCallback, afterCallback) => {
if(!resource)
resource = 'concepts';
if(beforeCallback)
beforeCallback(__fetchSearchResults(resource, queryParams, baseURL, afterCallback));
else
__fetchSearchResults(resource, queryParams, baseURL, afterCallback);
};
const __fetchSearchResults = (resource, queryParams, baseURL, callback, method='get') => {
if(!queryParams)
queryParams = {};
const service = APIService[resource]();
if(baseURL)
service.overrideURL(baseURL);
if(method === 'get')
service
.get(null, {INCLUDEFACETS: true}, queryParams)
.then(response => callback(response, resource));
if(method === 'head')
service
.head(null, {INCLUDEFACETS: true}, queryParams)
.then(response => callback(response, resource));
};
export const fetchCounts = (excludeResource, queryParams, callback) => {
let resources = without(['concepts', 'mappings', 'collections', 'sources', 'orgs', 'users'], excludeResource);
if(!queryParams)
queryParams = {};
forEach(resources, resource => {
__fetchSearchResults(resource, queryParams, null, callback, 'head')
});
}