new awesome build
This commit is contained in:
63
APP_PROFILER/models.py
Normal file
63
APP_PROFILER/models.py
Normal file
@@ -0,0 +1,63 @@
|
||||
from sqlalchemy import Column, Integer, String, Boolean, DateTime, JSON
|
||||
from sqlalchemy.sql import func
|
||||
from database import Base
|
||||
from datetime import datetime
|
||||
|
||||
class PKISetting(Base):
|
||||
__tablename__ = "pki_settings"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
fqdn_ca = Column(String, default="ovpn-ca")
|
||||
fqdn_server = Column(String, default="ovpn-srv")
|
||||
easyrsa_dn = Column(String, default="cn_only")
|
||||
easyrsa_req_country = Column(String, default="RU")
|
||||
easyrsa_req_province = Column(String, default="Moscow")
|
||||
easyrsa_req_city = Column(String, default="Moscow")
|
||||
easyrsa_req_org = Column(String, default="SomeORG")
|
||||
easyrsa_req_email = Column(String, default="info@someorg.local")
|
||||
easyrsa_req_ou = Column(String, default="IT")
|
||||
easyrsa_key_size = Column(Integer, default=2048)
|
||||
easyrsa_ca_expire = Column(Integer, default=3650)
|
||||
easyrsa_cert_expire = Column(Integer, default=3649)
|
||||
easyrsa_cert_renew = Column(Integer, default=30)
|
||||
easyrsa_crl_days = Column(Integer, default=3649)
|
||||
easyrsa_batch = Column(Boolean, default=True)
|
||||
|
||||
class SystemSettings(Base):
|
||||
__tablename__ = "system_settings"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
protocol = Column(String, default="udp")
|
||||
port = Column(Integer, default=1194)
|
||||
vpn_network = Column(String, default="172.20.1.0")
|
||||
vpn_netmask = Column(String, default="255.255.255.0")
|
||||
tunnel_type = Column(String, default="FULL") # FULL or SPLIT
|
||||
split_routes = Column(JSON, default=list)
|
||||
duplicate_cn = Column(Boolean, default=False)
|
||||
crl_verify = Column(Boolean, default=False)
|
||||
client_to_client = Column(Boolean, default=False)
|
||||
user_defined_dns = Column(Boolean, default=False)
|
||||
dns_servers = Column(JSON, default=list)
|
||||
user_defined_cdscripts = Column(Boolean, default=False)
|
||||
connect_script = Column(String, default="")
|
||||
disconnect_script = Column(String, default="")
|
||||
management_interface = Column(Boolean, default=False)
|
||||
management_interface_address = Column(String, default="127.0.0.1")
|
||||
management_port = Column(Integer, default=7505)
|
||||
public_ip = Column(String, nullable=True)
|
||||
tun_mtu = Column(Integer, nullable=True)
|
||||
mssfix = Column(Integer, nullable=True)
|
||||
|
||||
class UserProfile(Base):
|
||||
__tablename__ = "user_profiles"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
username = Column(String, unique=True, index=True)
|
||||
status = Column(String, default="active") # active, revoked
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
revoked_at = Column(DateTime, nullable=True)
|
||||
# expired_at removed as per request
|
||||
expiration_date = Column(DateTime, nullable=True)
|
||||
is_revoked = Column(Boolean, default=False)
|
||||
is_expired = Column(Boolean, default=False)
|
||||
file_path = Column(String, nullable=True)
|
||||
Reference in New Issue
Block a user