diff options
Diffstat (limited to 'frontend/src/SECAPIData.js')
-rw-r--r-- | frontend/src/SECAPIData.js | 85 |
1 files changed, 18 insertions, 67 deletions
diff --git a/frontend/src/SECAPIData.js b/frontend/src/SECAPIData.js index a209ff2..d14ee1f 100644 --- a/frontend/src/SECAPIData.js +++ b/frontend/src/SECAPIData.js @@ -1,89 +1,40 @@ import React, {useState, useEffect} from 'react'; import Button from './Button'; -import HubList from './HubList' +import HubList from './HubList'; +import DateInput from './DateInput'; function SECAPIData() { + const [displayData, setDisplayData] = useState({}); + const [startDate, setStartDate] = useState(""); + const [endDate, setEndDate] = useState(""); - const [dataToBackend, setDataToBackend] = useState([]); - const [displayData, setDisplayData] = useState(""); + const toEpochMilli = date => Date.parse(date); - const requestData = () => { - // End early in debug to avoid too many requests. - if (dataToBackend.length !== 0) { - sendToBackend(); - return; - } - - console.log("Makig request..."); - - let date = new Date() - let today = date.toISOString().slice(0, 10); - - let pastDate = new Date(); - pastDate.setDate(date.getDate() - 14); - let past = pastDate.toISOString().slice(0, 10); - - fetch("https://api.sec-api.io?token=4d6ff81353d665c975d443e30020879b1ea882bc96a00cd8774a95bddd838fe5", { + const getLinks = () => { + fetch("http://localhost:4567/susrank", { method: "POST", - body: JSON.stringify({ - "query": { "query_string": { "query": "formType:4 AND filedAt:{"+ past +" TO "+ today +"} AND formType:(NOT \"N-4\") AND formType:(NOT \"4/A\")" } }, - "from": "0", - "size": "1000", - "sort": [{ "filedAt": { "order": "desc" } }] - }), - headers: { - "Content-Type": "application/json" - }, - credentials: "same-origin" - }) - .then(res => res.json()) - .then(data => { - let list = []; - data.filings.forEach(filing => { - if (filing.ticker === "") { - // TODO: why are there repitions of urls. - list.push({ - timestamp: filing.filedAt, - url: filing.documentFormatFiles[1].documentUrl - }); - } - }) - setDataToBackend(list); - }) - .catch(error => { - console.log(error); - }); - } - - const sendToBackend = () => { - console.log(dataToBackend); - - fetch("http://localhost:4567/data", { - method: "POST", - body: JSON.stringify({ - "data" : dataToBackend - }), + body: JSON.stringify( + { + "start" : toEpochMilli(startDate), + "end" : toEpochMilli(endDate) + }), headers: { "Content-Type": "application/json", }, credentials: "same-origin" }) - - .then(response => response.json().then(data => setDisplayData(data))) - .catch(function (error) { - console.log(error); - }); + .then(res => res.json()) + .then(data => setDisplayData(data)) + .catch(err => console.log(err)); } - - // This hook is autocalled once the setDataToBackend takes effect. - useEffect(() => sendToBackend(), [dataToBackend]); return ( <div> <h1>SECAPIData</h1> - <Button onPress={requestData}></Button> + <DateInput setStart={setStartDate} setEnd={setEndDate}></DateInput> + <Button onPress={getLinks}></Button> <HubList data={displayData}></HubList> </div> ); |