Commit Graph

189 Commits

Author SHA1 Message Date
Donkie
a9f19774e4 Added an explicit data folder permissions check on startup
It will try resolve the permission issue on its own, but if not successful it will crash with a helpful message.
2023-11-06 22:17:36 +01:00
Donkie
9eb3aef08d Removed unused default registered func 2023-10-21 11:49:00 +02:00
Donkie
5f7a063125 Added resource field in websocket message
Used to differentiate resources for root-level subscriptions
2023-10-15 20:39:53 +02:00
Donkie
3e2bbed17e Added more websocket endpoints
Can now subscribe to:
- spool/filament/vendor level events, not specific to any specific ID
- root level events, captures all events sent
2023-10-15 20:36:48 +02:00
Donkie
03be75abca Subscription tree data structure for websockets
It holds the subscriptions in a tree fashion, sending the message down the branches while broadcasting on each node.
2023-10-15 20:16:29 +02:00
Donkie
7a3c2e3a68 Added event response model in api documentation 2023-10-15 19:46:28 +02:00
Donkie
a6d527aaf0 Added/deleted-type websocket messages
Events are now sent for not only when an object changes but also when one is created or deleted.

For now it's not really possible to subscribe to these events however.

This breaks backwards-compatibility with the websocket messages.
2023-10-15 19:46:10 +02:00
Donkie
3c5b3cea5a Added websocket endpoints for filament and vendors 2023-10-15 15:39:39 +02:00
Donkie
9595aec675 Fixed registered field having wrong timezone
This happened with at least Postgres, which took it's server's timezone. It's complicated. Let's just set it from our side instead where we have some control.
2023-10-02 21:36:50 +02:00
Donkie
205574fa2c Fixed timezone being returned incorrectly
Happened if you've set TZ to non-UTC.

Apparently astimezone and replace doesn't do the same thing even if tzinfo is None.
2023-10-02 21:36:50 +02:00
Donkie
82600347da Improved API documentation regarding empty fields 2023-09-20 21:10:38 +02:00
Donkie
597dca7c28 Fixed combining empty and non-empty filter
Previously it would then act as a wildcard filter
2023-09-20 21:02:49 +02:00
Donkie
b795680226 Added missing timezone in responses
Fixes #114
2023-09-20 20:13:02 +02:00
Donkie
cadb707fdd Added WebSocket notify API for spools 2023-09-17 22:00:00 +02:00
Donkie
1a3efd9ea9 Added git commit and build date env and API 2023-09-17 10:51:28 +02:00
Donkie
6f94c17050 Renamed vendor.x to filament.vendor.x in spool API 2023-09-16 11:13:30 +02:00
Donkie
6ee3b8df70 Added support for multiple int where's 2023-09-16 11:13:30 +02:00
Donkie
6d68a40313 Added support for multiple string where's 2023-09-16 11:13:30 +02:00
Donkie
841cc8b6df Added sort by remaining weight 2023-09-16 11:13:30 +02:00
Donkie
a4d14c5b52 Added X-Total-Count test asserts
Fixed issue with incorrect total count for vendors
2023-09-16 11:13:30 +02:00
Donkie
e436aa4975 Added tests for spool find sorting 2023-09-16 11:13:30 +02:00
Donkie
f47eacd2a9 Added support for finding empty vendor fields 2023-09-16 11:13:30 +02:00
Donkie
3b8db0b5f7 Expose X-Total-Count header 2023-09-16 11:13:30 +02:00
Donkie
de16dd7be0 Added database support for finding empty fields 2023-09-16 11:13:30 +02:00
Donkie
826fde6967 API find nested filters now specified using period
Previously you used underscore, like vendor_name. This made fields like filament_article_number have ambiguous underscores.
2023-09-16 11:13:30 +02:00
Donkie
4b33ba0b1c Renamed locations endpoint to location 2023-09-16 11:13:30 +02:00
Donkie
e2d937aaf1 Added x-total-count response header 2023-09-16 11:13:30 +02:00
Donkie
557ea82171 Added endpoints for getting list of materials, etc 2023-09-16 11:13:30 +02:00
Donkie
9d51ee49ed Serverside sort and limit for vendor and filaments 2023-09-16 11:13:30 +02:00
Donkie
b9f1b71c1f Serverside spool find limit and offset 2023-09-16 11:13:30 +02:00
Donkie
4fdea75e3f Serverside spool sorting 2023-09-16 11:13:30 +02:00
Donkie
9e46de9007 Moved SPA definition to a new file 2023-09-04 20:22:31 +02:00
Donkie
871e5282e5 Updated python packages 2023-08-28 21:10:07 +02:00
Donkie
6e7d9a2e03 Replaced db.flush with db.commit
To try fix some odd cases of greenlet whining
2023-08-28 20:31:25 +02:00
Donkie
4cb2542a41 Added support for color_hex alpha channel 2023-08-12 21:32:20 +02:00
Donkie
d14fce013c Fixed spools with unset archive state being hidden 2023-07-14 19:04:54 +02:00
Donkie
f89cf8ecd4 Added archived field to spools
Resolves #13
2023-07-14 14:19:57 +02:00
Donkie
e5d1d7f944 Enabled gzip compression 2023-07-13 23:02:35 +02:00
Donkie
247df66736 Added a /info endpoint
Contains useful info like version, and configurations
2023-07-10 11:46:19 +02:00
Donkie
b9ee4626d3 Moved version to the FastAPI app instead 2023-07-10 11:45:46 +02:00
Donkie
85aae6119d Fixed one more case of bad type union 2023-07-10 11:26:30 +02:00
Donkie
5654b5d7bc Added used_length and remaining_length API fields
They're calculated from the weights

Resolves #37
2023-07-10 11:19:46 +02:00
Donkie
f995662f05 Conversion math library update
* Now inputs diameter instead of radius to prevent confusion
* Added length_from_weight
2023-07-10 11:02:22 +02:00
Donkie
3dc029968b Added a version bumping script 2023-07-10 01:52:05 +02:00
Donkie
a6ac5982cc Switched to PDM for package management 2023-07-10 01:13:40 +02:00
Donkie
9d09655bf7 Now printing pyproject.toml version on startup 2023-07-08 23:34:16 +02:00
Donkie
936b11de24 Backend now fully supports negative consumption
Updated integration tests to verify this.
2023-07-08 20:07:32 +02:00
Donkie
d3a4dcfcf8 Added logging for when scheduled backup runs 2023-07-07 17:37:17 +02:00
Donkie
66b6770ddd Backup API now instead returns 500 on failure
Removed the "success" flag
2023-07-07 17:33:19 +02:00
Donkie
4548b8ef77 Don't apply 404 model to all endpoints 2023-07-06 23:55:41 +02:00