From 954d69cbbea881755f592716cfd0fed6f84da63b Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@hebeler.club>
Date: Tue, 19 Sep 2023 13:01:52 +0200
Subject: [PATCH] track status of mainz key status

---
 metager/app/Models/Authorization/KeyAuthorization.php | 6 ++++++
 metager/app/PrometheusExporter.php                    | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/metager/app/Models/Authorization/KeyAuthorization.php b/metager/app/Models/Authorization/KeyAuthorization.php
index 3e146dc25..1dfe10779 100644
--- a/metager/app/Models/Authorization/KeyAuthorization.php
+++ b/metager/app/Models/Authorization/KeyAuthorization.php
@@ -2,7 +2,9 @@
 
 namespace App\Models\Authorization;
 
+use App\PrometheusExporter;
 use Illuminate\Support\Facades\Redis;
+use Prometheus\CollectorRegistry;
 
 class KeyAuthorization extends Authorization
 {
@@ -87,6 +89,10 @@ class KeyAuthorization extends Authorization
         $mission = json_encode($mission);
         Redis::rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission);
 
+        if (config('metager.metager.keys.uni_mainz') === $this->key) {
+            PrometheusExporter::UpdateMainzKeyStatus($this->availableTokens);
+        }
+
         return true;
     }
     /**
diff --git a/metager/app/PrometheusExporter.php b/metager/app/PrometheusExporter.php
index c686f2479..8bf1da97c 100644
--- a/metager/app/PrometheusExporter.php
+++ b/metager/app/PrometheusExporter.php
@@ -73,4 +73,10 @@ class PrometheusExporter
         $counter = $registry->getOrRegisterCounter("metager", "key_used", "Counts MetaGer Key Usage", ["searchengine", "cached"]);
         $counter->inc([$engine, json_encode($cached)]);
     }
+    public static function UpdateMainzKeyStatus($tokens)
+    {
+        $registry = CollectorRegistry::getDefault();
+        $gauge = $registry->getOrRegisterGauge("metager", "key", "Tracks status of the Mainz Key", ["owner"]);
+        $gauge->set($tokens, ["mainz"]);
+    }
 }
\ No newline at end of file
-- 
GitLab