Commit Graph

156 Commits (master)

Author SHA1 Message Date
maru 65e7696e7e
Use tokenFromRequest in handleAccountLogout 2024-04-25 15:31:53 -04:00
maru 2656c0a033
Enforce HTTP method on endpoints 2024-04-25 15:30:12 -04:00
Flashfyre 2f8c2d3f07 Match trainer and secret ID on update for data integrity 2024-04-25 09:56:56 -04:00
maru 849bc601f0
Remove get prefix from certain function names 2024-04-25 03:50:35 -04:00
maru 768900d885
Change seedCompletions to dailyRunCompletions 2024-04-25 03:40:22 -04:00
maru 7e3ba249df
Move httpError to common.go 2024-04-24 20:23:20 -04:00
maru fa5dcb0052
Use ServeMux router instead of switch statement 2024-04-24 20:05:57 -04:00
maru da572ebdd9
Add default case to router 2024-04-24 18:54:24 -04:00
maru 96f8a74396
Unduplicate more code 2024-04-22 18:32:45 -04:00
maru 1de3ce72e4
Reuse zstandard encoder 2024-04-22 18:20:58 -04:00
maru 697c5335d7
Prevent writing empty save files 2024-04-22 18:06:32 -04:00
maru b00ed4c0b9
Use WriteFile instead of stream writing to files 2024-04-22 18:01:17 -04:00
maru 8f51cd826c
Run formatter on code 2024-04-21 18:57:27 -04:00
maru 4a017b0f32
Clean up recent API changes 2024-04-21 16:52:26 -04:00
Flashfyre 6acbb6448a Protect against cross-session overwrites 2024-04-21 16:23:25 -04:00
maru 75cf6f3ab1
Use Sprintf instead of encoding UUIDs to hex 2024-04-20 17:10:48 -04:00
maru 6816df3158
Set content type of JSON responses 2024-04-20 16:58:04 -04:00
maru f7ab2719a2
Don't make rankings endpoint update user activity 2024-04-19 16:44:33 -04:00
maru 1d54c1ad64
Use channels to rate limit argon2 2024-04-19 13:27:55 -04:00
maru fbd4a60a4a
Add mutex to deriveArgon2IDKey 2024-04-19 12:48:14 -04:00
maru 0fec7cb4c3
Revert "Serve game content and API"
This reverts commit 6bd7deb3de.
2024-04-19 12:41:05 -04:00
maru 6bd7deb3de
Serve game content and API 2024-04-19 03:27:47 -04:00
Flashfyre a36a8f5be9 Update schema and version for variant update 2024-04-18 21:54:07 -04:00
maru 62102ab4fd
Use forms instead of JSON for login/register requests 2024-04-18 18:26:43 -04:00
maru 35641e420b
Clean up compensation code 2024-04-18 02:11:31 -04:00
maru 09abd1fb66
Fix bug with /savedata/clear endpoint 2024-04-18 02:02:02 -04:00
maru 136aac6614
Sleep for one second in recordNewDaily task 2024-04-18 00:46:00 -04:00
maru 9f1349d6a0
Move gob Register functions to pokerogue-server.go 2024-04-17 21:11:53 -04:00
maru dbcc0d04e6
Add new exit handler 2024-04-17 19:31:12 -04:00
maru 5916c9e5e5
Use UTC for cron 2024-04-17 19:03:25 -04:00
maru 9477889390
Use better cron package 2024-04-16 21:01:24 -04:00
Flashfyre 420a4d17b3 Fix version check for outdated client 2024-04-16 09:21:23 -04:00
Flashfyre d232773ecd Add game version check to save (WiP) 2024-04-15 10:10:22 -04:00
maru 25abf4914b
Use TokenSize const in api common.go 2024-04-15 03:24:45 -04:00
maru 39199dc1b1
Move consts in account package to common.go 2024-04-15 03:18:40 -04:00
maru f395dc145b
Code consistency 2024-04-15 03:15:10 -04:00
maru 98ecbbb529
Rename 'recordNewRun' to 'recordNewDaily' 2024-04-14 20:15:25 -04:00
maru c3a3746639
Clean up daily package 2024-04-14 20:13:45 -04:00
maru 1f0f38d38e
Move endpoint categories into their own packages 2024-04-14 20:03:53 -04:00
maru 522ce9f4fa
Update GitHub link 2024-04-14 19:25:36 -04:00
maru 10606ebb13
Consistency in handleSavedataClear 2024-04-14 19:08:47 -04:00
maru 2d5f777efd
Move argon2 functions to its own file 2024-04-14 19:05:04 -04:00
Flashfyre a4014feea8 Track player vouchers 2024-04-11 10:13:35 -04:00
Flashfyre ba7ab22d4d Fix voucher compensation logic 2024-04-11 10:01:26 -04:00
maru 72151d9c01
Fix new save reader/writer functions 2024-04-11 00:15:07 -04:00
maru 9a0d4a2698
Defer close calls in save data reader functions 2024-04-10 15:39:53 -04:00
maru 1b5da99cda
Make save reading/writing more efficient 2024-04-10 07:25:39 -04:00
maru af5f9798ae
Fix comment indentation in generic.go 2024-04-10 02:54:12 -04:00
maru 5893350784
Pass struct to handleAccountLogin and handleAccountRegister 2024-04-10 02:49:41 -04:00
maru 422a850354
Move httpError func to generic.go 2024-04-10 02:41:58 -04:00
maru 01c037a7a2
Use JSON encoders instead of Marshal 2024-04-10 00:00:47 -04:00
Flashfyre 992864b785 Add voucher compensation logic 2024-04-09 22:22:00 -04:00
maru 0f8fc0085e
Change certain struct field names back to what they were 2024-04-09 01:28:56 -04:00
maru 85055d2921
Fix variable re-use bug 2024-04-08 21:34:42 -04:00
maru d97e07b522
Fix condition to read save data from request body 2024-04-08 20:50:47 -04:00
maru 977a05049e
Add missing return 2024-04-08 20:47:23 -04:00
maru 5778675171
Major refactor of API 2024-04-08 20:44:36 -04:00
maru 0edfeab3ca
Various styling changes 2024-04-08 18:15:09 -04:00
maru 80a2c637d2
Indentation consistency near calls to rand.Read 2024-04-08 17:49:50 -04:00
maru 93bb792964
Don't include http error code in log 2024-04-07 17:29:21 -04:00
maru 0eed542b2e
Add http error logging 2024-04-07 17:22:34 -04:00
Flashfyre dcb1c76370 Add endpoints for stats 2024-04-06 18:15:47 -04:00
Flashfyre 99d3490172 Update account stats on system save 2024-04-06 17:43:11 -04:00
maru d12a008259
Various changes 2024-04-01 22:54:55 -04:00
Flashfyre 253e462536 Cache player count instead of querying per user 2024-04-01 21:42:48 -04:00
Flashfyre 8ad0f396ea Add seed check to daily run update condition 2024-03-24 20:06:04 -04:00
Flashfyre eb671f2cb7 Update account activity on rankings load 2024-03-24 19:00:04 -04:00
Flashfyre 7d23859dea Add player count handler 2024-03-23 21:34:18 -04:00
Flashfyre 53ccdc5921 Add weekly rankings and ranking pagination support 2024-03-23 16:26:00 -04:00
Flashfyre 4419ead54c Delete session on loss 2024-03-22 10:18:53 -04:00
Flashfyre a0f8ab658f Fix daily run scheduler not working 2024-03-19 22:05:37 -04:00
Flashfyre be04408336 Update random daily seed logic 2024-03-18 19:55:02 -04:00
Flashfyre 2cb7be52eb Change daily seed generation and update schema for recording failed daily runs 2024-03-17 20:48:49 -04:00
Flashfyre 4710617f23 Add limit and pagination to rankings query 2024-03-17 13:36:32 -04:00
Flashfyre ff98047caa Add daily run rankings 2024-03-17 13:18:51 -04:00
Flashfyre 71889f7daa Add score to session save data 2024-03-17 11:34:11 -04:00
Flashfyre 5214c4aff4 Add mode to seed completion 2024-03-17 00:21:04 -04:00
Flashfyre 2e964b007d Add daily runs and seed completions 2024-03-16 21:51:13 -04:00
Flashfyre 23eb0bbbe8 Log last activity date 2024-03-15 16:38:32 -04:00
Flashfyre 967cbeecdd Fix bad filename 2024-03-15 15:38:03 -04:00
Flashfyre 12137bc3b7 Add session save slots 2024-03-14 21:44:39 -04:00
Flashfyre 2938dbc19d Add support for egg moves data 2024-02-25 12:45:29 -05:00
Flashfyre 06ade19e2c Add starter move data to system save data spec 2024-02-21 00:38:25 -05:00
Flashfyre 9e38ccccbc Add system data integrity check 2024-02-14 17:12:10 -05:00
Flashfyre 448eeeee4a Add player gender field and session history data defs 2024-02-05 23:24:37 -05:00
Flashfyre f7ffb481a7 Add session play time to model 2024-01-11 20:28:01 -05:00
Flashfyre b1355e96dd Add game stats to system data 2024-01-11 12:26:43 -05:00
Flashfyre 83e354a9ef Add nature to dex entry 2024-01-05 21:25:13 -05:00
Flashfyre b64007a5f2 Fix minor issues with session data handling 2023-12-31 17:39:11 -05:00
maru c1098bb415
Fix hasGameSession 2023-12-31 16:57:44 -05:00
maru c1ada7f862
Add hasGameSession to account info response 2023-12-31 16:42:59 -05:00
maru 61d5dd6852
Fix filesystem error handling 2023-12-31 16:27:21 -05:00
maru 7319f13b44
Fix typo 2023-12-31 16:20:45 -05:00
maru a19280d02c
Add cloud save data 2023-12-31 16:12:20 -05:00
maru 6a7aafbff4
Update endpoint comments 2023-12-29 15:15:16 -05:00
maru be62fc939a
Add token length check to account info handler 2023-12-29 15:12:57 -05:00
maru b1e67634df
Fix generated token size 2023-12-29 15:01:04 -05:00
maru d533eeee5f
Add more CORS headers 2023-12-29 14:34:58 -05:00
maru 955359c3b1
Use Set instead of Add for CORS header 2023-12-29 14:33:11 -05:00
maru 1dee0cbc3a
Add debug mode bool 2023-12-29 14:30:47 -05:00