From 65376fa56b84bf9e17498e832e94105f4863556f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rajmund=20Hru=C5=A1ka?= <rajmund.hruska@cesnet.cz>
Date: Thu, 2 Mar 2023 13:29:15 +0100
Subject: [PATCH] Add manage flag to clients

---
 warden_server/migrations/mysql/add_managed_flag.sql    | 1 +
 warden_server/migrations/postgres/add_managed_flag.sql | 1 +
 warden_server/warden_3.0_mysql.sql                     | 1 +
 warden_server/warden_3.0_postgres.sql                  | 3 ++-
 warden_server/warden_server.py                         | 2 +-
 5 files changed, 6 insertions(+), 2 deletions(-)
 create mode 100644 warden_server/migrations/mysql/add_managed_flag.sql
 create mode 100644 warden_server/migrations/postgres/add_managed_flag.sql

diff --git a/warden_server/migrations/mysql/add_managed_flag.sql b/warden_server/migrations/mysql/add_managed_flag.sql
new file mode 100644
index 0000000..5ab0203
--- /dev/null
+++ b/warden_server/migrations/mysql/add_managed_flag.sql
@@ -0,0 +1 @@
+ALTER TABLE clients ADD COLUMN manage tinyint UNSIGNED NOT NULL DEFAULT 0;
diff --git a/warden_server/migrations/postgres/add_managed_flag.sql b/warden_server/migrations/postgres/add_managed_flag.sql
new file mode 100644
index 0000000..367d506
--- /dev/null
+++ b/warden_server/migrations/postgres/add_managed_flag.sql
@@ -0,0 +1 @@
+ALTER TABLE clients ADD COLUMN manage BOOL NOT NULL DEFAULT FALSE;
diff --git a/warden_server/warden_3.0_mysql.sql b/warden_server/warden_3.0_mysql.sql
index 9fb8118..93ffdc4 100644
--- a/warden_server/warden_3.0_mysql.sql
+++ b/warden_server/warden_3.0_mysql.sql
@@ -53,6 +53,7 @@ CREATE TABLE IF NOT EXISTS `clients` (
   `debug` tinyint UNSIGNED NOT NULL DEFAULT '0',
   `write` tinyint UNSIGNED NOT NULL DEFAULT '0',
   `test` tinyint UNSIGNED NOT NULL DEFAULT '0',
+  `manage` tinyint UNSIGNED NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`),
   KEY `clients_1` (`valid`, `secret`, `hostname`),
   KEY `clients_2` (`valid`, `name`)
diff --git a/warden_server/warden_3.0_postgres.sql b/warden_server/warden_3.0_postgres.sql
index 021c2f8..8836f1a 100644
--- a/warden_server/warden_3.0_postgres.sql
+++ b/warden_server/warden_3.0_postgres.sql
@@ -39,7 +39,8 @@ CREATE TABLE IF NOT EXISTS "clients" (
   "read" boolean NOT NULL DEFAULT true,
   "debug" boolean NOT NULL DEFAULT false,
   "write" boolean NOT NULL DEFAULT false,
-  "test" boolean NOT NULL DEFAULT false
+  "test" boolean NOT NULL DEFAULT false,
+  "manage" boolean NOT NULL DEFAULT false
 );
 
 CREATE INDEX IF NOT EXISTS "clients_1" ON "clients" ("valid", "secret", "hostname");
diff --git a/warden_server/warden_server.py b/warden_server/warden_server.py
index 6e0e5a2..3bfd0bb 100755
--- a/warden_server/warden_server.py
+++ b/warden_server/warden_server.py
@@ -216,7 +216,7 @@ def SysLogger(req, socket="/dev/log", facility=logging.handlers.SysLogHandler.LO
 
 Client = namedtuple("Client", [
     "id", "registered", "requestor", "hostname", "name",
-    "secret", "valid", "read", "debug", "write", "test", "note"])
+    "secret", "valid", "read", "debug", "write", "test", "manage", "note"])
 
 
 class Object(object):
-- 
GitLab