aboutsummaryrefslogtreecommitdiff
path: root/generalresearch/managers/network/rdns.py
diff options
context:
space:
mode:
Diffstat (limited to 'generalresearch/managers/network/rdns.py')
-rw-r--r--generalresearch/managers/network/rdns.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/generalresearch/managers/network/rdns.py b/generalresearch/managers/network/rdns.py
new file mode 100644
index 0000000..41e4138
--- /dev/null
+++ b/generalresearch/managers/network/rdns.py
@@ -0,0 +1,33 @@
+from typing import Optional
+
+from psycopg import Cursor
+
+from generalresearch.managers.base import PostgresManager
+from generalresearch.models.network.tool_run import RDNSRun
+
+
+class RDNSRunManager(PostgresManager):
+
+ def _create(self, run: RDNSRun, c: Optional[Cursor] = None) -> None:
+ """
+ Do not use this directly. Must only be used in the context of a toolrun
+ """
+ query = """
+ INSERT INTO network_rdnsresult (
+ run_id, primary_hostname, primary_domain,
+ hostname_count, hostnames,
+ ip, started_at, scan_group_id
+ )
+ VALUES (
+ %(run_id)s, %(primary_hostname)s, %(primary_domain)s,
+ %(hostname_count)s, %(hostnames)s,
+ %(ip)s, %(started_at)s, %(scan_group_id)s
+ );
+ """
+ params = run.model_dump_postgres()
+ if c:
+ c.execute(query, params)
+ else:
+ with self.pg_config.make_connection() as conn:
+ with conn.cursor() as c:
+ c.execute(query, params)