
    !\i	                         d Z ddlmZmZmZmZmZ ddlmZ ddl	m	Z	 ddl
Z
ddlmZ  G d dee
j                        Z G d	 d
e      Z G d de      Zy)z-Match and MatchEvent models (football schema)    )ColumnIntegerString
ForeignKeyDateTime)relationship)datetimeN)Basec                   $    e Zd ZdZdZdZdZdZdZy)MatchStatuszMatch status	scheduledlivefinished	postponed	cancelledN)	__name__
__module____qualname____doc__	SCHEDULEDLIVEFINISHED	POSTPONED	CANCELLED      /app/app/core/db/models/match.pyr   r   
   s    IDHIIr   r   c                   6   e Zd ZdZdZ eedd      Z ee ed      d      Z	 ee ed            Z
 ee ed	      d      Z ee ed	      d      Z ed
edd      Z eeej"                  j$                  d      Z ede      Z ede      Z ee      Z eedd      Z eeej2                        Z eeej2                  ej2                        Z edd      Z edd      Z edegd      Z edegd      Z  eddd      Z! edd      Z"y)Matchz
Match/GamematchesTprimary_keyindexz
leagues.idFnullablez
seasons.idteams.id
kickoff_at)r%   r#   )defaultr#   ft_homeft_away)uniquer#   )r(   )r(   onupdateLeagueback_populatesSeasonTeamhome_matches)foreign_keysr/   away_matches
MatchEventmatchzall, delete-orphan)r/   cascade
PredictionN)#r   r   r   r   __tablename__r   r   idr   	league_id	season_idhome_team_idaway_team_idr   
match_dater   r   r   valuestatus
home_score
away_score
source_url	source_idr	   utcnow
created_at
updated_atr   leagueseason	home_team	away_teameventspredictionsr   r   r   r   r      s>   M	T	6Bw
< 85IIw
< 89I':j#9EJL':j#9EJL hdKJFK$9$9$?$?tLF 	7+J	7+J Jvd$7I(//:J(//HOOTJ (9=F(9=FV<.Q_`IV<.Q_`I,wH\]F|GDKr   r   c                       e Zd ZdZdZ eedd      Z ee ed      d      Z	 ee
d      Z ee ed            Z ee
      Z ee      Z ee
      Z ed	d
      Zy)r5   zMatch event (goal, card, etc.)match_eventsTr!   z
matches.idFr$   r&   r   rM   r.   N)r   r   r   r   r9   r   r   r:   r   match_idr   
event_typeteam_idplayer_nameminutedescriptionr   r6   r   r   r   r5   r5   5   so    ("M	T	6Bgz,7%HH/JWj45G.KG_F.K:Er   r5   )r   
sqlalchemyr   r   r   r   r   sqlalchemy.ormr   r	   enumapp.core.db.databaser
   strEnumr   r   r5   r   r   r   <module>r]      sG    3 D D '   %#tyy ED ED; ;r   