Ensure required fields are always set on the models
Author: @goosemania (ttereshc)
Redmine Issue: 5744, https://pulp.plan.io/issues/5744
Currently there is no enforcement at the db level to require certain fields for the majority of content models.
Package needs NEVRA, pkgId, checksum_type at minimum.
UpdateRecord - id, issued_date, updated_date, digest
UpdateCollectionPackage - NEVRA
Modulemd - NSVCA
Module-defaults - module, digest
PackageGroup/Environment/Category - id, digest
PackageLangpacks - matches, digest
RepoMetadataFile - data_type, checksum
DistributionTree - header_version, release_name, release_version, arch, build_timestamp
Checksum - path, checksum
Image - name, path
Addon - addon_id, uid, name, type, packages
Variant - variant_id, uid, name, type, packages
From: @goosemania (ttereshc) Date: 2019-12-11T18:57:42Z
Unsetting RPM blocker tag.
After some discussion with @daviddavis. The majority of content goes through createrepo_c and is validated by it to some extent.
Idea of having the validation at DB level might not be good and also is somewhat against DRF concepts. Multiple serializers for different purposes might be a solution.
Here is the relevant thread https://www.redhat.com/archives/pulp-dev/2019-December/msg00026.html