summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-06-22 14:47:53 -0400
committerMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-06-22 14:47:53 -0400
commit18cabeee235dc99aeee9a5bd15c4ac9936cc274e (patch)
treeb2a18137221fcf951ee1690f27553fda7e37f953 /backend
parent8d8f93215c8bbdeb984062b1221eb4fe330cbe9c (diff)
Core: Add urls for backend API
Backend: Add the skeleton implementation of API
Diffstat (limited to 'backend')
-rw-r--r--backend/urls.py35
-rw-r--r--backend/views.py159
2 files changed, 194 insertions, 0 deletions
diff --git a/backend/urls.py b/backend/urls.py
new file mode 100644
index 0000000..e565f43
--- /dev/null
+++ b/backend/urls.py
@@ -0,0 +1,35 @@
+from django.conf.urls import patterns, include, url
+
+
+urlpatterns = patterns('',
+ # AUTH API
+ url(r'^/api/auth/login/$', 'scanneerjammer.backend.views.api_auth_login'),
+ url(r'^/api/auth/logout/$', 'scanneerjammer.backend.views.api_auth_logout'),
+ url(r'^/api/auth/sneakin/$', 'scanneerjammer.backend.views.api_auth_sneakin'),
+ url(r'^/api/auth/register/$', 'scanneerjammer.backend.views.api_auth_register'),
+ url(r'^/api/auth/available/$', 'scanneerjammer.backend.views.api_auth_available'),
+ url(r'^/api/auth/checkin/$', 'scanneerjammer.backend.views.api_auth_checkin'),
+ url(r'^/api/auth/password/$', 'scanneerjammer.backend.views.api_auth_password'),
+ # USER API
+ url(r'^/api/user/videos/$', 'scanneerjammer.backend.views.api_user_videos'),
+ url(r'^/api/user/likes/$', 'scanneerjammer.backend.views.api_user_likes'),
+ url(r'^/api/user/top/$', 'scanneerjammer.backend.views.api_user_top'),
+ url(r'^/api/user/settings/$', 'scanneerjammer.backend.views.api_user_settings'),
+ # ROOM API
+ url(r'^/api/room/watch/$', 'scanneerjammer.backend.views.api_room_watch'),
+ url(r'^/api/room/list/$', 'scanneerjammer.backend.views.api_room_list'),
+ url(r'^/api/room/view/$', 'scanneerjammer.backend.views.api_room_view'),
+ url(r'^/api/room/join/$', 'scanneerjammer.backend.views.api_room_join'),
+ url(r'^/api/room/read/$', 'scanneerjammer.backend.views.api_room_read'),
+ url(r'^/api/room/poll/$', 'scanneerjammer.backend.views.api_room_poll'),
+ url(r'^/api/room/settings/$', 'scanneerjammer.backend.views.api_room_settings'),
+ url(r'^/api/room/say/$', 'scanneerjammer.backend.views.api_room_say'),
+ url(r'^/api/room/video/$', 'scanneerjammer.backend.views.api_room_video'),
+ # VIDEO API
+ url(r'^/api/video/date/$', 'scanneerjammer.backend.views.api_video_date'),
+ url(r'^/api/video/view/$', 'scanneerjammer.backend.views.api_video_view'),
+ url(r'^/api/video/like/$', 'scanneerjammer.backend.views.api_video_like'),
+ url(r'^/api/video/unlike/$', 'scanneerjammer.backend.views.api_video_unlike'),
+ url(r'^/api/video/remove/$', 'scanneerjammer.backend.views.api_video_remove'),
+ url(r'^/api/video/search/$', 'scanneerjammer.backend.views.api_video_search'),
+)
diff --git a/backend/views.py b/backend/views.py
index 60f00ef..2c24a9b 100644
--- a/backend/views.py
+++ b/backend/views.py
@@ -1 +1,160 @@
# Create your views here.
+
+from django.contrib import auth
+from django.views.decorators.http import require_POST
+from django.http import HttpResponse
+
+API_HEADER = "#@scanjam 0.2\n"
+
+def add_cors_headers(response):
+ """ Setup additional headers for response """
+ response['Access-Control-Allow-Origin'] = '*'
+ response['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
+ response['Access-Control-Allow-Headers'] = 'x-requested-with'
+ response['Access-Control-Max-Age'] = '3628800'
+
+#
+# AUTH API
+#
+
+@require_POST
+def api_auth_login(request):
+ """"""
+ form_fields = ['username', 'password']
+
+@require_POST
+def api_auth_logout(request):
+ """"""
+ pass
+
+@require_POST
+def api_auth_sneakin(request):
+ """"""
+ form_fields = ['userid', 'username']
+
+@require_POST
+def api_auth_register(request):
+ """"""
+ form_fields = ['username', 'password']
+
+@require_POST
+def api_auth_available(request):
+ """"""
+ form_fields = ['username']
+
+@require_POST
+def api_auth_checkin(request):
+ """"""
+ pass
+
+@require_POST
+def api_auth_password(request):
+ """"""
+ form_fields = ['username', 'password']
+
+#
+# USER API
+#
+
+@require_POST
+def api_user_videos(request):
+ """"""
+ form_fields = ['user', 'start']
+
+@require_POST
+def api_user_likes(request):
+ """"""
+ form_fields = ['user', 'start']
+
+@require_POST
+def api_user_top(request):
+ """"""
+ form_fields = ['user']
+
+@require_POST
+def api_user_settings(request):
+ """"""
+ form_fields = ['user', 'bio', 'settings']
+
+#
+# ROOM API
+#
+
+@require_POST
+def api_room_watch(request):
+ """"""
+ form_fields = ['room', 'last']
+
+@require_POST
+def api_room_list(request):
+ """"""
+ pass
+
+@require_POST
+def api_room_view(request):
+ """"""
+ form_fields = ['room', 'last']
+
+@require_POST
+def api_room_join(request):
+ """"""
+ form_fields = ['room', 'enqueue']
+
+@require_POST
+def api_room_read(request):
+ """"""
+ form_fields = ['room', 'enqueue']
+
+@require_POST
+def api_room_poll(request):
+ """"""
+ form_fields = ['room', 'last', 'cam']
+
+@require_POST
+def api_room_settings(request):
+ """"""
+ form_fields = ['room', 'settings']
+
+@require_POST
+def api_room_say(request):
+ """"""
+ form_fields = ['room', 'msg']
+
+@require_POST
+def api_room_video(request):
+ """"""
+ form_fields = ['room', 'msg']
+
+#
+# VIDEO API
+#
+
+@require_POST
+def api_video_date(request):
+ """"""
+ form_fields = ['day', 'month', 'year']
+
+@require_POST
+def api_video_view(request):
+ """"""
+ form_fields = ['video']
+
+@require_POST
+def api_video_like(request):
+ """"""
+ form_fields = ['video']
+
+@require_POST
+def api_video_unlike(request):
+ """"""
+ form_fields = ['video']
+
+@require_POST
+def api_video_remove(request):
+ """"""
+ form_fields = ['video', 'room']
+
+@require_POST
+def api_video_search(request):
+ """"""
+ form_fields = ['q', 'start', 'limit']