Commit e8118c7d86046d0d2ba73af89fa06b62bfe7fb35

Authored by Luan
1 parent 5909125a

Adding api models and urls

Showing 2 changed files with 61 additions and 0 deletions   Show diff stats
src/api/models.py 0 → 100644
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
  1 +# -*- coding: utf-8 -*-
  2 +
  3 +from tastypie import fields
  4 +from tastypie.resources import ModelResource
  5 +
  6 +from accounts.models import User
  7 +from super_archives.models import Message
  8 +from proxy.models import Revision, Ticket, Wiki
  9 +
  10 +
  11 +class UserResource(ModelResource):
  12 + class Meta:
  13 + queryset = User.objects.filter(is_active=True)
  14 + resource_name = 'user'
  15 + excludes = ['email', 'password', 'is_active', 'is_staff',
  16 + 'is_superuser', 'verification_hash']
  17 + allowed_methods = ['get', ]
  18 +
  19 +
  20 +class MessageResource(ModelResource):
  21 + class Meta:
  22 + queryset = Message.objects.all()
  23 + resource_name = 'message'
  24 + excludes = ['spam', 'subject_clean', 'message_id']
  25 +
  26 +
  27 +class RevisionResource(ModelResource):
  28 + class Meta:
  29 + queryset = Revision.objects.all()
  30 + resource_name = 'revision'
  31 + excludes = ['collaborators', ]
  32 +
  33 +
  34 +class TicketResource(ModelResource):
  35 + class Meta:
  36 + queryset = Ticket.objects.all()
  37 + resource_name = 'ticket'
  38 + excludes = ['collaborators', ]
  39 +
  40 +
  41 +class WikiResource(ModelResource):
  42 + class Meta:
  43 + queryset = Wiki.objects.all()
  44 + resource_name = 'wiki'
  45 + excludes = ['collaborators', ]
src/api/urls.py
  1 +# -*- coding: utf-8 -*-
1 2
2 from django.conf.urls import patterns, include, url 3 from django.conf.urls import patterns, include, url
3 4
  5 +from tastypie.api import Api
  6 +
  7 +from .models import (UserResource, MessageResource, RevisionResource,
  8 + TicketResource, WikiResource)
4 from .views import VoteView 9 from .views import VoteView
5 10
6 11
  12 +api = Api(api_name='v1')
  13 +api.register(UserResource())
  14 +api.register(MessageResource())
  15 +api.register(RevisionResource())
  16 +api.register(TicketResource())
  17 +api.register(WikiResource())
  18 +
  19 +
7 urlpatterns = patterns('', 20 urlpatterns = patterns('',
8 url(r'message/(?P<msg_id>\d+)/vote$', VoteView.as_view()), 21 url(r'message/(?P<msg_id>\d+)/vote$', VoteView.as_view()),
  22 +
  23 + # tastypie urls
  24 + url(r'', include(api.urls)),
9 ) 25 )