TL;DR: Should the fields "_relative_path" and "_artifact" on the
SingleArtifactSerializer be renamed to "relative_path" and "artifact"
respectively?

While working on the upload create content serializer story [0], i
noticed, that there are two fields on the
SingleArtifactContentSerializer with unnecessary complicated names
("_artifact" and "_relative_path"). In fact, all descendent
serializers, i know of take some hurdle [1] to rename "_relative_path"
back to "relative_path".
I believe, the leading underscore was added for a convention, that
pulpcore controlled database fields should not take names (like "href"),
that may be needed by plugins to represent a domain specific api.
I think, the naming here is taking this convention one step too far in
that the serializers themselves are merely a convenience layer for the
plugin writer, and those serializer fields do not directly correspond
to database fields on any content model. Moreover the file plugin turns
"relative_path" (without "_") into a real database field, and given the
name is seems safe to use a relative_path_validator on a string field
here.

[0] https://pulp.plan.io/issues/5403?pn=1#note-4
[1]
https://github.com/pulp/pulp_file/blob/b348e970d4ddcd2d7c9dc0b206a3fdd9cfc83cef/pulp_file/app/serializers.py#L36
[2]
https://github.com/pulp/pulp_file/blob/b348e970d4ddcd2d7c9dc0b206a3fdd9cfc83cef/pulp_file/app/serializers.py#L54

Attachment: pgpVXphRXtbwm.pgp
Description: OpenPGP digital signature

_______________________________________________
Pulp-dev mailing list
Pulp-dev@redhat.com
https://www.redhat.com/mailman/listinfo/pulp-dev

Reply via email to