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)