feat: start working on Flask

This commit is contained in:
DaanSelen
2026-03-03 11:15:59 +01:00
parent b95074d994
commit 992baa2afc
11 changed files with 199 additions and 13 deletions
+1 -3
View File
@@ -15,8 +15,6 @@ class database():
if not ok:
return False, None, None
log.info(connection_string)
try:
engine = sqlalchemy.create_engine(connection_string, echo=False)
@@ -30,7 +28,7 @@ class database():
return False, None, None
@staticmethod
def verify_contents(engine) -> bool:
def ensure_contents(engine) -> bool:
try:
log.info('checking if all tables are present, and creating them if they are not')
+16
View File
@@ -0,0 +1,16 @@
#!/bin/env python3
from datetime import datetime
import sqlalchemy.orm
from .schema import Base
from .schema import Apikeys
class functions():
def retrieve_api_keys(session: sqlalchemy.orm.Session) -> dict:
time_now = datetime.now()
api_keys = session.query(Apikeys).all()
print(api_keys)
return {}
+86 -1
View File
@@ -21,5 +21,90 @@ class User(Base):
email = sqlalchemy.Column(sqlalchemy.String)
class Apikeys(Base):
__tablename__ = 'apikeys'
apikey_id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, index=True)
apikey_data = sqlalchemy.Column(sqlalchemy.String)
apikey_creation = sqlalchemy.Column(sqlalchemy.String)
apikey_expiration = sqlalchemy.Column(sqlalchemy.String)
class Wireguard(Base):
__tablename__ = 'wireguard_interfaces'
__tablename__ = 'wireguard_interfaces'
iface_status = sqlalchemy.Column(sqlalchemy.String)
iface_id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, index=True)
iface_name = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_notes = sqlalchemy.Column(sqlalchemy.String)
iface_privkey = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_pubkey = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_address = sqlalchemy.Column(sqlalchemy.String)
iface_listen_port = sqlalchemy.Column(sqlalchemy.Integer, unique=True)
iface_mtu = sqlalchemy.Column(sqlalchemy.Integer)
iface_preup = sqlalchemy.Column(sqlalchemy.String)
iface_predown = sqlalchemy.Column(sqlalchemy.String)
iface_postup = sqlalchemy.Column(sqlalchemy.String)
iface_predown = sqlalchemy.Column(sqlalchemy.String)
iface_save_config = sqlalchemy.Column(sqlalchemy.Boolean, default=True)
iface_total_rx = sqlalchemy.Column(sqlalchemy.Float)
iface_total_tx = sqlalchemy.Column(sqlalchemy.Float)
iface_total_data = sqlalchemy.Column(sqlalchemy.Float)
class Amnezia(Base):
__tablename__ = 'amnezia_interfaces'
iface_status = sqlalchemy.Column(sqlalchemy.String)
iface_id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, index=True)
iface_name = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_notes = sqlalchemy.Column(sqlalchemy.String)
iface_privkey = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_pubkey = sqlalchemy.Column(sqlalchemy.String, unique=True)
iface_address = sqlalchemy.Column(sqlalchemy.String)
iface_listen_port = sqlalchemy.Column(sqlalchemy.Integer, unique=True)
iface_mtu = sqlalchemy.Column(sqlalchemy.Integer)
iface_preup = sqlalchemy.Column(sqlalchemy.String)
iface_predown = sqlalchemy.Column(sqlalchemy.String)
iface_postup = sqlalchemy.Column(sqlalchemy.String)
iface_predown = sqlalchemy.Column(sqlalchemy.String)
iface_jc = sqlalchemy.Column(sqlalchemy.Integer)
iface_jmin = sqlalchemy.Column(sqlalchemy.Integer)
iface_jmax = sqlalchemy.Column(sqlalchemy.Integer)
iface_s1 = sqlalchemy.Column(sqlalchemy.Integer)
iface_s2 = sqlalchemy.Column(sqlalchemy.Integer)
iface_s3 = sqlalchemy.Column(sqlalchemy.Integer)
iface_s4 = sqlalchemy.Column(sqlalchemy.Integer)
iface_h1 = sqlalchemy.Column(sqlalchemy.String)
iface_h2 = sqlalchemy.Column(sqlalchemy.String)
iface_h3 = sqlalchemy.Column(sqlalchemy.String)
iface_h4 = sqlalchemy.Column(sqlalchemy.String)
iface_i1 = sqlalchemy.Column(sqlalchemy.String)
iface_i2 = sqlalchemy.Column(sqlalchemy.String)
iface_i3 = sqlalchemy.Column(sqlalchemy.String)
iface_i4 = sqlalchemy.Column(sqlalchemy.String)
iface_i5 = sqlalchemy.Column(sqlalchemy.String)
iface_save_config = sqlalchemy.Column(sqlalchemy.Boolean, default=True)
iface_total_rx = sqlalchemy.Column(sqlalchemy.Float)
iface_total_tx = sqlalchemy.Column(sqlalchemy.Float)
iface_total_data = sqlalchemy.Column(sqlalchemy.Float)
class Peers(Base):
__tablename__ = 'interface_peers'
peer_id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, index=True)
assigned_iface = sqlalchemy.Column(sqlalchemy.String)