| @@ -15,3 +15,7 @@ urlpatterns += [ | ||
| 15 | 15 | url(r'^uuid$', photo_views.uuid, name='uuid'), | 
| 16 | 16 | url(r'^photos/upload$', photo_views.upload_photo, name='upload_photo'), | 
| 17 | 17 | ] | 
| 18 | + | |
| 19 | +urlpatterns += [ | |
| 20 | + url(r'^s/(?P<session>\w+)$', photo_views.session_detail_api, name='session_detail_api'), | |
| 21 | +] | 
| @@ -71,4 +71,14 @@ class PhotosInfo(CreateUpdateMixin): | ||
| 71 | 71 | 'photo': self.photo_id, | 
| 72 | 72 | } | 
| 73 | 73 |  | 
| 74 | + def _detail(self): | |
| 75 | +        return { | |
| 76 | + 'pk': self.pk, | |
| 77 | + 'user': self.lensman_id, | |
| 78 | + 'session': self.session_id, | |
| 79 | + 'photo': self.photo_id, | |
| 80 | + 'photo_url': self.p_photo_url, | |
| 81 | + } | |
| 82 | + | |
| 74 | 83 | data = property(_data) | 
| 84 | + detail = property(_detail) | 
| @@ -113,6 +113,17 @@ def upload_photo(request): | ||
| 113 | 113 | }) | 
| 114 | 114 |  | 
| 115 | 115 |  | 
| 116 | +def session_detail_api(request, session): | |
| 117 | + photos = PhotosInfo.objects.filter(session_id=session) | |
| 118 | +    return JsonResponse({ | |
| 119 | + 'status': 200, | |
| 120 | +        'data': { | |
| 121 | + 'count': photos.count(), | |
| 122 | + 'photos': [p.detail for p in photos] | |
| 123 | + } | |
| 124 | + }) | |
| 125 | + | |
| 126 | + | |
| 116 | 127 | def session_detail(request, session): | 
| 117 | 128 | photos = PhotosInfo.objects.filter(session_id=session) | 
| 118 | 129 |      return render(request, 'photo/session_detail.html', {'photos': photos}) |