diff options
Diffstat (limited to 'app/models/packages/npm/metadatum.rb')
-rw-r--r-- | app/models/packages/npm/metadatum.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/models/packages/npm/metadatum.rb b/app/models/packages/npm/metadatum.rb index 7388c4bdbd2..ccbf056ec7b 100644 --- a/app/models/packages/npm/metadatum.rb +++ b/app/models/packages/npm/metadatum.rb @@ -1,6 +1,10 @@ # frozen_string_literal: true class Packages::Npm::Metadatum < ApplicationRecord + MAX_PACKAGE_JSON_SIZE = 20_000 + MIN_PACKAGE_JSON_FIELD_SIZE_FOR_ERROR_TRACKING = 5_000 + NUM_FIELDS_FOR_ERROR_TRACKING = 5 + belongs_to :package, -> { where(package_type: :npm) }, inverse_of: :npm_metadatum validates :package, presence: true @@ -9,6 +13,8 @@ class Packages::Npm::Metadatum < ApplicationRecord validate :ensure_npm_package_type validate :ensure_package_json_size + scope :package_id_in, ->(package_ids) { where(package_id: package_ids) } + private def ensure_npm_package_type @@ -18,7 +24,7 @@ class Packages::Npm::Metadatum < ApplicationRecord end def ensure_package_json_size - return if package_json.to_s.size < 20000 + return if package_json.to_s.size < MAX_PACKAGE_JSON_SIZE errors.add(:package_json, _('structure is too large')) end |