Project

Profile

Help

Task #2916

Task #2868: Platform support for publishing.

Add Distribution serializer and viewset.

Added by jortel@redhat.com almost 3 years ago. Updated 5 months ago.

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

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 25

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 Actions

Associated revisions

Revision f32fe304 View on GitHub
Added by amacdona@redhat.com over 2 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 almost 3 years ago

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

#2 Updated by mhrivnak almost 3 years ago

  • Priority changed from Normal to High

#3 Updated by mhrivnak almost 3 years ago

  • Sprint/Milestone set to 42

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

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

#5 Updated by bmbouter almost 3 years ago

  • Tags deleted (Pulp 3 Modeling)

#6 Updated by mhrivnak almost 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 almost 3 years ago

  • Sprint/Milestone changed from 42 to 43

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

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

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

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

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

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

#11 Updated by jortel@redhat.com over 2 years ago

  • Sprint/Milestone changed from 43 to 44

#12 Updated by amacdona@redhat.com over 2 years ago

  • Status changed from ASSIGNED to MODIFIED

#13 Updated by bmbouter over 2 years ago

  • Tags deleted (Pulp 3 Plugin Writer Alpha)

Cleaning up Redmine tags

#14 Updated by bmbouter about 2 years ago

  • Sprint set to Sprint 25

#15 Updated by bmbouter about 2 years ago

  • Sprint/Milestone deleted (44)

#16 Updated by daviddavis about 1 year ago

  • Sprint/Milestone set to 3.0.0

#17 Updated by bmbouter about 1 year ago

  • Tags deleted (Pulp 3)

#18 Updated by bmbouter 5 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF