first commit
This commit is contained in:
46
services/players_service.py
Normal file
46
services/players_service.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from repositories.player_repository import upsert_player
|
||||
from repositories.coach_repository import upsert_coach
|
||||
|
||||
|
||||
def to_int(value, default=0) -> int:
|
||||
if value is None:
|
||||
return default
|
||||
value = str(value).strip()
|
||||
return int(value) if value.isdigit() else default
|
||||
|
||||
|
||||
def sync_team_roster(team_external_id: str, team_data: dict) -> None:
|
||||
players = team_data.get("players") or []
|
||||
coaches = team_data.get("coaches") or []
|
||||
|
||||
for player in players:
|
||||
upsert_player(
|
||||
external_id=player.get("player_id", ""),
|
||||
team_external_id=team_external_id,
|
||||
player=player.get("player", ""),
|
||||
lastname=player.get("lastname", ""),
|
||||
name=player.get("name", ""),
|
||||
number=player.get("number", ""),
|
||||
pos=player.get("pos", ""),
|
||||
amplua=player.get("amplua", ""),
|
||||
born=player.get("born", ""),
|
||||
games=to_int(player.get("games")),
|
||||
goals=to_int(player.get("goals")),
|
||||
penaltys=to_int(player.get("penaltys")),
|
||||
assists=to_int(player.get("assists")),
|
||||
yellows=to_int(player.get("yellows")),
|
||||
reds=to_int(player.get("reds")),
|
||||
is_active=True,
|
||||
)
|
||||
|
||||
for coach in coaches:
|
||||
upsert_coach(
|
||||
external_id=coach.get("coach_id", ""),
|
||||
team_external_id=team_external_id,
|
||||
player=coach.get("player", ""),
|
||||
lastname=coach.get("lastname", ""),
|
||||
name=coach.get("name", ""),
|
||||
born=coach.get("born", ""),
|
||||
amplua=coach.get("amplua", ""),
|
||||
is_active=True,
|
||||
)
|
||||
Reference in New Issue
Block a user