diff options
Diffstat (limited to 'app/graphql/types/packages/conan')
3 files changed, 60 insertions, 0 deletions
diff --git a/app/graphql/types/packages/conan/file_metadatum_type.rb b/app/graphql/types/packages/conan/file_metadatum_type.rb new file mode 100644 index 00000000000..97d5abe6ba4 --- /dev/null +++ b/app/graphql/types/packages/conan/file_metadatum_type.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Types + module Packages + module Conan + class FileMetadatumType < BaseObject + graphql_name 'ConanFileMetadata' + description 'Conan file metadata' + + implements Types::Packages::FileMetadataType + + authorize :read_package + + field :id, ::Types::GlobalIDType[::Packages::Conan::FileMetadatum], null: false, description: 'ID of the metadatum.' + field :recipe_revision, GraphQL::STRING_TYPE, null: false, description: 'Revision of the Conan recipe.' + field :package_revision, GraphQL::STRING_TYPE, null: true, description: 'Revision of the package.' + field :conan_package_reference, GraphQL::STRING_TYPE, null: true, description: 'Reference of the Conan package.' + field :conan_file_type, ::Types::Packages::Conan::MetadatumFileTypeEnum, null: false, description: 'Type of the Conan file.' + end + end + end +end diff --git a/app/graphql/types/packages/conan/metadatum_file_type_enum.rb b/app/graphql/types/packages/conan/metadatum_file_type_enum.rb new file mode 100644 index 00000000000..d8ec3a44d4d --- /dev/null +++ b/app/graphql/types/packages/conan/metadatum_file_type_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Types + module Packages + module Conan + class MetadatumFileTypeEnum < BaseEnum + graphql_name 'ConanMetadatumFileTypeEnum' + description 'Conan file types' + + ::Packages::Conan::FileMetadatum.conan_file_types.keys.each do |file| + value file.upcase, value: file, description: "A #{file.humanize(capitalize: false)} type." + end + end + end + end +end diff --git a/app/graphql/types/packages/conan/metadatum_type.rb b/app/graphql/types/packages/conan/metadatum_type.rb new file mode 100644 index 00000000000..00b84235d27 --- /dev/null +++ b/app/graphql/types/packages/conan/metadatum_type.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Types + module Packages + module Conan + class MetadatumType < BaseObject + graphql_name 'ConanMetadata' + description 'Conan metadata' + + authorize :read_package + + field :id, ::Types::GlobalIDType[::Packages::Conan::Metadatum], null: false, description: 'ID of the metadatum.' + field :created_at, Types::TimeType, null: false, description: 'Date of creation.' + field :updated_at, Types::TimeType, null: false, description: 'Date of most recent update.' + field :package_username, GraphQL::STRING_TYPE, null: false, description: 'Username of the Conan package.' + field :package_channel, GraphQL::STRING_TYPE, null: false, description: 'Channel of the Conan package.' + field :recipe, GraphQL::STRING_TYPE, null: false, description: 'Recipe of the Conan package.' + field :recipe_path, GraphQL::STRING_TYPE, null: false, description: 'Recipe path of the Conan package.' + end + end + end +end |