36 lines
894 B
Python
36 lines
894 B
Python
from typing import Optional
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
from backend.app.crud.base import CRUDBase
|
|
from backend.app.models.player import Player, PlayerCreate, PlayerUpdate
|
|
|
|
|
|
class CRUDPlayer(CRUDBase[Player, PlayerCreate, PlayerUpdate]):
|
|
def get_player_by_name(
|
|
self,
|
|
db: Session,
|
|
*,
|
|
firstname: str,
|
|
lastname: str,
|
|
) -> Optional[Player]:
|
|
return (
|
|
db.query(Player)
|
|
.filter(Player.lastname == lastname, Player.firstname == firstname)
|
|
.first()
|
|
)
|
|
|
|
def create(self, db: Session, *, obj_in: PlayerCreate) -> Player:
|
|
db_obj = Player(
|
|
firstname=obj_in.firstname,
|
|
lastname=obj_in.lastname,
|
|
)
|
|
db.add(db_obj)
|
|
db.commit()
|
|
db.refresh(db_obj)
|
|
return db_obj
|
|
|
|
|
|
|
|
player = CRUDPlayer(Player)
|