Vridlo/api/vridlo.rpms

From ALT Linux Wiki

vridlo.rpms

It allows accessing to a list of rpms, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0. It implements operation on the Rpm structure.

GET:/v1/rpms.json

Returns a list of rpms, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0.

Authentication

This method requires NO authentication.

Arguments

NOTE: Arguments can be provided as arguments along with headers fields.
  • per_page is natural optional
Number of items to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50.
  • page is natural optional
The page of results to return. If this argument is omitted, it defaults to 1.
  • slug is string optional
Unique slug of the RPM.
  • name is string optional
Name of the RPM, which is unique among the name group.
  • epoch is natural optional
Epoch number of the rpm build.
  • version is string optional
Version of the rpm build. Usually is is represented as a number.
  • release is string optional
Release of the rpm build. Usually is is represented as a number.
  • arch is string optional
Architecture slug name of the rpm build. Must be presented in the system. It represents slug link to Arch structure.
  • built_at is string optional
Rpm is built at time.
  • builder_slug is string optional
Slug name of the RPM builder, represents User structure.
  • group_slug is string optional
Represents a slug string of the group identifier, which the rpm belongs to.
  • sha is string optional
Sha of rpm file containment.
  • size is string optional
Size of the rpm file.
  • src_slug is string optional
Slug of the source RPM. Must be presented and valid if arch is not src, or be blank if arch is src.

Examples

Example Request Url
GET:/v1/rpms.json?name=/ruby/
Example Good Response
[
   {
      "slug": "ruby-1:2.5.5-alt1-1286691010",
      "name": "ruby",
      "epoch": "1",
      "version": "2.5.5",
      "release": "alt1",
      "arch": "i586",
      "built_at": "10.10.10 10:10:10",
      "group_slug": "development",
      "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
      "size": "100000",
      "builder_slug": "builder",
      "src_slug": "ruby-1:2.5.5-alt1-1286691009",
      "descriptions_count": 2,
   },
   {
      "slug": "ruby-1:2.5.5-alt1-1286691009",
      "name": "ruby",
      "epoch": "1",
      "version": "2.5.5",
      "release": "alt1",
      "arch": "src",
      "built_at": "10.10.2010 10:10:09",
      "group_slug": "development",
      "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
      "size": "100000",
      "builder_slug": "builder",
      "descriptions_count": 3,
   },
]
Return Codes
  • 200 (OK)
The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is finished.
  • 206 (Partial Content)
The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is NOT finished yet.
  • 416 (Range Not Satisfiable)
The resource list is accessible. But data can't be returned since range provided don't match the list boundaries.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 500 (Service currently unavailable)
The requested service is temporarily unavailable.

POST:/v1/rpms.json

Creates the rpm specified by <slug> URI-parameter using the set of properties passed as form data or get parameter array, and returns state of the created record as JSON.

Authentication

This method requires write authentication with write permission to rpm model.

Arguments

  • name is string optional
Name of the RPM, which is unique among the name group. Can be renamed with a notification.
  • epoch is natural optional
Epoch number of the rpm build.
  • version is string mandatory
Version of the rpm build. Usually is is represented as a number.
  • release is string mandatory
Release of the rpm build. Usually is is represented as a number.
  • arch is string mandatory
Architecture slug name of the rpm build. Must be presented in the system. It represents slug link to Arch structure.
  • built_at is string mandatory
Rpm is built at time.
  • builder_slug is string mandatory
Slug name of the RPM builder, represents User structure.
  • group_slug is string mandatory
Represents a slug string of the group identifier, which the rpm belongs to.
  • sha is string mandatory
Sha of rpm file containment.
  • size is string mandatory
Size of the rpm file.
  • src_slug is string optional
Slug of the source RPM. Must be presented and valid if arch is not src, or be blank if arch is src.
  • descriptions is Lorem array optional
Array of descriptions of the rpm, text of which is stored in encoding specified by cp field, and cpis autodetected or inferred from encoding RPM field. It represents Lorem structure.

Examples

Example Request Url
POST:/v1/rpms.json?name=ruby<...>
Example Request Form
POST:/v1/rpms.json
DATA:
{
   "name": "ruby",
   "epoch": "1",
   "version": "2.5.5",
   "release": "alt1",
   "arch": "src",
   "built_at": "10.10.2010 10:10:10",
   "group_slug": "development",
   "md5": "236abd7880b4577f2b9470c09fee79d6",
   "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
   "size": "100000",
   "builder_slug": "builder",
   "repo_status": "skip",
   "spec": "spec flow....",
   "descriptions": [
      {
         text: "ruby package",
         language: "en_US.UTF8",
      },
      {
         text: "руби пакет",
         language: "ru_RU.UTF8",
      },
   ],
}
Example Good Response

Good response with created record:

{
   "slug": "ruby-1:2.5.5-alt1-1286691010",
   "name": "ruby",
   "epoch": "1",
   "version": "2.5.5",
   "release": "alt1",
   "arch": "src",
   "built_at": "10.10.2010 10:10:10",
   "group_slug": "development",
   "md5": "236abd7880b4577f2b9470c09fee79d6",
   "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
   "size": "100000",
   "builder_slug": "builder",
   "repo_status": "skip",
   "descriptions_count: 2,
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource wasn't found, and was created. Returned data responds to the current state of the resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 422.5 (Invalid incoming data)
The incoming data is invalid. See details for help.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.

GET:/v1/rpms/<slug>.json

Gets properties of the rpm specified by <slug> URI-parameter, and returns then as JSON. Do not poll this method more than once an hour.

Authentication

This method requires NO authentication.

Inline Arguments

  • slug is string optional
Unique slug of the RPM.

Arguments

This method requires NO arguments.

Examples

Example Request Url
GET:/v1/rpms/ruby-1:2.5.5-alt1-1286691010.json
Example Good Response

Good response with created record:

{
   "slug": "ruby-1:2.5.5-alt1-1286691010",
   "name": "ruby",
   "epoch": "1",
   "version": "2.5.5",
   "release": "alt1",
   "arch": "src",
   "built_at": "10.10.2010 10:10:10",
   "group_id": 100,
   "md5": "236abd7880b4577f2b9470c09fee79d6",
   "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
   "size": "100000",
   "builder_id": 1000,
   "repo_status": "skip",
   "descriptions_count: 2,
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource was found and is accessible. Returned data responds to the current state of the resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.

DELETE:/v1/rpms/<slug>.json

Destroys the rpm specified by <slug> URI-parameter, and returns state of the destroyed record as JSON.

Authentication

This method requires write authentication with write permission to rpm model.

Inline Arguments

  • slug is string optional
Unique slug of the RPM.

Arguments

This method requires NO arguments.

Examples

Example Request Url
DELETE:/v1/rpms/ruby-1:2.5.5-alt1-1286691010.json
Example Good Response

Good response with created record:

{
   "slug": "ruby-1:2.5.5-alt1-1286691010",
   "name": "ruby",
   "epoch": "1",
   "version": "2.5.5",
   "release": "alt1",
   "arch": "src",
   "built_at": "10.10.2010 10:10:10",
   "group_id": 100,
   "md5": "236abd7880b4577f2b9470c09fee79d6",
   "sha": "4a01982354f6d7cab8d9275e43dc0e4329b1d307",
   "size": "100000",
   "builder_id": 1000,
   "repo_status": "skip",
   "descriptions_count: 2,
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource was found and is accessible, and successfully destroyed. Returned data responds to the state of the destroyed resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.