88 Commits
Author SHA1 Message Date
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
Donkie 006512a1b3 Fixed backup openapi description field 2023-07-06 23:49:14 +02:00