Split frontend model from backend model
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 26s
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 26s
This commit is contained in:
32
formula10/database/model/db_user.py
Normal file
32
formula10/database/model/db_user.py
Normal file
@ -0,0 +1,32 @@
|
||||
from typing import Any, List
|
||||
from sqlalchemy import Boolean, String
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from formula10 import db
|
||||
|
||||
|
||||
class DbUser(db.Model):
|
||||
"""
|
||||
A user that can guess races (name only).
|
||||
"""
|
||||
__tablename__ = "user"
|
||||
__csv_header__ = ["name", "enabled"]
|
||||
|
||||
def __init__(self, *, name: str, enabled: bool):
|
||||
self.name = name # Primary key
|
||||
|
||||
self.enabled = enabled
|
||||
|
||||
@classmethod
|
||||
def from_csv(cls, row: List[str]):
|
||||
db_user: DbUser = cls(name=str(row[0]), enabled=bool(row[1]))
|
||||
return db_user
|
||||
|
||||
def to_csv(self) -> List[Any]:
|
||||
return [
|
||||
self.name,
|
||||
self.enabled
|
||||
]
|
||||
|
||||
name: Mapped[str] = mapped_column(String(32), primary_key=True)
|
||||
enabled: Mapped[bool] = mapped_column(Boolean)
|
Reference in New Issue
Block a user