Introduce a new (v2) api
mik3y opened this issue · 3 comments
mik3y commented
The existing api sucks to maintain/extend. Replace it.
Replacement should not require protobufs, and should use django-rest-framework, for better django/python developer familiarity.
Basic requirements
- crud actions for all major object types (taps, kegs, etc)
- record a drink/pour
- upload/attach a photo
- cors support, as necessary for an external frontend to work with it
- don't conflict with legacy api paths (scope as
/api/v2/...
), at least for now
Auth requirements
- respect site privacy settings (limit access when invite-only or private)
- respect
.is_staff
user attribute (limit certain operations to staff, like modifying a tap) - support legacy api keys
mik3y commented
An initial implementation has been released in v1.3.0. It is default disabled & must be enabled with the KEGBOT_ENABLE_V2_API
setting, which activates the various /api/v2
endpoints.
I'll keep this issue open while development continues, and close it once it the api is stable/default enabled.
github-actions commented
This issue is stale because it has been open for 30 days with no activity.
github-actions commented
This issue was automatically closed because it has been marked as inactive.