Commit graph

84 commits

Author SHA1 Message Date
Peter Vacho 3332c5e98e
Add invitation endpoints 2024-12-28 23:28:57 +01:00
Peter Vacho ddefbf3abd
Use MissingIdError & UnfetchedLinkError instead of python exceptions 2024-12-28 12:32:51 +01:00
Peter Vacho e42cc4949b
Use plural collection name for category (consistency) 2024-12-28 12:18:19 +01:00
Peter Vacho 9186c5fc3d
Allow filtering events by date 2024-12-28 12:16:00 +01:00
Peter Vacho f83f0d1ae1
Add invited events endpoint 2024-12-28 12:00:05 +01:00
Peter Vacho 1eaef54d70
Fix db links & some other db issues
This addresses several issues regarding the Beanie library (for db
interactions with Mongo).

Most notably, this moves away from using types like:
`Annotated[T | Link[T], Annotated[Link[T], Indexed]]` to annotate link
fields, which not only looks pretty bad in the code, but also doesn't
work and instead creates copies, not references, which was causing a
bunch of issues in the code.

The rest of the issues stem from fixing the above, addressing various
small bugs that turned up after some doing debugging, or new type issues
that this fix introduced (unfortunately, Beanie still doesn't have the
best typing support).
2024-12-28 11:59:28 +01:00
Peter Vacho 3903546f4c
Add events endpoints 2024-12-27 18:19:23 +01:00
Peter Vacho d106423fca
Return 204 on empty success responses (not 200) 2024-12-27 18:06:51 +01:00
Peter Vacho 5ff4da15d8
Extract the document updating logic into a util 2024-12-27 18:06:47 +01:00
Peter Vacho 66339fa43b
Add utilities for working with id lists 2024-12-25 22:27:11 +01:00
Peter Vacho 9002804b8d
Add specific exceptions for missing id & unfetched links 2024-12-25 22:26:32 +01:00
Peter Vacho cb5d6a63ee
Fix using in operator with find method 2024-12-25 21:24:38 +01:00
Peter Vacho e66029ed36
Remove todo for improved color storing 2024-12-25 20:48:13 +01:00
Peter Vacho 8e82d7b661
Annotate list link attrs with Sequence type
This is beneficial as lists are invariant and we're using a union type
here with User | Link[User], which means we can't assign a list[User] to
the attr, which is very annoying.
2024-12-25 20:46:48 +01:00
Peter Vacho 8737897ce9
Add color validation for categories 2024-12-25 20:24:11 +01:00
Peter Vacho e0b77d7ff2
Add a create_user method for register data 2024-12-25 20:22:00 +01:00
Peter Vacho 3c2bc1c10e
Type-hint Link db attributes more appropriately 2024-12-25 19:33:13 +01:00
Peter Vacho 3689f7d076
Remove trailing / from users endpoints 2024-12-23 18:29:48 +01:00
Peter Vacho fd3e355bfc
Return both refresh & access token expiry 2024-12-23 18:29:10 +01:00
Peter Vacho aee0bdd8cf
Add endpoints to manage categories 2024-11-29 17:24:19 +01:00
Peter Vacho e93bf5524b
Allow event to hold multiple categories 2024-11-29 17:21:21 +01:00
Peter Vacho 7bfe4268e7
Add user management endpoints 2024-11-28 14:35:23 +01:00
Peter Vacho b226432d77
Sessions management 2024-11-28 01:06:02 +01:00
Peter Vacho 8e0837f7f4
Fix refresh token expiration 2024-11-28 00:50:07 +01:00
Peter Vacho 6f80ea686e
Store datetimes as strings 2024-11-28 00:49:32 +01:00
Peter Vacho 6f03d37ee9
Add early auth support 2024-11-28 00:25:03 +01:00
Peter Vacho 65b68c04a4
Add beanie ODM 2024-11-27 23:16:28 +01:00
Peter Vacho ed540eeca3
Add mongodb connection support 2024-11-27 16:39:23 +01:00
Peter Vacho b6b7c466db
Use dark-themed swagger docs 2024-11-27 16:12:38 +01:00
Peter Vacho 7d72730101
Add logging 2024-11-27 16:11:08 +01:00
Peter Vacho 9affe75810
Add config handler 2024-11-27 16:08:00 +01:00
Peter Vacho 04b2ee57bd
Basic API 2024-11-27 16:04:46 +01:00
Peter Vacho 7bd840d8e3
Add pre-commit, linter, formatter & type-checker 2024-11-27 15:59:38 +01:00
Peter Vacho 0d5e56d0f4
Initial Commit 2024-11-27 15:52:17 +01:00