]> git.mxchange.org Git - fba.git/commitdiff
added /info endpoint
authorEnju Aihara <9839590-EnjuAihara@users.noreply.gitlab.com>
Mon, 21 Mar 2022 15:58:20 +0000 (16:58 +0100)
committerEnju Aihara <9839590-EnjuAihara@users.noreply.gitlab.com>
Mon, 21 Mar 2022 15:58:20 +0000 (16:58 +0100)
apis/fedi_block_api.js

index bb075e30eb164437dd9e8819e85aa3d36a51b724..cde44739eb2de5731f7a2aad2bde6d83cd92cc80 100644 (file)
@@ -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) {