Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/helpers/packages/nuget.rb')
-rw-r--r--lib/api/helpers/packages/nuget.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/api/helpers/packages/nuget.rb b/lib/api/helpers/packages/nuget.rb
new file mode 100644
index 00000000000..19192b31b16
--- /dev/null
+++ b/lib/api/helpers/packages/nuget.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+module API
+ module Helpers
+ module Packages
+ module Nuget
+ def find_packages(package_name)
+ packages = package_finder(package_name).execute
+
+ not_found!('Packages') unless packages.exists?
+
+ packages
+ end
+
+ def find_package(package_name, package_version)
+ package = package_finder(package_name, package_version).execute.first
+
+ not_found!('Package') unless package
+
+ package
+ end
+
+ def package_finder(package_name, package_version = nil)
+ ::Packages::Nuget::PackageFinder.new(
+ current_user,
+ project_or_group,
+ package_name: package_name,
+ package_version: package_version,
+ client_version: headers['X-Nuget-Client-Version']
+ )
+ end
+
+ def search_packages(_search_term, search_options)
+ ::Packages::Nuget::SearchService
+ .new(current_user, project_or_group, params[:q], search_options)
+ .execute
+ end
+ end
+ end
+ end
+end