Project

Profile

Help

Task #2916

Task #2868: Platform support for publishing.

Add Distribution serializer and viewset.

Added by jortel@redhat.com over 2 years ago. Updated 6 months ago.

Status:
MODIFIED
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. MODIFIED Actions

Associated revisions

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

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

#2 Updated by mhrivnak over 2 years ago

  • Priority changed from Normal to High

#3 Updated by mhrivnak over 2 years ago

  • Sprint/Milestone set to 42

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

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

#5 Updated by bmbouter about 2 years ago

  • Tags deleted (Pulp 3 Modeling)

#6 Updated by mhrivnak about 2 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 2 years ago

  • Sprint/Milestone changed from 42 to 43

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

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

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

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

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

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

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

  • Sprint/Milestone changed from 43 to 44

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

  • Status changed from ASSIGNED to MODIFIED

#13 Updated by bmbouter almost 2 years ago

  • Tags deleted (Pulp 3 Plugin Writer Alpha)

Cleaning up Redmine tags

#14 Updated by bmbouter over 1 year ago

  • Sprint set to Sprint 25

#15 Updated by bmbouter over 1 year ago

  • Sprint/Milestone deleted (44)

#16 Updated by daviddavis 6 months ago

  • Sprint/Milestone set to 3.0

#17 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3)

Please register to edit this issue

Also available in: Atom PDF