@@ -95,9 +95,7 @@ async def add_save(
95
95
else :
96
96
scanned_screenshot .rom_id = rom .id
97
97
scanned_screenshot .user_id = request .user .id
98
- db_screenshot = db_screenshot_handler .add_screenshot (
99
- screenshot = scanned_screenshot
100
- )
98
+ db_screenshot_handler .add_screenshot (screenshot = scanned_screenshot )
101
99
102
100
# Set the last played time for the current user
103
101
rom_user = db_rom_handler .get_rom_user (rom_id = rom .id , user_id = request .user .id )
@@ -155,6 +153,35 @@ async def update_save(request: Request, id: int) -> SaveSchema:
155
153
db_save .id , {"file_size_bytes" : saveFile .size }
156
154
)
157
155
156
+ screenshotFile : UploadFile | None = data .get ("screenshotFile" , None ) # type: ignore
157
+ if screenshotFile and screenshotFile .filename :
158
+ screenshots_path = fs_asset_handler .build_screenshots_file_path (
159
+ user = request .user , platform_fs_slug = db_save .rom .platform_slug
160
+ )
161
+
162
+ fs_asset_handler .write_file (file = screenshotFile , path = screenshots_path )
163
+
164
+ # Scan or update screenshot
165
+ scanned_screenshot = scan_screenshot (
166
+ file_name = screenshotFile .filename ,
167
+ user = request .user ,
168
+ platform_fs_slug = db_save .rom .platform_slug ,
169
+ )
170
+ db_screenshot = db_screenshot_handler .get_screenshot_by_filename (
171
+ rom_id = db_save .rom .id ,
172
+ user_id = request .user .id ,
173
+ file_name = screenshotFile .filename ,
174
+ )
175
+ if db_screenshot :
176
+ db_screenshot = db_screenshot_handler .update_screenshot (
177
+ db_screenshot .id ,
178
+ {"file_size_bytes" : scanned_screenshot .file_size_bytes },
179
+ )
180
+ else :
181
+ scanned_screenshot .rom_id = db_save .rom .id
182
+ scanned_screenshot .user_id = request .user .id
183
+ db_screenshot_handler .add_screenshot (screenshot = scanned_screenshot )
184
+
158
185
# Set the last played time for the current user
159
186
rom_user = db_rom_handler .get_rom_user (db_save .rom_id , request .user .id )
160
187
if not rom_user :
0 commit comments