Commit Graph

72 Commits (2c44f788d95513ef8d2c6e4e296ff26efec9a96f)

Author SHA1 Message Date
Jef Roosens 2c44f788d9
feat: store user agent with sessions 2025-03-29 15:37:50 +01:00
Jef Roosens 5112a6ce35
feat(otter): add log level cli config 2025-03-29 14:43:35 +01:00
Jef Roosens 5f57d85584
feat(gpodder_sqlite): switch to on-disk sqlite for tests and benches 2025-03-20 19:19:54 +01:00
Jef Roosens d329a0e61c
feat(gpodder_sqlite): added benchmarking support 2025-03-19 21:52:17 +01:00
Jef Roosens 73988d6264
test(gpodder_sqlite): start device tests 2025-03-19 15:00:00 +01:00
Jef Roosens 22016fe0e9
fix(gpodder_sqlite): force in-memory database to consist of only one connection 2025-03-19 14:58:04 +01:00
Jef Roosens fe8939c07e
test(gpodder_sqlite): add remove old sessions test 2025-03-19 13:22:58 +01:00
Jef Roosens 5f06e0847f
test(gpodder_sqlite): added some tests for AuthStore 2025-03-19 11:01:37 +01:00
Jef Roosens 0bb0c5657a
docs(gpodder): document session last_seen timestamp's precision should be at least to the second 2025-03-19 10:55:20 +01:00
Jef Roosens 705b347775
feat(gpodder_sqlite): set up testing 2025-03-19 10:47:07 +01:00
Jef Roosens b44a47fefd
feat(gpodder): add create_user method to AuthStore 2025-03-19 10:46:34 +01:00
Jef Roosens 2a8917f21d
refactor: split up gpodder module files 2025-03-19 09:05:41 +01:00
Jef Roosens 0cfcd90eba
refactor: split gpodder repository and the sqlite data store implementation into separate crates
The complete separation of concerns via the gpodder repository allows us
to cleanly separate the server from the gpodder specification. This
paves the way for a later Postgres implementation of the data store.
2025-03-19 08:54:49 +01:00
Jef Roosens 86687a7b96
chore: update changelog and readme 2025-03-17 11:33:11 +01:00
Jef Roosens f4008e4b9c
feat: started rudimentary gpo cli tool to manually sync devices 2025-03-17 11:31:58 +01:00
Jef Roosens 0e543539cf
feat: implemented sync device API routes 2025-03-17 11:15:56 +01:00
Jef Roosens f42c708cc6
feat: implemented sync status update function in repository 2025-03-17 10:27:30 +01:00
Jef Roosens efe08771b1
feat: implement synchronize sync group in sqlite repository 2025-03-17 10:14:13 +01:00
Jef Roosens cac80ca3e4
feat: modify entire sync group when updating subscriptions 2025-03-17 09:25:20 +01:00
Jef Roosens 025a69ea71
fix: use correct table name for sync_group 2025-03-16 22:32:28 +01:00
Jef Roosens 158910a61f
feat: implement sync group merge, unsync and devices by sync group 2025-03-16 21:42:11 +01:00
Jef Roosens 4a45bebc9f
feat: added sync group table and models 2025-03-16 21:32:55 +01:00
Jef Roosens 320a46c0f3
feat: define device sync abstraction API 2025-03-16 16:02:59 +01:00
Jef Roosens 0849c88796
chore: remove old AuthRepository 2025-03-16 14:07:24 +01:00
Jef Roosens 12c1c72d4d
chore: merge session last seen migration into initial 2025-03-16 14:05:29 +01:00
Jef Roosens 2249d986eb
fix: use correct datetime representation in server episode action model 2025-03-16 10:12:01 +01:00
Jef Roosens ec07371cb3
feat: send correct cookies for AntennaPod; let auth endpoint verify
cookie
2025-03-16 10:11:41 +01:00
Jef Roosens 65e83ecb1f
fix: return persistent cookies instead of session cookies 2025-03-15 21:31:39 +01:00
Jef Roosens bc80515474
feat: implement background old session cleanup task 2025-03-15 21:21:35 +01:00
Jef Roosens f00d842bad
feat: implement session last_seen update 2025-03-15 20:59:00 +01:00
Jef Roosens 330877c8c5
refactor: moved knowledge of subscription change time to store 2025-03-15 20:22:12 +01:00
Jef Roosens 8a9744c4a9
refactor: decoupled gpodder and server models 2025-03-15 20:22:12 +01:00
Jef Roosens 465612eec7
refactor: migrated episode actions API to store 2025-03-15 20:22:11 +01:00
Jef Roosens dd14a2152f
refactor: migrate subscriptions API to store 2025-03-15 20:22:11 +01:00
Jef Roosens 6bb3e8a27f
refactor: migrate devices to store 2025-03-15 20:22:11 +01:00
Jef Roosens b1fa048081
refactor: moved auth business logic outside of db using store abstraction 2025-03-15 20:22:11 +01:00
Jef Roosens 3f0e01aaf6
feat: add last_seen field to sessions 2025-03-15 20:22:05 +01:00
Jef Roosens b5ec2e40de
feat: add debug request and response header logging 2025-03-15 15:56:40 +01:00
Jef Roosens f9ffc21a3f
feat: added flexible configuration system using figment 2025-03-08 22:08:21 +01:00
Jef Roosens f16cdfdfff
docs: updated readme and added changelog 2025-03-08 20:49:53 +01:00
Jef Roosens 66349afdfc
feat: add debug query logging 2025-03-06 23:13:06 +01:00
Jef Roosens 648921837b
feat: improve authentication flow
authentication now works either with sessionid or basic auth, with basic
auth not creating a session
2025-03-04 20:04:44 +01:00
Jef Roosens 2f974fd1ff
fix: use seconds for timestamp values
kasts cannot work with ms value timestamps; it expects the timestamp to
be the unix timestamp in seconds
2025-03-04 19:43:11 +01:00
Jef Roosens d8971f6c62
chore: removed dead code 2025-03-04 16:53:34 +01:00
Jef Roosens 029eb95382
feat: implemented episode actions GET route 2025-03-04 16:44:30 +01:00
Jef Roosens bcfb8805eb
feat: implement episode actions add endpoint 2025-03-04 09:47:13 +01:00
Jef Roosens 064365fb4f
refactor: decide to not create separate table for subscriptions 2025-03-04 08:46:49 +01:00
Jef Roosens 3e79bec974
wip episode actions 2025-02-28 13:49:13 +01:00
Jef Roosens 7ce41cd034
chore: combine migrations into one 2025-02-28 09:46:26 +01:00
Jef Roosens 2be126a7b3
feat: migrate auth to repository system 2025-02-27 23:08:53 +01:00