Skip to content

Commit

Permalink
[api][webui] Moved backend call from Directory
Browse files Browse the repository at this point in the history
Moved Backend::Connection call from Directory model to Backend::Api
BTW, some minor refactoring on Directory model
  • Loading branch information
Moises Deniz Aleman committed Aug 28, 2017
1 parent 5217171 commit 7583d74
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
7 changes: 2 additions & 5 deletions src/api/app/models/directory.rb
Expand Up @@ -2,14 +2,11 @@ class Directory < ActiveXML::Node
def self.hashed(opts)
project = opts.delete :project
package = opts.delete :package
path = Package.source_path(project, package, nil, opts)
d = nil
begin
d = Backend::Connection.get(path).body
Xmlhash.parse(Backend::Api.file_list(project, package, opts))
rescue ActiveXML::Transport::Error => e
logger.debug "fetching #{path} #{e.inspect}"
logger.debug "Error fetching source file list for #{project}/#{package} #{e.inspect}"
return Xmlhash::XMLHash.new(error: e.summary)
end
Xmlhash.parse(d)
end
end
9 changes: 8 additions & 1 deletion src/api/lib/backend/api.rb
Expand Up @@ -15,11 +15,18 @@ def self.write_attributes(project, package, login, xml, comment)
Backend::Connection.put(path, xml)
end

# Returns a file list (from src/api/app/controllers/build/file_controller.rb)
# Returns a file list of binaries (from src/api/app/controllers/build/file_controller.rb)
def self.binary_files_list(project, repository, arch, package)
Backend::Connection.get("/build/#{CGI.escape(project)}/#{CGI.escape(repository)}/#{CGI.escape(arch)}/#{CGI.escape(package)}").body
end

# Returns a file list of the sources for a package
def self.file_list(project, package, options = {})
path = "/source/#{CGI.escape(project)}/#{CGI.escape(package)}"
path += "?#{options.to_query}" if options.present?
Backend::Connection.get(path).body
end

# Returns the revisions list for a package / project using mrev (from src/api/app/helpers/validation_helper.rb)
def self.revisions_list(project, package = nil)
Backend::Connection.get("/source/#{CGI.escape(project)}/#{CGI.escape(package || '_project')}/_history?deleted=1&meta=1").body
Expand Down

0 comments on commit 7583d74

Please sign in to comment.