summaryrefslogtreecommitdiff
path: root/lib/api/entities/nuget/package_metadata_catalog_entry.rb
blob: ce328c5a5caf10263df18080eb09b69e814072c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

module API
  module Entities
    module Nuget
      class PackageMetadataCatalogEntry < Grape::Entity
        expose :json_url, as: :@id, documentation: { type: 'string', example: 'https://gitlab.example.com/api/v4/projects/1/packages/nuget/metadata/MyNuGetPkg/1.3.0.17.json' }
        expose :authors, documentation: { type: 'string', example: 'Author' }
        expose :dependency_groups, as: :dependencyGroups, using: ::API::Entities::Nuget::DependencyGroup,
                                   documentation: { is_array: true, type: 'API::Entities::Nuget::DependencyGroup' }
        expose :package_name, as: :id, documentation: { type: 'string', example: 'MyNuGetPkg' }
        expose :package_version, as: :version, documentation: { type: 'string', example: '1.3.0.17' }
        expose :tags, documentation: { type: 'string', example: 'tag#1 tag#2' }
        expose :archive_url, as: :packageContent, documentation: { type: 'string', example: 'https://gitlab.example.com/api/v4/projects/1/packages/nuget/download/MyNuGetPkg/1.3.0.17/helloworld.1.3.0.17.nupkg' }
        expose :summary, documentation: { type: 'string', example: 'Summary' }
        expose :metadatum, using: ::API::Entities::Nuget::Metadatum, merge: true,
                           documentation: { type: 'API::Entities::Nuget::Metadatum' }
      end
    end
  end
end