Split endpoints by public and authorized.

pull/896/head
Andrey 2023-08-12 11:13:51 +03:00
rodzic f8d067bf7d
commit fa92e3260d
1 zmienionych plików z 51 dodań i 15 usunięć

Wyświetl plik

@ -68,8 +68,8 @@ app.add_middleware(
)
@app.get("", response_model=List[data.LeaderboardPosition])
@app.get("/", response_model=List[data.LeaderboardPosition])
@app.get("", response_model=List[data.LeaderboardPosition], tags=["Public Endpoints"])
@app.get("/", response_model=List[data.LeaderboardPosition], tags=["Public Endpoints"])
async def leaderboard(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
limit: int = Query(10),
@ -108,8 +108,12 @@ async def leaderboard(
return result
@app.post("", response_model=data.LeaderboardCreatedResponse)
@app.post("/", response_model=data.LeaderboardCreatedResponse)
@app.post(
"", response_model=data.LeaderboardCreatedResponse, tags=["Authorized Endpoints"]
)
@app.post(
"/", response_model=data.LeaderboardCreatedResponse, tags=["Authorized Endpoints"]
)
async def create_leaderboard(
request: Request,
leaderboard: data.LeaderboardCreateRequest = Body(...),
@ -152,7 +156,11 @@ async def create_leaderboard(
)
@app.put("/{leaderboard_id}", response_model=data.LeaderboardUpdatedResponse)
@app.put(
"/{leaderboard_id}",
response_model=data.LeaderboardUpdatedResponse,
tags=["Authorized Endpoints"],
)
async def update_leaderboard(
request: Request,
leaderboard_id: UUID = Path(..., description="Leaderboard ID"),
@ -209,7 +217,11 @@ async def update_leaderboard(
)
@app.delete("/{leaderboard_id}", response_model=data.LeaderboardDeletedResponse)
@app.delete(
"/{leaderboard_id}",
response_model=data.LeaderboardDeletedResponse,
tags=["Authorized Endpoints"],
)
async def delete_leaderboard(
request: Request,
leaderboard_id: UUID = Path(..., description="Leaderboard ID"),
@ -263,7 +275,11 @@ async def delete_leaderboard(
)
@app.get("/leaderboards", response_model=List[data.Leaderboard])
@app.get(
"/leaderboards",
response_model=List[data.Leaderboard],
tags=["Authorized Endpoints"],
)
async def get_leaderboards(
request: Request, db_session: Session = Depends(db.yield_db_session)
) -> List[data.Leaderboard]:
@ -299,7 +315,11 @@ async def get_leaderboards(
return results
@app.get("/count/addresses", response_model=data.CountAddressesResponse)
@app.get(
"/count/addresses",
response_model=data.CountAddressesResponse,
tags=["Public Endpoints"],
)
async def count_addresses(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
db_session: Session = Depends(db.yield_db_session),
@ -325,7 +345,9 @@ async def count_addresses(
return data.CountAddressesResponse(count=count)
@app.get("/info", response_model=data.LeaderboardInfoResponse)
@app.get(
"/info", response_model=data.LeaderboardInfoResponse, tags=["Public Endpoints"]
)
async def leadeboard_info(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
db_session: Session = Depends(db.yield_db_session),
@ -353,7 +375,11 @@ async def leadeboard_info(
)
@app.get("/scores/changes")
@app.get(
"/scores/changes",
response_model=List[data.LeaderboardScoresChangesResponse],
tags=["Public Endpoints"],
)
async def get_scores_changes(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
db_session: Session = Depends(db.yield_db_session),
@ -380,7 +406,7 @@ async def get_scores_changes(
]
@app.get("/quartiles", response_model=data.QuartilesResponse)
@app.get("/quartiles", response_model=data.QuartilesResponse, tags=["Public Endpoints"])
async def quartiles(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
db_session: Session = Depends(db.yield_db_session),
@ -416,7 +442,11 @@ async def quartiles(
)
@app.get("/position", response_model=List[data.LeaderboardPosition])
@app.get(
"/position",
response_model=List[data.LeaderboardPosition],
tags=["Public Endpoints"],
)
async def position(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
address: str = Query(..., description="Address to get position for."),
@ -465,7 +495,9 @@ async def position(
return results
@app.get("/rank", response_model=List[data.LeaderboardPosition])
@app.get(
"/rank", response_model=List[data.LeaderboardPosition], tags=["Public Endpoints"]
)
async def rank(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
rank: int = Query(1, description="Rank to get."),
@ -504,7 +536,7 @@ async def rank(
return results
@app.get("/ranks", response_model=List[data.RanksResponse])
@app.get("/ranks", response_model=List[data.RanksResponse], tags=["Public Endpoints"])
async def ranks(
leaderboard_id: UUID = Query(..., description="Leaderboard ID"),
db_session: Session = Depends(db.yield_db_session),
@ -537,7 +569,11 @@ async def ranks(
return results
@app.put("/{leaderboard_id}/scores", response_model=List[data.LeaderboardScore])
@app.put(
"/{leaderboard_id}/scores",
response_model=List[data.LeaderboardScore],
tags=["Authorized Endpoints"],
)
async def leaderboard_push_scores(
request: Request,
leaderboard_id: UUID = Path(..., description="Leaderboard ID"),