From 546600a29e76530fd755cadbfa28598428eae881 Mon Sep 17 00:00:00 2001 From: profitroll Date: Mon, 23 Jan 2023 10:36:28 +0100 Subject: [PATCH] Changed only_ids response (still not final) --- extensions/saves.py | 11 ++++++++--- models/saves.py | 6 +++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/extensions/saves.py b/extensions/saves.py index ab14ce6..0e629d7 100644 --- a/extensions/saves.py +++ b/extensions/saves.py @@ -3,7 +3,7 @@ from urllib.parse import quote_plus from os import remove from typing import Dict, List, Literal, Union from xmltodict import parse -from models.saves import StardewSave +from models.saves import StardewSave, StardewSaveBrief from modules.app import app, get_api_key, user_by_key from modules.database import col_devices, col_saves from fastapi import HTTPException, Depends, UploadFile @@ -14,7 +14,7 @@ from starlette.status import HTTP_204_NO_CONTENT, HTTP_403_FORBIDDEN, HTTP_404_N from modules.utils import configGet, zip_saves -@app.get("/saves", response_class=UJSONResponse, response_model=Union[List[Dict[str, StardewSave]], List[int]], description="Get all available game saves") +@app.get("/saves", response_class=UJSONResponse, response_model=Union[List[Dict[str, StardewSave]], List[StardewSaveBrief]], description="Get all available game saves") async def saves_get(device: Union[str, None] = None, version: Union[str, None] = None, only_ids: bool = False, apikey: APIKey = Depends(get_api_key)): user = user_by_key(apikey) @@ -37,7 +37,12 @@ async def saves_get(device: Union[str, None] = None, version: Union[str, None] = if only_ids is True: for entry in saves_entries: if entry["id"] not in output: - output.append(entry["id"]) + output.append( + { + "id": entry["id"], + "farmer": entry["data"]["farmer"] + } + ) else: for entry in saves_entries: out_entry = entry diff --git a/models/saves.py b/models/saves.py index 82b5bdc..6008a16 100644 --- a/models/saves.py +++ b/models/saves.py @@ -14,4 +14,8 @@ class StardewSave(BaseModel): id: int device: str date: int - data: StardewSaveData \ No newline at end of file + data: StardewSaveData + +class StardewSaveBrief(BaseModel): + id: int + farmer: str \ No newline at end of file