metaforecast/src/backend/platforms/example-fetch.ts
Vyacheslav Matyukhin 066eb0302a
style: bring back double quotes from prettier
One large commit to avoid dealing with messy patches later on.
Turns out I had
https://marketplace.visualstudio.com/items?itemName=amatiasq.sort-imports
installed with single quotes which messed up all double quotes from
prettier.
2022-03-28 20:59:07 +03:00

71 lines
1.7 KiB
TypeScript

/* Imports */
import axios from "axios";
import { databaseUpsert } from "../database/database-wrapper";
import { calculateStars } from "../utils/stars";
/* Definitions */
let endpoint = "https://example.com/";
/* Support functions */
async function fetchData() {
let response = await axios({
url: endpoint,
method: "GET",
headers: {
"Content-Type": "text/html",
},
}).then((response) => response.data);
// console.log(response)
return response;
}
async function processPredictions(predictions) {
let results = await predictions.map((prediction) => {
let id = `platform-${prediction.id}`;
let probability = prediction.probability;
let options = [
{
name: "Yes",
probability: probability,
type: "PROBABILITY",
},
{
name: "No",
probability: 1 - probability,
type: "PROBABILITY",
},
];
let result = {
title: prediction.title,
url: `https://example.com`,
platform: "Example",
description: prediction.description,
options: options,
timestamp: new Date().toISOString(),
qualityindicators: {
stars: calculateStars("Example", {
/* some: somex, factors: factors */
}),
other: prediction.otherx,
indicators: prediction.indicatorx,
},
};
return result;
});
return results; //resultsProcessed
}
/* Body */
export async function example() {
let data = await fetchData();
let results = await processPredictions(data); // somehow needed
// console.log(results)
// let string = JSON.stringify(results, null, 2)
await databaseUpsert({ contents: results, group: "example" });
console.log("Done");
}
//example()