From a710ed891aebde58dc15668102e8df5500feac5e Mon Sep 17 00:00:00 2001
From: Ferenc Schulcz <schulcz.ferenc@gmail.com>
Date: Thu, 6 Feb 2025 13:47:32 +0100
Subject: [PATCH] Add script to add dyndns server

---
 db_management/dyndns_add_server.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 db_management/dyndns_add_server.py

diff --git a/db_management/dyndns_add_server.py b/db_management/dyndns_add_server.py
new file mode 100644
index 0000000..7832ec2
--- /dev/null
+++ b/db_management/dyndns_add_server.py
@@ -0,0 +1,22 @@
+#!/bin/env python3
+
+from werkzeug.security import generate_password_hash
+import pymongo
+from getpass import getpass
+
+id = input("ID: ")
+url = input("Url (like https://ns.example.com): ")
+print("Authentication key: ", end="")
+key = getpass()
+
+dyndnsServers = pymongo.MongoClient(
+    "mongodb://localhost:27017/")['sfphotonweb']['dyndns-servers']
+
+if not dyndnsServers.find_one({'id': id}) is None:
+	raise Exception("A server already exists with this ID.")
+
+dyndnsServers.insert_one({
+	'id': id,
+	'url': url,
+	'keyhash': generate_password_hash(key, salt_length=4)
+})
\ No newline at end of file
-- 
GitLab