Peter Vacho
b0bbc7e81a
Add endpoint to get all event categories
2024-12-31 01:26:49 +01:00
Peter Vacho
1a3cca9712
Mention the swagger documentation
2024-12-30 19:02:48 +01:00
Peter Vacho
e47c2a33d7
Rework the project description in readme
2024-12-30 19:01:12 +01:00
Peter Vacho
7191e9ab09
Add a section on setting up MongoDB
2024-12-30 15:35:57 +01:00
Peter Vacho
be77031ddb
Fix wording on docker section intro
2024-12-30 15:33:46 +01:00
Peter Vacho
8bbc3fe4bb
Update readme
2024-12-30 02:57:22 +01:00
Peter Vacho
9d8fa611b1
Add endpoint to quickly get the current user
2024-12-29 23:55:49 +01:00
Peter Vacho
b1d3fa0600
Use datetime for start & end in events
...
Storing date & time individually did originally seem like a better idea,
as it allowed nice indexing of the days which makes for faster lookups,
however, since standalone day & time informations don't carry timezone
data, doing this is problematic.
One option would be to introduce another field for the timezone, but
this just seems to be needlessly to complex, instead, store the start &
end event times as full datetimes. These will still be indexed and
should still result in sufficiently fast lookups.
Additionally, this also adds a compound index for start time & end time,
to improve speeds when searching by both at once.
2024-12-29 23:17:01 +01:00
Peter Vacho
f7a3da7893
Always return color as hex
2024-12-29 22:08:14 +01:00
Peter Vacho
b58aa5f2b1
Add description about query params for invited events
2024-12-29 21:45:50 +01:00
Peter Vacho
e0fb934a7e
Add endpoint to mark notifications as read
2024-12-29 17:43:31 +01:00
Peter Vacho
acd280a243
Include event ids in output
2024-12-29 17:32:59 +01:00
Peter Vacho
b240612ee2
Don't allow specifying attendees on event creation
2024-12-29 17:32:38 +01:00
Peter Vacho
e225151c48
Fix category data missing id & bad owner id
2024-12-29 17:28:59 +01:00
Peter Vacho
187a04e0fc
Add populate_db script for quick debugging
2024-12-29 17:18:28 +01:00
Peter Vacho
fb7f49c04e
Fully explain how to install/run the project
2024-12-29 17:08:26 +01:00
Peter Vacho
d7cac9813b
Add docker
2024-12-29 17:08:13 +01:00
Peter Vacho
8000087896
Make notification data column a string
2024-12-29 15:00:50 +01:00
Peter Vacho
dc18c86057
Fetch links when gettign user notifications
2024-12-29 15:00:25 +01:00
Peter Vacho
6c9afdbdeb
Actually add the user as attendee on accepted invite
2024-12-29 14:59:49 +01:00
Peter Vacho
fcf5a5d64d
Only return pending invitations from incomming
2024-12-29 14:59:29 +01:00
Peter Vacho
b6052eceb9
Fix accept invitation return
2024-12-29 14:59:01 +01:00
Peter Vacho
80d8fd5231
Fix storing the invitation id into the notification
2024-12-29 14:58:36 +01:00
Peter Vacho
63c2bc3b70
Allow getting events you're attending/invited to
2024-12-29 14:57:45 +01:00
Peter Vacho
8665efe415
Send out notifications on invitations
2024-12-29 14:33:50 +01:00
Peter Vacho
6cb50f8cb0
Fix typo in file-name
2024-12-29 14:15:04 +01:00
Peter Vacho
690aa3f336
Add notification endpoints
2024-12-29 14:10:54 +01:00
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