тест 9
This commit is contained in:
30
app.py
30
app.py
@@ -1421,6 +1421,36 @@ class MatchChannelPayload(BaseModel):
|
|||||||
channel: str = ""
|
channel: str = ""
|
||||||
|
|
||||||
|
|
||||||
|
@app.post("/admin/session/{session_token}/schedule/channel")
|
||||||
|
def update_schedule_channel(session_token: str, payload: MatchChannelPayload):
|
||||||
|
session_row = get_match_session_by_token(session_token)
|
||||||
|
if not session_row:
|
||||||
|
return JSONResponse({"error": "session_not_found"}, status_code=404)
|
||||||
|
|
||||||
|
allowed = {"", "match", "match_premier", "match_and_premier"}
|
||||||
|
if payload.channel not in allowed:
|
||||||
|
return JSONResponse({"error": "invalid_channel"}, status_code=400)
|
||||||
|
|
||||||
|
conn = get_connection()
|
||||||
|
try:
|
||||||
|
with conn.cursor() as cur:
|
||||||
|
cur.execute(
|
||||||
|
"""
|
||||||
|
UPDATE matches
|
||||||
|
SET channel = %s
|
||||||
|
WHERE external_id = %s
|
||||||
|
""",
|
||||||
|
(payload.channel, payload.match_external_id),
|
||||||
|
)
|
||||||
|
conn.commit()
|
||||||
|
return {"success": True}
|
||||||
|
except Exception as e:
|
||||||
|
conn.rollback()
|
||||||
|
return JSONResponse({"error": str(e)}, status_code=500)
|
||||||
|
finally:
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
@app.get("/vmix/session/{session_token}/schedule")
|
@app.get("/vmix/session/{session_token}/schedule")
|
||||||
def vmix_schedule(session_token: str):
|
def vmix_schedule(session_token: str):
|
||||||
session_row = get_match_session_by_token(session_token)
|
session_row = get_match_session_by_token(session_token)
|
||||||
|
|||||||
@@ -238,7 +238,8 @@ def get_tour_schedule_by_match_id(match_id: int) -> list[dict]:
|
|||||||
m.home_score,
|
m.home_score,
|
||||||
m.away_score,
|
m.away_score,
|
||||||
ht.name AS home_team_name,
|
ht.name AS home_team_name,
|
||||||
at.name AS away_team_name
|
at.name AS away_team_name,
|
||||||
|
COALESCE(m.channel, '') AS channel
|
||||||
FROM matches m
|
FROM matches m
|
||||||
LEFT JOIN teams ht ON ht.id = m.home_team_id
|
LEFT JOIN teams ht ON ht.id = m.home_team_id
|
||||||
LEFT JOIN teams at ON at.id = m.away_team_id
|
LEFT JOIN teams at ON at.id = m.away_team_id
|
||||||
@@ -262,6 +263,7 @@ def get_tour_schedule_by_match_id(match_id: int) -> list[dict]:
|
|||||||
"away_score": r[6],
|
"away_score": r[6],
|
||||||
"home_team_name": r[7] or "",
|
"home_team_name": r[7] or "",
|
||||||
"away_team_name": r[8] or "",
|
"away_team_name": r[8] or "",
|
||||||
|
"channel": r[9] or "",
|
||||||
}
|
}
|
||||||
for r in rows
|
for r in rows
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user