diff options
Diffstat (limited to 'app/models/packages/pypi/metadatum.rb')
-rw-r--r-- | app/models/packages/pypi/metadatum.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/models/packages/pypi/metadatum.rb b/app/models/packages/pypi/metadatum.rb index ff247fedb59..f7360409507 100644 --- a/app/models/packages/pypi/metadatum.rb +++ b/app/models/packages/pypi/metadatum.rb @@ -3,10 +3,24 @@ class Packages::Pypi::Metadatum < ApplicationRecord self.primary_key = :package_id + MAX_REQUIRED_PYTHON_LENGTH = 255 + MAX_KEYWORDS_LENGTH = 255 + MAX_METADATA_VERSION_LENGTH = 16 + MAX_AUTHOR_EMAIL_LENGTH = 2048 + MAX_SUMMARY_LENGTH = 255 + MAX_DESCRIPTION_LENGTH = 4000 + MAX_DESCRIPTION_CONTENT_TYPE = 128 + belongs_to :package, -> { where(package_type: :pypi) }, inverse_of: :pypi_metadatum validates :package, presence: true - validates :required_python, length: { maximum: 255 }, allow_nil: false + validates :required_python, length: { maximum: MAX_REQUIRED_PYTHON_LENGTH }, allow_nil: false + validates :keywords, length: { maximum: MAX_KEYWORDS_LENGTH }, allow_nil: true + validates :metadata_version, length: { maximum: MAX_METADATA_VERSION_LENGTH }, allow_nil: true + validates :author_email, length: { maximum: MAX_AUTHOR_EMAIL_LENGTH }, allow_nil: true + validates :summary, length: { maximum: MAX_SUMMARY_LENGTH }, allow_nil: true + validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH }, allow_nil: true + validates :description_content_type, length: { maximum: MAX_DESCRIPTION_CONTENT_TYPE }, allow_nil: true validate :pypi_package_type |