=begin
#Forgejo API
#This documentation describes the Forgejo API.
The version of the OpenAPI document: 10.0.0-121-28886cd+gitea-1.22.0
Generated by: https://openapi-generator.tech
Generator version: 7.12.0
=end
require 'cgi'
module Forgejo
class PackageApi
attr_accessor :api_client
def initialize(api_client = ApiClient.default)
@api_client = api_client
end
# Delete a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [nil]
def delete_package(owner, type, name, version, opts = {})
delete_package_with_http_info(owner, type, name, version, opts)
nil
end
# Delete a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
def delete_package_with_http_info(owner, type, name, version, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PackageApi.delete_package ...'
end
# verify the required parameter 'owner' is set
if @api_client.config.client_side_validation && owner.nil?
fail ArgumentError, "Missing the required parameter 'owner' when calling PackageApi.delete_package"
end
# verify the required parameter 'type' is set
if @api_client.config.client_side_validation && type.nil?
fail ArgumentError, "Missing the required parameter 'type' when calling PackageApi.delete_package"
end
# verify the required parameter 'name' is set
if @api_client.config.client_side_validation && name.nil?
fail ArgumentError, "Missing the required parameter 'name' when calling PackageApi.delete_package"
end
# verify the required parameter 'version' is set
if @api_client.config.client_side_validation && version.nil?
fail ArgumentError, "Missing the required parameter 'version' when calling PackageApi.delete_package"
end
# resource path
local_var_path = '/packages/{owner}/{type}/{name}/{version}'.sub('{' + 'owner' + '}', CGI.escape(owner.to_s)).sub('{' + 'type' + '}', CGI.escape(type.to_s)).sub('{' + 'name' + '}', CGI.escape(name.to_s)).sub('{' + 'version' + '}', CGI.escape(version.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/html']) unless header_params['Accept']
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type]
# auth_names
auth_names = opts[:debug_auth_names] || ['AuthorizationHeaderToken']
new_options = opts.merge(
:operation => :"PackageApi.delete_package",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PackageApi#delete_package\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Gets a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [Package]
def get_package(owner, type, name, version, opts = {})
data, _status_code, _headers = get_package_with_http_info(owner, type, name, version, opts)
data
end
# Gets a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [Array<(Package, Integer, Hash)>] Package data, response status code and response headers
def get_package_with_http_info(owner, type, name, version, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PackageApi.get_package ...'
end
# verify the required parameter 'owner' is set
if @api_client.config.client_side_validation && owner.nil?
fail ArgumentError, "Missing the required parameter 'owner' when calling PackageApi.get_package"
end
# verify the required parameter 'type' is set
if @api_client.config.client_side_validation && type.nil?
fail ArgumentError, "Missing the required parameter 'type' when calling PackageApi.get_package"
end
# verify the required parameter 'name' is set
if @api_client.config.client_side_validation && name.nil?
fail ArgumentError, "Missing the required parameter 'name' when calling PackageApi.get_package"
end
# verify the required parameter 'version' is set
if @api_client.config.client_side_validation && version.nil?
fail ArgumentError, "Missing the required parameter 'version' when calling PackageApi.get_package"
end
# resource path
local_var_path = '/packages/{owner}/{type}/{name}/{version}'.sub('{' + 'owner' + '}', CGI.escape(owner.to_s)).sub('{' + 'type' + '}', CGI.escape(type.to_s)).sub('{' + 'name' + '}', CGI.escape(name.to_s)).sub('{' + 'version' + '}', CGI.escape(version.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'Package'
# auth_names
auth_names = opts[:debug_auth_names] || ['AuthorizationHeaderToken']
new_options = opts.merge(
:operation => :"PackageApi.get_package",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PackageApi#get_package\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Gets all files of a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [Array<PackageFile>]
def list_package_files(owner, type, name, version, opts = {})
data, _status_code, _headers = list_package_files_with_http_info(owner, type, name, version, opts)
data
end
# Gets all files of a package
# @param owner [String] owner of the package
# @param type [String] type of the package
# @param name [String] name of the package
# @param version [String] version of the package
# @param [Hash] opts the optional parameters
# @return [Array<(Array<PackageFile>, Integer, Hash)>] Array<PackageFile> data, response status code and response headers
def list_package_files_with_http_info(owner, type, name, version, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PackageApi.list_package_files ...'
end
# verify the required parameter 'owner' is set
if @api_client.config.client_side_validation && owner.nil?
fail ArgumentError, "Missing the required parameter 'owner' when calling PackageApi.list_package_files"
end
# verify the required parameter 'type' is set
if @api_client.config.client_side_validation && type.nil?
fail ArgumentError, "Missing the required parameter 'type' when calling PackageApi.list_package_files"
end
# verify the required parameter 'name' is set
if @api_client.config.client_side_validation && name.nil?
fail ArgumentError, "Missing the required parameter 'name' when calling PackageApi.list_package_files"
end
# verify the required parameter 'version' is set
if @api_client.config.client_side_validation && version.nil?
fail ArgumentError, "Missing the required parameter 'version' when calling PackageApi.list_package_files"
end
# resource path
local_var_path = '/packages/{owner}/{type}/{name}/{version}/files'.sub('{' + 'owner' + '}', CGI.escape(owner.to_s)).sub('{' + 'type' + '}', CGI.escape(type.to_s)).sub('{' + 'name' + '}', CGI.escape(name.to_s)).sub('{' + 'version' + '}', CGI.escape(version.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'Array<PackageFile>'
# auth_names
auth_names = opts[:debug_auth_names] || ['AuthorizationHeaderToken']
new_options = opts.merge(
:operation => :"PackageApi.list_package_files",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PackageApi#list_package_files\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Gets all packages of an owner
# @param owner [String] owner of the packages
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page page number of results to return (1-based)
# @option opts [Integer] :limit page size of results
# @option opts [String] :type package type filter
# @option opts [String] :q name filter
# @return [Array<Package>]
def list_packages(owner, opts = {})
data, _status_code, _headers = list_packages_with_http_info(owner, opts)
data
end
# Gets all packages of an owner
# @param owner [String] owner of the packages
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page page number of results to return (1-based)
# @option opts [Integer] :limit page size of results
# @option opts [String] :type package type filter
# @option opts [String] :q name filter
# @return [Array<(Array<Package>, Integer, Hash)>] Array<Package> data, response status code and response headers
def list_packages_with_http_info(owner, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: PackageApi.list_packages ...'
end
# verify the required parameter 'owner' is set
if @api_client.config.client_side_validation && owner.nil?
fail ArgumentError, "Missing the required parameter 'owner' when calling PackageApi.list_packages"
end
allowable_values = ["alpine", "cargo", "chef", "composer", "conan", "conda", "container", "cran", "debian", "generic", "go", "helm", "maven", "npm", "nuget", "pub", "pypi", "rpm", "rubygems", "swift", "vagrant"]
if @api_client.config.client_side_validation && opts[:'type'] && !allowable_values.include?(opts[:'type'])
fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
end
# resource path
local_var_path = '/packages/{owner}'.sub('{' + 'owner' + '}', CGI.escape(owner.to_s))
# query parameters
query_params = opts[:query_params] || {}
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'Array<Package>'
# auth_names
auth_names = opts[:debug_auth_names] || ['AuthorizationHeaderToken']
new_options = opts.merge(
:operation => :"PackageApi.list_packages",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: PackageApi#list_packages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
end
end