End-to-end API & client support
This release extends considerably the support of the API by the client, and introduces media upload and download efficiently from cloud storage.
Note: pyroapi 0.1.1 mainly requires fastapi, uvicorn and sqlalchemy, while the client only requires requests.
Highlights
Routers
Core API server implementation
New
- Alerts: added alert acknowledgement route (#82)
- Devices: added a route to register the user's own device (#80)
Improvements
- Alerts: added media existence check (#77), and updated scopes (#99)
- Events: updates scopes of existing routes (#59, #99)
- Installations: changed method type of device listing route (#72), and updated scopes (#99)
- Media: added proper exceptions when upload fails (#96), updated media naming (#98, #100), updated scopes (#99), added integrity check of content transfer (#102)
- Sites: updated scopes of existing routes (#58), updated scopes (#99)
Fixes
- Events: fixed scope checks in creation and update routes (#85)
- Installations: fixed active devices listing route (#69, #81)
- Devices: added access deletion (#76), checked login consistency with access table (#83)
- Media: fixed upload route (#95)
- Users: added access deletion (#76), checked login consistency with access table (#83)
Database
SQL server running to get persistence over API data
New
- Added field for acknowledgement state of alerts (#82)
Improvements
- Made access login unique (#76)
Tests
Unittests for the core API
New
- Added end-to-end script CI job (#89)
Improvements
Services
Third-party services enabled in the API
New
- Added Qarnot storage integration (#87)
Documentation
The documentation of the API server
Improvements
- Added route summary and descriptions (#78)
Client
The python client package for easier usage of the API
New
- Added integration of event creation, alert & media creation from device, media upload (#77), alert acknowledgement (#93)
- Added unittests for client methods (#74)
Improvements
- Added typing to all methods (#74)
Fixes
- Fixed route mapping of devices (#86)