feat: add security: OAuth2 with JWT

This commit is contained in:
2025-02-14 20:10:21 +01:00
parent 9c54eaf59b
commit 8a9af450d4
7 changed files with 273 additions and 7 deletions

19
db.py
View File

@@ -1,5 +1,13 @@
from datetime import datetime, timezone
from sqlmodel import ARRAY, Column, Relationship, SQLModel, Field, create_engine, String
from sqlmodel import (
ARRAY,
Column,
Relationship,
SQLModel,
Field,
create_engine,
String,
)
with open("db.secrets", "r") as f:
db_secrets = f.readline().strip()
@@ -54,4 +62,13 @@ class MVPRanking(SQLModel, table=True):
mvps: list[str] = Field(sa_column=Column(ARRAY(String)))
class User(SQLModel, table=True):
username: str = Field(default=None, primary_key=True)
email: str | None = None
full_name: str | None = None
disabled: bool | None = None
hashed_password: str | None = None
player_id: int | None = Field(default=None, foreign_key="player.id")
SQLModel.metadata.create_all(engine)