Skip to content

End-to-end API & client support

Compare
Choose a tag to compare
@frgfm frgfm released this 23 Dec 23:09
0edaf2d

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

  • Added full postgre-SQL DB testing (#68, #70)

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)

Others

  • Separated production and dev requirements (#73)
  • Added sentry integration (#71)
  • Added funding option