diff --git a/apis/fedi_block_api.js b/apis/fedi_block_api.js index bb075e3..cde4473 100644 --- a/apis/fedi_block_api.js +++ b/apis/fedi_block_api.js @@ -9,7 +9,7 @@ const db = new sqlite3.Database("../blocks.db", sqlite3.OPEN_READONLY, err => { app.listen(PORT, "127.0.0.1", () => console.log("API started on http://127.0.0.1:"+PORT)); app.get("/", (req, res) => { - res.status(400).json({"message":"use /blocker or /blocked endpoint"}); + res.status(400).json({"message":"use /blocker, /blocked or /info endpoint"}); }); app.get("/blocker", (req, res) => { res.status(400).json({"message":"insert a domain"}); @@ -18,6 +18,21 @@ app.get("/blocked", (req, res) => { res.status(400).json({"message":"insert a domain"}); }); +app.get("/info", (req, res) => { + db.all("select (select count(domain) from instances) as known, (select count(domain) from instances where software in ('pleroma', 'mastodon')) as indexed, (select count(blocker) from blocks) as blocks", (err, result) => { + if (err) { + res.status(500).json({"message": err}); + console.log(err.message); + return; + } + res.status(200).json({ + "known_instances": result[0]["known"], + "indexed_instances": result[0]["indexed"], + "blocks_recorded": result[0]["blocks"], + }); + }); +}); + function get_blocker(blocker, _callback, _err_callback) { db.all("select blocked, block_level from blocks where blocker = ?", blocker, (err, result) => { if (err) {