Skip to content

Commit 4c5bc30

Browse files
committed
demark topic version scheme as v1, test http client upgrade
1 parent a2da082 commit 4c5bc30

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

users/mqtt.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def all_scenes_read_token():
3232
return token
3333

3434

35-
def generate_arena_token(
35+
def generate_arena_token_v1(
3636
*,
3737
user,
3838
username,

users/urls.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from drf_yasg import openapi
55
from drf_yasg.views import get_schema_view
66
from rest_framework import permissions
7+
78
from . import views
89

910
schema_view = get_schema_view(
@@ -42,7 +43,9 @@
4243
re_path(
4344
r'^profile/devices/(?P<pk>[^\/]+\/[^\/]+)$', views.device_perm_detail),
4445
# endpoints
45-
path("mqtt_auth", views.arena_token, name="arena_token"),
46+
path("mqtt_auth", views.arena_token_v1, name="arena_token_v1"),
47+
# path("mqtt_auth", views.deprecated_token, name="deprecated_token"),
48+
# path("arena_token", views.arena_token_v1, name="arena_token_v1"),
4649
path("user_state", views.user_state, name="user_state"),
4750
path(
4851
"profile_update_staff", views.profile_update_staff, name="profile_update_staff"

users/views.py

+14-6
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
UpdateSceneForm, UpdateStaffForm)
3131
from .models import Device, Scene
3232
from .mqtt import (ANON_REGEX, PUBLIC_NAMESPACE, all_scenes_read_token,
33-
generate_arena_token)
33+
generate_arena_token_v1)
3434
from .persistence import (delete_scene_objects, get_persist_scenes_all,
3535
get_persist_scenes_ns)
3636
from .serializers import SceneNameSerializer, SceneSerializer
@@ -168,7 +168,7 @@ def scene_perm_detail(request, pk):
168168
form.save()
169169
return redirect("user_profile")
170170
elif "delete" in request.POST:
171-
token = generate_arena_token(
171+
token = generate_arena_token_v1(
172172
user=request.user, username=request.user.username)
173173
# delete account scene data
174174
scene.delete()
@@ -211,7 +211,7 @@ def device_perm_detail(request, pk):
211211
device.delete()
212212
return redirect("user_profile")
213213
elif "token" in request.POST:
214-
token = generate_arena_token(
214+
token = generate_arena_token_v1(
215215
user=request.user,
216216
username=request.user.username,
217217
device=device.name,
@@ -475,7 +475,7 @@ def user_profile(request):
475475
# account delete request
476476
confirm_text = f'delete {request.user.username} account and scenes'
477477
if confirm_text in request.POST:
478-
token = generate_arena_token(
478+
token = generate_arena_token_v1(
479479
user=request.user, username=request.user.username)
480480
u_scenes = Scene.objects.filter(
481481
name__startswith=f'{request.user.username}/')
@@ -720,9 +720,17 @@ def _field_requested(request, field):
720720
return False
721721

722722

723+
@ api_view(["POST"])
724+
def deprecated_token(request):
725+
return JsonResponse(
726+
{"error": "ARENA v2 token required. You may need to update your client's ARENA library."},
727+
status=status.HTTP_426_UPGRADE_REQUIRED
728+
)
729+
730+
723731
@ api_view(["POST"])
724732
# @schema(ArenaTokenSchema()) # TODO: schema not working yet
725-
def arena_token(request):
733+
def arena_token_v1(request):
726734
"""
727735
Endpoint to request an ARENA token with permissions for an anonymous or authenticated user for
728736
MQTT and Jitsi resources given incoming parameters.
@@ -765,7 +773,7 @@ def arena_token(request):
765773
duration = datetime.timedelta(days=1)
766774
else:
767775
duration = datetime.timedelta(hours=6)
768-
token = generate_arena_token(
776+
token = generate_arena_token_v1(
769777
user=user,
770778
username=username,
771779
realm=request.POST.get("realm", "realm"),

0 commit comments

Comments
 (0)