Kerikim commited on
Commit
e41f996
·
1 Parent(s): 47a2d93

elkay frontend api.py game helpers

Browse files
Files changed (1) hide show
  1. utils/api.py +49 -0
utils/api.py CHANGED
@@ -409,4 +409,53 @@ def record_money_match_play(user_id: int, target: int, total: int,
409
  }
410
  return _try_candidates("POST", [
411
  ("/games/money_match/record", {"json": payload}),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  ])
 
409
  }
410
  return _try_candidates("POST", [
411
  ("/games/money_match/record", {"json": payload}),
412
+ ])
413
+
414
+ def record_budget_builder_play(user_id: int, weekly_allowance: int,
415
+ budget_score: int, elapsed_ms: int,
416
+ allocations: list[dict] | None = None,
417
+ gained_xp: int | None = None):
418
+ payload = {
419
+ "user_id": user_id,
420
+ "weekly_allowance": weekly_allowance,
421
+ "budget_score": budget_score,
422
+ "elapsed_ms": elapsed_ms,
423
+ "allocations": allocations or [],
424
+ }
425
+ if gained_xp is not None:
426
+ payload["gained_xp"] = gained_xp
427
+ return _try_candidates("POST", [
428
+ ("/games/budget_builder/record", {"json": payload}),
429
+ ])
430
+
431
+
432
+ def record_debt_dilemma_play(user_id: int, loans_cleared: int,
433
+ mistakes: int, elapsed_ms: int,
434
+ gained_xp: int | None = None):
435
+ payload = {
436
+ "user_id": user_id,
437
+ "loans_cleared": loans_cleared,
438
+ "mistakes": mistakes,
439
+ "elapsed_ms": elapsed_ms,
440
+ }
441
+ if gained_xp is not None:
442
+ payload["gained_xp"] = gained_xp
443
+ return _try_candidates("POST", [
444
+ ("/games/debt_dilemma/record", {"json": payload}),
445
+ ])
446
+
447
+
448
+ def record_profit_puzzler_play(user_id: int, puzzles_solved: int,
449
+ mistakes: int, elapsed_ms: int,
450
+ gained_xp: int | None = None):
451
+ payload = {
452
+ "user_id": user_id,
453
+ "puzzles_solved": puzzles_solved,
454
+ "mistakes": mistakes,
455
+ "elapsed_ms": elapsed_ms,
456
+ }
457
+ if gained_xp is not None:
458
+ payload["gained_xp"] = gained_xp
459
+ return _try_candidates("POST", [
460
+ ("/games/profit_puzzler/record", {"json": payload}),
461
  ])