some fun with db_new

This commit is contained in:
Jörn-Michael Miehe 2022-03-28 00:50:21 +00:00
parent c7f93d468e
commit bc3f7984f5

View file

@ -14,8 +14,10 @@ from fastapi import FastAPI
from .config import Config, Settings from .config import Config, Settings
from .db import Connection from .db import Connection
from .db.schemata import User # from .db.schemata import User
from .db_new import capabilities, connection, user from .db_new import Capability
from .db_new import Connection as Connection_new
from .db_new import Device, User
from .routers import main_router from .routers import main_router
settings = Settings.get() settings = Settings.get()
@ -47,31 +49,43 @@ async def on_startup() -> None:
# connect to database # connect to database
Connection.connect(await current_config.db.db_engine) Connection.connect(await current_config.db.db_engine)
# some testing # # some testing
with Connection.use() as db: # with Connection.use() as db:
print(User.from_db(db, "admin")) # print(User.from_db(db, "admin"))
print(User.from_db(db, "nonexistent")) # print(User.from_db(db, "nonexistent"))
connection.Connection.connect("sqlite:///tmp/v2.db") Connection_new.connect("sqlite:///tmp/v2.db")
user.User.create( User.create(
name="Uwe", name="Uwe",
password_clear="ulf", password_clear="ulf",
email="uwe@feh.de", email="uwe@feh.de",
) )
print(user.User.get("Uwe")) print(User.get(name="Uwe"))
print(user.User.authenticate("Uwe", "uwe")) print(User.authenticate("Uwe", "uwe"))
uwe = user.User.authenticate("Uwe", "ulf") uwe = User.authenticate("Uwe", "ulf")
uwe.extend_capabilities([capabilities.Capability.admin]) uwe.set_capabilities([Capability.admin])
uwe.update() uwe.update()
print(uwe) print(uwe.get_capabilities())
uwe.remove_capabilities([capabilities.Capability.admin]) uwe.set_capabilities([])
uwe.update() uwe.update()
print(uwe) print(uwe.get_capabilities())
with Connection_new.session as db:
db.add(uwe)
print(uwe.devices)
ipad = Device.create(
owner_name="Uwe",
name="iPad",
type="tablet",
)
# ipad = Device.
print(ipad)
def main() -> None: def main() -> None: