Project

Profile

Help

Task #2916

Task #2868: Platform support for publishing.

Add Distribution serializer and viewset.

Added by jortel@redhat.com about 3 years ago. Updated 9 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Sprint:
Sprint 25
Quarter:

Description

Add Distribution serializer and viewset.

The distribution URL: repositories/<id>/publishers/<id>/distributions/

Additional work may be need to support URL nesting more than 1 level deep.


Checklist


Related issues

Blocked by Pulp - Task #2893: Add Publication and Distribution models.CLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision f32fe304 View on GitHub
Added by amacdona@redhat.com about 3 years ago

Add Distribution ViewSet and Serializer

Additional work was done to allow arbitrarily deeply nested ViewSets.

The router registration code in urls.py was significantly changed. A ViewSetNode tree is assembled that mirrors the nesting hierarchy of the url structure, and is able to create child routers as necessary and use them to register child ViewSets.

A parent_viewset attribute is added to ViewSets, which indicates how they are nested and assists in the retrieval of parents.

A new type of field, WritableNestedUrlRelatedField was added to allow parent fields to be writable when the parent is determined by the nested url rather than by request parameters (and designated read_only). Serializers with writable url fields inherit from NestedModelSerializer.

History

#1 Updated by bizhang about 3 years ago

  • Groomed changed from No to Yes
  • Sprint Candidate changed from No to Yes

#2 Updated by mhrivnak about 3 years ago

  • Priority changed from Normal to High

#3 Updated by mhrivnak about 3 years ago

  • Sprint/Milestone set to 42

#4 Updated by jortel@redhat.com about 3 years ago

  • Blocked by Task #2893: Add Publication and Distribution models. added

#5 Updated by bmbouter about 3 years ago

  • Tags deleted (Pulp 3 Modeling)

#6 Updated by mhrivnak about 3 years ago

Having thought more about it, I think the URL nesting might just work. Looking here:

https://github.com/pulp/pulp/blob/f61019e79a/platform/pulpcore/app/urls.py#L24-L26

you would need to create the nested routers in whatever order makes sense and give the correct reference to its parent router.

#7 Updated by mhrivnak about 3 years ago

  • Sprint/Milestone changed from 42 to 43

#8 Updated by jortel@redhat.com about 3 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to jortel@redhat.com

#9 Updated by jortel@redhat.com about 3 years ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (jortel@redhat.com)

#10 Updated by amacdona@redhat.com about 3 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to amacdona@redhat.com

#11 Updated by jortel@redhat.com about 3 years ago

  • Sprint/Milestone changed from 43 to 44

#12 Updated by amacdona@redhat.com about 3 years ago

  • Status changed from ASSIGNED to MODIFIED

#13 Updated by bmbouter almost 3 years ago

  • Tags deleted (Pulp 3 Plugin Writer Alpha)

Cleaning up Redmine tags

#14 Updated by bmbouter over 2 years ago

  • Sprint set to Sprint 25

#15 Updated by bmbouter over 2 years ago

  • Sprint/Milestone deleted (44)

#16 Updated by daviddavis over 1 year ago

  • Sprint/Milestone set to 3.0.0

#17 Updated by bmbouter over 1 year ago

  • Tags deleted (Pulp 3)

#18 Updated by bmbouter 9 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF