/* * Build query string with query and options */ const parametersToString = ({ query, options }) => { let types =''; options.type.forEach(function(type) { types += '&type[]=' + type; }); return 'q=' + query + types; }; /* * Endpoint chill_person_search * method GET, get a list of persons * * @query string - the query to search for */ const searchPersons = ({ query, options }) => { let queryStr = parametersToString({ query, options }); let url = `/fr/search.json?name=person_regular&${queryStr}`; return fetch(url) .then(response => { if (response.ok) { return response.json(); } throw Error('Error with request resource response'); }); }; /* * Endpoint v.2 chill_main_search_global * method GET, get a list of persons and thirdparty * * NOTE: this is a temporary WIP endpoint, return inconsistent random results * @query string - the query to search for */ const searchPersons_2 = ({ query, options }) => { let queryStr = parametersToString({ query, options }); let url = `/api/1.0/search.json?${queryStr}`; return fetch(url) .then(response => { if (response.ok) { return response.json(); } throw Error('Error with request resource response'); }); }; export { searchPersons, searchPersons_2 };