Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/packages/pypi/metadatum.rb')
-rw-r--r--app/models/packages/pypi/metadatum.rb16
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