diff --git a/src/api/models.py b/src/api/models.py new file mode 100644 index 0000000..5375996 --- /dev/null +++ b/src/api/models.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +from tastypie import fields +from tastypie.resources import ModelResource + +from accounts.models import User +from super_archives.models import Message +from proxy.models import Revision, Ticket, Wiki + + +class UserResource(ModelResource): + class Meta: + queryset = User.objects.filter(is_active=True) + resource_name = 'user' + excludes = ['email', 'password', 'is_active', 'is_staff', + 'is_superuser', 'verification_hash'] + allowed_methods = ['get', ] + + +class MessageResource(ModelResource): + class Meta: + queryset = Message.objects.all() + resource_name = 'message' + excludes = ['spam', 'subject_clean', 'message_id'] + + +class RevisionResource(ModelResource): + class Meta: + queryset = Revision.objects.all() + resource_name = 'revision' + excludes = ['collaborators', ] + + +class TicketResource(ModelResource): + class Meta: + queryset = Ticket.objects.all() + resource_name = 'ticket' + excludes = ['collaborators', ] + + +class WikiResource(ModelResource): + class Meta: + queryset = Wiki.objects.all() + resource_name = 'wiki' + excludes = ['collaborators', ] diff --git a/src/api/urls.py b/src/api/urls.py index 9a8d2d4..17c0d54 100644 --- a/src/api/urls.py +++ b/src/api/urls.py @@ -1,9 +1,25 @@ +# -*- coding: utf-8 -*- from django.conf.urls import patterns, include, url +from tastypie.api import Api + +from .models import (UserResource, MessageResource, RevisionResource, + TicketResource, WikiResource) from .views import VoteView +api = Api(api_name='v1') +api.register(UserResource()) +api.register(MessageResource()) +api.register(RevisionResource()) +api.register(TicketResource()) +api.register(WikiResource()) + + urlpatterns = patterns('', url(r'message/(?P\d+)/vote$', VoteView.as_view()), + + # tastypie urls + url(r'', include(api.urls)), ) -- libgit2 0.21.2