Class: Types::Packages::PackageBaseType

Inherits:
BaseObject
  • Object
show all
Defined in:
app/graphql/types/packages/package_base_type.rb

Direct Known Subclasses

PackageType

Instance Method Summary collapse

Methods inherited from BaseObject

accepts, assignable?, authorization, authorize, authorized?, #current_user, #id

Methods included from Gitlab::Graphql::Present

#present, #unpresented

Instance Method Details

#can_destroyObject



34
35
36
# File 'app/graphql/types/packages/package_base_type.rb', line 34

def can_destroy
  Ability.allowed?(current_user, :destroy_package, object)
end

#metadataObject

NOTE: This method must be kept in sync with the union type: ‘Types::Packages::MetadataType`.

‘Types::Packages::MetadataType.resolve_type(metadata, ctx)` must never raise. rubocop: disable GraphQL/ResolverMethodLength



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'app/graphql/types/packages/package_base_type.rb', line 43

def 
  case object.package_type
  when 'composer'
    object.composer_metadatum
  when 'conan'
    object.conan_metadatum
  when 'maven'
    object.maven_metadatum
  when 'nuget'
    object.nuget_metadatum
  when 'pypi'
    object.pypi_metadatum
  end
end

#projectObject



30
31
32
# File 'app/graphql/types/packages/package_base_type.rb', line 30

def project
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Project, object.project_id).find
end