29 lines
875 B
TypeScript
29 lines
875 B
TypeScript
import { APIGatewayProxyHandler } from "aws-lambda";
|
|
import axios from "axios";
|
|
import "source-map-support/register";
|
|
import { JSDOM } from "jsdom";
|
|
|
|
export const promiseList: APIGatewayProxyHandler = async (_, _context) => {
|
|
const page = await axios({
|
|
url: "https://tracciailgoverno.pagellapolitica.it/it/promesse/",
|
|
responseType: "document"
|
|
});
|
|
const { window } = new JSDOM(page.data);
|
|
const promises = window.document.querySelectorAll(".promise");
|
|
const promiseList = Array.prototype.slice.call(promises, 0);
|
|
return {
|
|
statusCode: 200,
|
|
body: JSON.stringify(
|
|
promiseList.map(
|
|
prom => ({
|
|
name: prom.querySelector("h2.heading span").innerHTML,
|
|
url: prom.querySelector("a[href]").href,
|
|
status: prom.querySelector(".promise-status-text").innerHTML
|
|
}),
|
|
null,
|
|
2
|
|
)
|
|
)
|
|
};
|
|
};
|