Class: Packages::Npm::GenerateMetadataService

Inherits:
Object
  • Object
show all
Includes:
API::Helpers::RelatedResourcesHelpers, Gitlab::Utils::StrongMemoize
Defined in:
app/services/packages/npm/generate_metadata_service.rb

Constant Summary collapse

PACKAGE_JSON_ALLOWED_FIELDS =

Allowed fields are those defined in the abbreviated form defined here: github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object except: name, version, dist, dependencies and xDependencies. Those are generated by this service.

%w[deprecated bin directories dist engines _hasShrinkwrap].freeze

Instance Method Summary collapse

Methods included from API::Helpers::RelatedResourcesHelpers

#expose_path, #expose_url, #issues_available?, #mrs_available?, #project_feature_string_access_level

Constructor Details

#initialize(name, packages) ⇒ GenerateMetadataService

Returns a new instance of GenerateMetadataService.



14
15
16
17
18
19
# File 'app/services/packages/npm/generate_metadata_service.rb', line 14

def initialize(name, packages)
  @name = name
  @packages = packages
  @dependencies = {}
  @dependency_ids = Hash.new { |h, key| h[key] = {} }
end

Instance Method Details

#execute(only_dist_tags: false) ⇒ Object



21
22
23
# File 'app/services/packages/npm/generate_metadata_service.rb', line 21

def execute(only_dist_tags: false)
  ServiceResponse.success(payload: (only_dist_tags))
end