@@ -195,12 +195,9 @@ async def read_users(
195195 .limit (limit )
196196 )
197197 user_rows = result .all ()
198- # Now, user_rows is a list of (User, item_bonus_sum)
199198 users = []
200199 for user , item_bonus_sum in user_rows :
201- # Update power field on-the-fly (not in DB)
202200 user .power = user .power + item_bonus_sum
203- # If your User schema expects items, set to [] or None
204201 user .items = []
205202 users .append (user )
206203 return users
@@ -241,7 +238,7 @@ async def open_lootbox(token: str = Depends(oauth2_scheme), db=Depends(get_async
241238 result = await db .execute (select (models .Item ).where (models .Item .id == item_seed_id ))
242239 item = result .scalar_one_or_none ()
243240 if not item :
244- item_data = rng_item (username , items_count + 1 )
241+ item_data = rng_item (item_seed_id )
245242 item = models .Item (
246243 id = item_seed_id ,
247244 name = item_data ['name' ],
@@ -267,7 +264,6 @@ async def get_my_items(token: str = Depends(oauth2_scheme), db=Depends(get_async
267264 if user is None :
268265 raise HTTPException (status_code = 401 , detail = "User not found" )
269266
270- # Optimized direct query (no joinedload!)
271267 result = await db .execute (
272268 select (models .Item )
273269 .join (models .Inventory , models .Inventory .item_id == models .Item .id )
@@ -439,8 +435,8 @@ def username_to_seed(username, lootbox_nr):
439435def item_id (username , lootbox_nr ):
440436 return username_to_seed (username , lootbox_nr )
441437
442- def rng_item (username , lootbox_nr ):
443- seed = username_to_seed ( username , lootbox_nr )
438+ def rng_item (seed_id ):
439+ seed = seed_id
444440 random .seed (seed )
445441 rnd = random .random ()
446442 acc = 0.0
0 commit comments