mirror of
https://github.com/MCMi460/3DS-RPC.git
synced 2025-06-18 21:45:37 -04:00

We're simply breaking apart logic here - the majority of models are not implemented. The upgrade to Flask-SQLAlchemy has not yet been tested on `server`.
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import os
|
|
|
|
from sqlalchemy import create_engine, delete
|
|
from sqlalchemy.orm import DeclarativeBase, mapped_column, Mapped, Session
|
|
from sqlalchemy.types import Integer
|
|
import sys
|
|
|
|
sys.path.append('../')
|
|
from api.networks import NetworkType
|
|
|
|
|
|
class Base(DeclarativeBase):
|
|
pass
|
|
|
|
|
|
class Config(Base):
|
|
__tablename__ = "config"
|
|
|
|
network: Mapped[NetworkType] = mapped_column("network", Integer(), primary_key=True)
|
|
backend_uptime: Mapped[float] = mapped_column("BACKEND_UPTIME")
|
|
|
|
|
|
def start_db_time(time: float, network_type: NetworkType):
|
|
"""Updates the database to track the starting time for the specific backend."""
|
|
engine = create_engine('sqlite:///' + os.path.abspath('sqlite/fcLibrary.db'))
|
|
with Session(engine) as session:
|
|
# TODO: This should be an upsert, not a deletion and insertion.
|
|
session.execute(delete(Config).where(Config.network == network_type))
|
|
new_time = Config(network=network_type, backend_uptime=time)
|
|
session.add(new_time)
|
|
session.commit()
|