Skip to content

Commit bd934d0

Browse files
committed
Added a personal API key for meetecho access.
- Legacy-Id: 17630
1 parent bba2149 commit bd934d0

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

ietf/api/urls.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,12 @@
2020
url(r'^meeting/session/video/url$', meeting_views.api_set_session_video_url),
2121
url(r'^submit/?$', submit_views.api_submit),
2222
url(r'^iesg/position', views_ballot.api_set_position),
23+
# GPRD: export of all personal information
2324
url(r'^export/personal-information/$', api_views.PersonalInformationExportView.as_view()),
25+
# For mailarchive
2426
url(r'^v2/person/person', api_views.ApiV2PersonExportView.as_view()),
27+
# For meetecho access
28+
url(r'^v2/person/access/meetecho', api_views.PersonAccessMeetechoView.as_view()),
2529
]
2630

2731
# Additional (standard) Tastypie endpoints

ietf/api/views.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# -*- coding: utf-8 -*-
33

44

5+
import json
6+
57
from jwcrypto.jwk import JWK
68

79
from django.conf import settings
@@ -92,3 +94,14 @@ def post(self, request):
9294
return self.err(400, "No filters provided")
9395

9496
return self.json_view(request, filter=querydict.dict(), expand=expand)
97+
98+
@method_decorator((csrf_exempt, require_api_key), name='dispatch')
99+
class PersonAccessMeetechoView(DetailView, JsonExportMixin):
100+
model = Person
101+
102+
def err(self, code, text):
103+
return HttpResponse(text, status=code, content_type='text/plain')
104+
105+
def get(self, request):
106+
person = get_object_or_404(self.model, user=request.user)
107+
return HttpResponse(json.dumps({ 'name' : person.name, 'email': person.email().address, }), content_type='application/json')

0 commit comments

Comments
 (0)