Class: Backend::Api::Sources::Project

Inherits:
Object
  • Object
show all
Extended by:
ConnectionHelper
Defined in:
api/sources/project.rb

Overview

Class that connect to endpoints related to projects

Class Method Summary collapse

Class Method Details

.attributes(project_name, revision) ⇒ String

Returns the attributes for the project

Parameters:

  • revision (String)

    Revision hash/number.

Returns:

  • (String)


11
12
13
14
15
# File 'api/sources/project.rb', line 11

def self.attributes(project_name, revision)
  params = { meta: 1 }
  params[:rev] = revision if revision
  http_get(['/source/:project/_project/_attribute', project_name], params: params)
end

.commit(project_name, user_login, options = {}) ⇒ Object

Commits the request for the project



70
71
72
73
74
# File 'api/sources/project.rb', line 70

def self.commit(project_name, , options = {})
  http_post(['/source/:project/_project', project_name],
            defaults: { cmd: :commit, user:  },
            params: options, accepted: [:requestid, :rev, :comment])
end

.delete(project_name) ⇒ Object

Deletes the project and all the packages inside



87
88
89
# File 'api/sources/project.rb', line 87

def self.delete(project_name)
  http_delete(['/source/:project', project_name])
end

.key_info(project_name) ⇒ String

Returns the KeyInfo file for the project

Returns:

  • (String)


53
54
55
# File 'api/sources/project.rb', line 53

def self.key_info(project_name)
  http_get(['/source/:project/_keyinfo', project_name], params: { withsslcert: 1, donotcreatecert: 1 })
end

.listObject

Returns the list of projects



82
83
84
# File 'api/sources/project.rb', line 82

def self.list
  http_get('/source')
end

.meta(project_name, options = {}) ⇒ String

Returns the meta file from a project

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :revision (String)

    Revision hash/number.

  • :deleted (Integer / String)

    Search also on deleted projects (Needs to be a 1).

Returns:

  • (String)


35
36
37
# File 'api/sources/project.rb', line 35

def self.meta(project_name, options = {})
  http_get(['/source/:project/_project/_meta', project_name], params: options, accepted: [:revision, :deleted], rename: { revision: :rev })
end

.move(source_project_name, target_project_name) ⇒ String

Moves the source project to the target

Returns:

  • (String)


65
66
67
# File 'api/sources/project.rb', line 65

def self.move(source_project_name, target_project_name)
  http_post(['/source/:project', target_project_name], params: { cmd: :move, oproject: source_project_name })
end

.packages(project_name) ⇒ Object

Returns the list of packages inside the project



77
78
79
# File 'api/sources/project.rb', line 77

def self.packages(project_name)
  http_get(['/source/:project', project_name])
end

.patchinfo(project_name) ⇒ String

Returns the patchinfo for the project

Returns:

  • (String)


59
60
61
# File 'api/sources/project.rb', line 59

def self.patchinfo(project_name)
  http_get(['/source/:project/_patchinfo', project_name])
end

.revisions(project_name) ⇒ String

Returns the revisions (mrev) list for a project

Returns:

  • (String)


27
28
29
# File 'api/sources/project.rb', line 27

def self.revisions(project_name)
  http_get(['/source/:project/_project/_history', project_name], params: { meta: 1, deleted: 1 })
end

.write_attributes(project_name, user_login, content, comment) ⇒ String

Writes the xml for attributes

Returns:

  • (String)


19
20
21
22
23
# File 'api/sources/project.rb', line 19

def self.write_attributes(project_name, , content, comment)
  params = { meta: 1, user:  }
  params[:comment] = comment if comment
  http_put(['/source/:project/_project/_attribute', project_name], data: content, params: params)
end

.write_configuration(project_name, configuration) ⇒ String

Writes a Project configuration

Returns:

  • (String)


47
48
49
# File 'api/sources/project.rb', line 47

def self.write_configuration(project_name, configuration)
  http_put(['/source/:project/_config', project_name], data: configuration)
end

.write_meta(project_name, meta, options = {}) ⇒ String

Writes a Project meta

Returns:

  • (String)


41
42
43
# File 'api/sources/project.rb', line 41

def self.write_meta(project_name, meta, options = {})
  http_put(['/source/:project/_meta', project_name], data: meta, params: options, accepted: [:user, :comment, :requestid, :lowprio])
end