On 26 May 20:12, 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]>
Turns out there was more than one request :/ Let's see if they all make sense. Stephen > class UserSerializer(HyperlinkedModelSerializer): > @@ -74,9 +77,43 @@ class PatchSerializer(HyperlinkedModelSerializer): > > def to_representation(self, instance): > data = super(PatchSerializer, self).to_representation(instance) > + data['checks'] = data['url'] + 'checks/' Thinking this should be 'checks_url', to help distinguish URLs across the board. > +class ChecksSerializer(ModelSerializer): > + class Meta: > + model = Check > + user = HyperlinkedRelatedField( > + 'user-detail', read_only=True, default=CurrentUserDefault()) s/user/user_url/ > + patch = HiddenField(default=CurrentPatchDefault()) > + > + def run_validation(self, data): > + for val, label in Check.STATE_CHOICES: > + if label == data['state']: > + data['state'] = val > + break > + return super(ChecksSerializer, self).run_validation(data) Here's one I missed earlier: I don't think we should set 'date' manually. Instead, it should be a read-only field that's automatically set when we create a new status, using the latest time. I don't know if the XML-RPC API works like this, but it should. _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
