def get_or_create_lichess_game(headers: dict, white: UUID, black: UUID, raw: str) -> Game: chess_game = Game.query.filter_by(site=headers.get("Site")).one_or_none() if chess_game: return chess_game chess_game = Game.lichess(**headers, white=white, black=black, raw=raw) chess_game.store() return chess_game