> On 19 May 10:26, Finucane, Stephen wrote: > > On 18 May 22:30, Andy Doan wrote: > > > This exports patch checks via the REST API. > > > > > > The drf-nested-routers package is used to handle the fact Checks are > > > nested under a Patch. > > > > > > Security Constraints: > > > * Anyone (logged in or not) can read all objects. > > > * No one can update/delete objects. > > > * Project maintainers and patch owners may create objects. > > > > > > Signed-off-by: Andy Doan <[email protected]> > > > > Generally OK with this, but some questions before sign off. > > Actually, one more thing. > > Stephen > > > > --- > > > patchwork/rest_serializers.py | 32 +++++++++++++++-- > > > patchwork/tests/test_rest_api.py | 77 > +++++++++++++++++++++++++++++++++++++++- > > > patchwork/urls.py | 6 ++-- > > > patchwork/views/rest_api.py | 39 ++++++++++++++++++-- > > > requirements-test.txt | 1 + > > > 5 files changed, 147 insertions(+), 8 deletions(-) > > > > > > diff --git a/patchwork/rest_serializers.py > b/patchwork/rest_serializers.py > > > index 9558d45..5f16954 100644 > > > --- a/patchwork/rest_serializers.py > > > +++ b/patchwork/rest_serializers.py > > > @@ -21,10 +21,11 @@ import email.parser > > > > > > from django.core.urlresolvers import reverse > > > > > > -from patchwork.models import Patch, Person, Project > > > +from patchwork.models import Check, Patch, Person, Project > > > > > > from rest_framework.serializers import ( > > > - ListSerializer, ModelSerializer) > > > + CurrentUserDefault, HiddenField, ListSerializer, ModelSerializer, > > > + PrimaryKeyRelatedField) > > > > > > > > > class PersonSerializer(ModelSerializer): > > > @@ -71,3 +72,30 @@ class PatchSerializer(ModelSerializer): > > > if headers: > > > data['headers'] = email.parser.Parser().parsestr(headers, > True) > > > return data > > > + > > > + > > > +class CurrentPatchDefault(object): > > > + def set_context(self, serializer_field): > > > + self.patch = serializer_field.context['request'].patch > > > + > > > + def __call__(self): > > > + return self.patch > > > + > > > + > > > +class ChecksSerializer(ModelSerializer): > > > + class Meta: > > > + model = Check > > > + user = PrimaryKeyRelatedField(read_only=True, > default=CurrentUserDefault()) > > I'm not sure if we need to include this (it's part of the parent > 'patch' object), but if we do it should probably read 'username' and be > a URL rather than an integer. HyperlinkedModelSerializer would help > here again.
Correction: be a string (the username). Stephen _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
