Vridlo/api/vridlo.rpms: Difference between revisions
No edit summary |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== vridlo. | == 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 [[Vridlo/types/Rpm|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 [[Vridlo/types/Arch|Arch]] structure. | |||
* '''built_at''' is ''string '''optional''''' | |||
Rpm is built at time. | |||
* '''builder_slug''' is ''string '''optional''''' | |||
Slug name of the RPM builder, represents [[Vridlo/types/User|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 Response ===== | ===== 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 | 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'') | * '''422.3''' (''SSL is required'') | ||
SSL is required to access the Vridlo API. | SSL is required to access the Vridlo API. | ||
* ''' | * '''500''' (''Service currently unavailable'') | ||
The | 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 [[Vridlo/types/Arch|Arch]] structure. | |||
* '''built_at''' is ''string '''mandatory''''' | |||
Rpm is built at time. | |||
* '''builder_slug''' is ''string '''mandatory''''' | |||
Slug name of the RPM builder, represents [[Vridlo/types/User|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 ''[[Vridlo/types/Lorem|Lorem]] array '''optional''''' | |||
Array of descriptions of the rpm, '''text''' of which is stored in encoding specified by '''cp''' field, and '''cp'''is autodetected or inferred from encoding RPM field. It represents [[Vridlo/types/Lorem|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 '' | Error response ''422'': | ||
{ | |||
"error_code": 3, | |||
"error_code": 3 | "message": "Error text according the active language", | ||
} | |||
==== Return Codes ==== | |||
* '''200''' (''OK'') | * '''200''' (''OK'') | ||
The resource | The resource wasn't found, and was created. Returned data responds to the current state of the resource. | ||
* '''422.3''' (''SSL is required'') | * '''422.3''' (''SSL is required'') | ||
SSL is required to access the Vridlo API. | 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'') | * '''404''' (''Not Found'') | ||
Line 153: | Line 219: | ||
The Internal Server Error has occurred. | 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 | 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 | |||
Good | ===== 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 '' | Error response ''422'': | ||
{ | |||
"error_code": 3, | |||
"error_code": 3 | "message": "Error text according the active language", | ||
} | |||
==== Return Codes ==== | |||
* '''200''' (''OK'') | * '''200''' (''OK'') | ||
The resource was found and is accessible | The resource was found and is accessible. Returned data responds to the current state of the resource. | ||
* '''422.3''' (''SSL is required'') | * '''422.3''' (''SSL is required'') | ||
SSL is required to access the Vridlo API. | SSL is required to access the Vridlo API. | ||
* '''404''' (''Not Found'') | * '''404''' (''Not Found'') | ||
The record with provided | The record with provided slug is not found. | ||
* '''500''' (''Internal Server Error'') | * '''500''' (''Internal Server Error'') | ||
The Internal Server Error has occurred. | 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. | 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. | This method requires write authentication with write permission to rpm model. | ||
===== Arguments | ==== Inline Arguments ==== | ||
* '''slug''' is ''string '''optional''''' | |||
Unique slug of the RPM. | |||
==== Arguments ==== | |||
This method requires NO arguments. | This method requires NO arguments. | ||
===== Example Response ===== | ==== 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 '' | Error response ''422'': | ||
{ | |||
"error_code": 3, | |||
"error_code": 3 | "message": "Error text according the active language", | ||
} | |||
==== Return Codes ==== | |||
* '''200''' (''OK'') | * '''200''' (''OK'') |
Latest revision as of 20:00, 4 December 2019
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.