128 Commits

Author SHA1 Message Date
5414ae80a8 Add additional README badges, add /api/version route with TOML loading, toml + types-toml 2024-11-12 15:36:44 -06:00
0289d4386d Add missing TODO details 2024-11-10 23:49:17 -06:00
7e4d233468 Minor unnecessary 2024-11-10 23:40:09 -06:00
f14285b252 Fixup hacky login session system, add separate development Caddyfile for CORS cookie issue 2024-11-10 23:40:00 -06:00
af5e42abe7 Log detail CORSMiddleware setup 2024-11-10 20:40:58 -06:00
df36b816cc Move python-based .gitignore at root into /backend
interfering with frontend
2024-11-10 19:50:55 -06:00
c463546e8f Fix delete_cookie() usage, basic /api/session route, remove unused SessionModel dataclass 2024-11-10 19:47:57 -06:00
30bca75a91 nit, format, varname nit 2024-11-10 13:49:46 -06:00
d6d6e35e53 Fix Set-Cookie header not propagating into HTTPException, use delete_cookie helper 2024-11-10 13:24:55 -06:00
1c979ed18a Fix mypy union-attr warning
stupid, I checked it twice and there's no possible way for it to be
None?
2024-11-10 13:17:18 -06:00
066b3e82ff reformat, organize imports 2024-11-10 13:15:28 -06:00
1ea3bc20db Add additional logs, finish test_auth_logout_expired 2024-11-10 13:03:32 -06:00
4d6c46a309 Fix broken expired_session fixture, add test for future 2024-11-10 13:00:37 -06:00
d8659c903f Fix test_session not using proper generate_token(), fix session_constraint_expiry
test_session_constraint_expiry was violating multiple constraints
actually, it wasn't properly testing the expiry detail
2024-11-10 12:55:53 -06:00
20a243ddfc logout route test 2024-11-10 12:48:11 -06:00
6ffc84fce3 Logout route, SessionDependency DI model 2024-11-10 12:48:04 -06:00
00a3643079 Add proper cookie expiry time to Login route 2024-11-10 12:13:56 -06:00
55eb864f77 fixup test_auth_login, add expiry assertions 2024-11-10 00:31:52 -06:00
cb8dd80f33 finish login function, true hash of user fixture 2024-11-10 00:16:37 -06:00
10919d0333 Switch limits to asynchronous storage/strategy 2024-11-09 23:27:27 -06:00
fd90873f7b Add test_auth_login 2024-11-09 23:24:30 -06:00
4c2c4bc2ad Add hacky fix for rate-limiter segregation between pytests 2024-11-09 23:23:55 -06:00
cd900288ff Extend black line-length to 110 2024-11-09 23:23:21 -06:00
ee4f3c64d9 Switch test_user user fixture to proper hasher 2024-11-09 22:44:57 -06:00
a4c8336c1a Add limits package, RateLimiter dependency, test_depends, begin /api/login route 2024-11-09 22:43:53 -06:00
47dc26f842 add email-validator package 2024-11-09 21:31:13 -06:00
15ce80bb66 migration: User.password_hash length to 97, Session.token index
off by one hell fml
also why's the index only applying now? what'd I do lol
2024-11-09 21:30:46 -06:00
126d6b4757 move migration squashing suggestion limit to 15 2024-11-09 21:30:09 -06:00
8c111cf14e Minor formatting concerns, remove dangling IPAddress usage 2024-11-09 20:39:27 -06:00
be4942c1d8 Add misc router for health/migration routes, rename 'authentication' router to 'auth' 2024-11-09 20:22:18 -06:00
f9b12b8d0a Add validate_session() with constraint tests 2024-11-09 20:13:49 -06:00
d996d30d81 Add missing save() call, add TODOs, explicit default last_used to None
Doesn't seem like explicitly setting the default to None does much here;
automatic migration didn't trigger.
2024-11-09 20:12:48 -06:00
40e4e4f4b8 correctly add names to table constraints, fix inverted constraint for session_last_used_created 2024-11-09 20:08:10 -06:00
4467195cb8 Custom session constraints migration
The automatic migrator wouldn't do this on it's own, I manually made
this migration
2024-11-09 17:49:49 -06:00
591635fa70 Fix literal arg for migrate 2024-11-09 17:41:10 -06:00
ced662a7e8 Disable captured log, use pretty stderr output 2024-11-09 17:30:46 -06:00
afd29806dc test utc_now, hacky fix for TZ Aware/Naive comparison when fetching datetimes 2024-11-09 17:30:28 -06:00
d725d1b863 Add test_session, add randomizers, move test_app, user/session fixtures 2024-11-09 17:00:45 -06:00
35d967360d Integrate pytest into run.sh cleanly, use $@ args directly in COMMAND def 2024-11-09 16:39:36 -06:00
6920098487 Add pytest-xdist for parallel testing 2024-11-09 16:39:09 -06:00
e5e718d3e4 migration: Session model, User.flags field 2024-11-09 16:29:46 -06:00
07c9a724a2 Add user soft delete ability via BitField flags, explicit on_delete CASCADE, Session.is_expired(), Session.use() 2024-11-09 16:07:49 -06:00
53a0ac0624 Add token permissions for coverage-comment, fully qualify & use development environment in run.sh DB URL 2024-11-09 15:31:38 -06:00
26c8310942 Add pytest-cov for coverage abilities 2024-11-09 14:20:54 -06:00
290c1fc85c Add __init__ module hints, TODO, rm unused import, fix router import, authentication router stub 2024-11-09 14:01:54 -06:00
818c3cb7bc Add pytest with GitHub Action workflow 2024-11-09 13:21:50 -06:00
ca9ea5ec30 Updated CHANGELOG.md, updated versions to 0.3.0 2024-11-09 12:36:28 -06:00
d612625de8 Add session model, use utc_now utility 2024-11-07 11:32:24 -06:00
95b05e077a delete all old IPAddress related model code 2024-11-07 11:31:03 -06:00
bc1a6f927f Add utc_now for deprecated datetime.datetime.utcnow 2024-11-07 11:30:34 -06:00