Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
altlinux-packages-bot
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kirill Unitsaev
altlinux-packages-bot
Commits
4bdd48a2
Verified
Commit
4bdd48a2
authored
Mar 09, 2026
by
Kirill Unitsaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
altrepo: add all API methods and models
parent
bcaea74f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3617 additions
and
47 deletions
+3617
-47
methods.py
src/altrepo/api/methods.py
+1585
-46
models.py
src/altrepo/api/models.py
+2032
-1
No files found.
src/altrepo/api/methods.py
View file @
4bdd48a2
...
@@ -20,10 +20,12 @@ class BaseAPI:
...
@@ -20,10 +20,12 @@ class BaseAPI:
return
await
resp
.
json
()
return
await
resp
.
json
()
case
400
:
case
400
:
raise
errors
.
RequestValidationError
(
raise
errors
.
RequestValidationError
(
"Request parameters validation error (400)"
)
"Request parameters validation error (400)"
)
case
404
:
case
404
:
raise
errors
.
DataNotFoundError
(
raise
errors
.
DataNotFoundError
(
"Requested data not found in database (404)"
)
"Requested data not found in database (404)"
)
case
429
:
case
429
:
raise
errors
.
TooManyRequests
(
"Too Many Requests (429)"
)
raise
errors
.
TooManyRequests
(
"Too Many Requests (429)"
)
case
_
:
case
_
:
...
@@ -36,8 +38,12 @@ class BaseAPI:
...
@@ -36,8 +38,12 @@ class BaseAPI:
async
def
get
(
self
,
path
:
str
,
params
:
dict
=
None
):
async
def
get
(
self
,
path
:
str
,
params
:
dict
=
None
):
url
=
f
"{self.BASE_URL}/{path.lstrip('/')}"
url
=
f
"{self.BASE_URL}/{path.lstrip('/')}"
if
params
:
if
params
:
query
=
urlencode
({
k
:
","
.
join
(
v
)
if
isinstance
(
query
=
urlencode
(
v
,
list
)
else
v
for
k
,
v
in
params
.
items
()})
{
k
:
","
.
join
(
v
)
if
isinstance
(
v
,
list
)
else
v
for
k
,
v
in
params
.
items
()
}
)
url
+=
f
"?{query}"
url
+=
f
"?{query}"
async
with
self
.
session
.
get
(
url
)
as
resp
:
async
with
self
.
session
.
get
(
url
)
as
resp
:
return
await
self
.
_handle_response
(
resp
)
return
await
self
.
_handle_response
(
resp
)
...
@@ -48,6 +54,36 @@ class BaseAPI:
...
@@ -48,6 +54,36 @@ class BaseAPI:
async
with
self
.
session
.
post
(
url
,
data
=
data
,
json
=
json
)
as
resp
:
async
with
self
.
session
.
post
(
url
,
data
=
data
,
json
=
json
)
as
resp
:
return
await
self
.
_handle_response
(
resp
)
return
await
self
.
_handle_response
(
resp
)
async
def
get_text
(
self
,
path
:
str
,
params
:
dict
=
None
)
->
str
:
url
=
f
"{self.BASE_URL}/{path.lstrip('/')}"
if
params
:
query
=
urlencode
(
{
k
:
","
.
join
(
v
)
if
isinstance
(
v
,
list
)
else
v
for
k
,
v
in
params
.
items
()
}
)
url
+=
f
"?{query}"
async
with
self
.
session
.
get
(
url
)
as
resp
:
if
resp
.
status
==
200
:
return
await
resp
.
text
()
await
self
.
_handle_response
(
resp
)
async
def
get_bytes
(
self
,
path
:
str
,
params
:
dict
=
None
)
->
bytes
:
url
=
f
"{self.BASE_URL}/{path.lstrip('/')}"
if
params
:
query
=
urlencode
(
{
k
:
","
.
join
(
v
)
if
isinstance
(
v
,
list
)
else
v
for
k
,
v
in
params
.
items
()
}
)
url
+=
f
"?{query}"
async
with
self
.
session
.
get
(
url
)
as
resp
:
if
resp
.
status
==
200
:
return
await
resp
.
read
()
await
self
.
_handle_response
(
resp
)
class
APIInfo
:
class
APIInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -61,7 +97,7 @@ class APIInfo:
...
@@ -61,7 +97,7 @@ class APIInfo:
class
TaskProcessInfo
:
class
TaskProcessInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
self
.
client
=
client
async
def
find_tasks
(
async
def
find_tasks
(
self
,
self
,
input
:
list
[
str
],
input
:
list
[
str
],
...
@@ -72,29 +108,224 @@ class TaskProcessInfo:
...
@@ -72,29 +108,224 @@ class TaskProcessInfo:
by_package
:
bool
=
False
,
by_package
:
bool
=
False
,
)
->
models
.
TasksListModel
:
)
->
models
.
TasksListModel
:
params
=
{
params
=
{
k
:
v
for
k
,
v
in
{
k
:
v
for
k
,
v
in
{
"input"
:
input
,
"input"
:
input
,
"owner"
:
owner
,
"owner"
:
owner
,
"branch"
:
branch
,
"branch"
:
branch
,
"state"
:
state
,
"state"
:
state
,
"tasks_limit"
:
tasks_limit
,
"tasks_limit"
:
tasks_limit
,
"by_package"
:
by_package
"by_package"
:
by_package
,
}
.
items
()
if
v
is
not
None
}
.
items
()
if
v
is
not
None
}
}
data
=
await
self
.
client
.
get
(
"/task/progress/find_tasks"
,
params
)
data
=
await
self
.
client
.
get
(
"/task/progress/find_tasks"
,
params
)
return
models
.
TasksListModel
(
**
data
)
return
models
.
TasksListModel
(
**
data
)
async
def
task_info
(
self
,
task_id
:
int
)
->
models
.
TaskProgressTaskInfoModel
:
async
def
task_info
(
self
,
task_id
:
int
)
->
models
.
TaskProgressTaskInfoModel
:
data
=
await
self
.
client
.
get
(
f
"/task/progress/task_info/{task_id}"
)
data
=
await
self
.
client
.
get
(
f
"/task/progress/task_info/{task_id}"
)
return
models
.
TaskProgressTaskInfoModel
(
**
data
)
return
models
.
TaskProgressTaskInfoModel
(
**
data
)
async
def
all_packagesets
(
self
)
->
models
.
AllTasksBranchesModel
:
data
=
await
self
.
client
.
get
(
"/task/progress/all_packagesets"
)
return
models
.
AllTasksBranchesModel
(
**
data
)
async
def
all_tasks_branches
(
self
)
->
models
.
AllTasksBranchesModel
:
data
=
await
self
.
client
.
get
(
"/task/progress/all_tasks_branches"
)
return
models
.
AllTasksBranchesModel
(
**
data
)
async
def
find_tasks_lookup
(
self
,
input
:
list
[
str
],
branch
:
str
|
None
=
None
,
tasks_limit
:
int
=
10
,
)
->
models
.
FindTasksModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"input"
:
input
,
"branch"
:
branch
,
"tasks_limit"
:
tasks_limit
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/task/progress/find_tasks_lookup"
,
params
)
return
models
.
FindTasksModel
(
**
data
)
async
def
last_tasks
(
self
,
branch
:
str
|
None
=
None
,
tasks_limit
:
int
=
10
)
->
models
.
TasksListModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"tasks_limit"
:
tasks_limit
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/task/progress/last_tasks"
,
params
)
return
models
.
TasksListModel
(
**
data
)
class
TaskInfo
:
class
TaskInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
self
.
client
=
client
self
.
progress
=
TaskProcessInfo
(
self
.
client
)
self
.
progress
=
TaskProcessInfo
(
self
.
client
)
async
def
build_dependency_set
(
self
,
task_id
:
int
,
arch
:
str
=
"x86_64"
)
->
models
.
BuildDependencySetModel
:
data
=
await
self
.
client
.
get
(
f
"/task/build_dependency_set/{task_id}"
,
{
"arch"
:
arch
}
)
return
models
.
BuildDependencySetModel
(
**
data
)
async
def
check_images
(
self
,
payload
:
dict
)
->
models
.
CheckImagesOutputModel
:
data
=
await
self
.
client
.
post
(
"/task/check_images"
,
json
=
payload
)
return
models
.
CheckImagesOutputModel
(
**
data
)
async
def
find_images
(
self
,
task_id
:
int
)
->
models
.
FindImagesByTaskModel
:
data
=
await
self
.
client
.
get
(
f
"/task/find_images/{task_id}"
)
return
models
.
FindImagesByTaskModel
(
**
data
)
async
def
find_packageset
(
self
,
task_id
:
int
,
branches
:
list
[
str
]
|
None
=
None
)
->
models
.
TaskFindPackagesetModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branches"
:
branches
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/task/find_packageset/{task_id}"
,
params
or
None
)
return
models
.
TaskFindPackagesetModel
(
**
data
)
async
def
misconflict
(
self
,
task_id
:
int
,
archs
:
list
[
str
]
|
None
=
None
,
no_cache
:
str
|
None
=
None
)
->
models
.
TaskMisconflictPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"archs"
:
archs
,
"no_cache"
:
no_cache
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/task/misconflict/{task_id}"
,
params
or
None
)
return
models
.
TaskMisconflictPackagesModel
(
**
data
)
async
def
needs_approval
(
self
,
acl_group
:
Literal
[
"maint"
,
"tester"
],
branches
:
list
[
str
]
|
None
=
None
,
before
:
str
|
None
=
None
,
)
->
models
.
NeedsApprovalModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"acl_group"
:
acl_group
,
"branches"
:
branches
,
"before"
:
before
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/task/needs_approval"
,
params
)
return
models
.
NeedsApprovalModel
(
**
data
)
async
def
packages
(
self
,
task_id
:
int
)
->
models
.
TaskPackagesModel
:
data
=
await
self
.
client
.
get
(
f
"/task/packages/{task_id}"
)
return
models
.
TaskPackagesModel
(
**
data
)
async
def
task_diff
(
self
,
task_id
:
int
)
->
models
.
TaskDiffModel
:
data
=
await
self
.
client
.
get
(
f
"/task/task_diff/{task_id}"
)
return
models
.
TaskDiffModel
(
**
data
)
async
def
task_history
(
self
,
branch
:
str
,
start_task
:
int
=
0
,
end_task
:
int
=
0
,
start_date
:
str
|
None
=
None
,
end_date
:
str
|
None
=
None
,
)
->
models
.
TaskHistoryModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"start_task"
:
start_task
,
"end_task"
:
end_task
,
"start_date"
:
start_date
,
"end_date"
:
end_date
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/task/task_history"
,
params
)
return
models
.
TaskHistoryModel
(
**
data
)
async
def
task_info
(
self
,
task_id
:
int
,
try_
:
int
|
None
=
None
,
iteration
:
int
|
None
=
None
,
no_cache
:
str
|
None
=
None
,
states
:
list
[
str
]
|
None
=
None
,
)
->
models
.
TaskInfoModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"try"
:
try_
,
"iteration"
:
iteration
,
"no_cache"
:
no_cache
,
"states"
:
states
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/task/task_info/{task_id}"
,
params
or
None
)
return
models
.
TaskInfoModel
(
**
data
)
async
def
task_repo
(
self
,
task_id
:
int
,
include_task_packages
:
bool
=
False
)
->
models
.
TaskRepoModel
:
data
=
await
self
.
client
.
get
(
f
"/task/task_repo/{task_id}"
,
{
"include_task_packages"
:
include_task_packages
},
)
return
models
.
TaskRepoModel
(
**
data
)
async
def
what_depends_src
(
self
,
task_id
:
int
,
depth
:
int
=
1
,
dptype
:
Literal
[
"both"
,
"source"
,
"binary"
]
=
"both"
,
archs
:
list
[
str
]
|
None
=
None
,
leaf
:
str
|
None
=
None
,
finite_package
:
bool
=
False
,
filter_by_package
:
list
[
str
]
|
None
=
None
,
filter_by_source
:
str
|
None
=
None
,
oneandhalf
:
bool
=
False
,
no_cache
:
str
|
None
=
None
,
)
->
models
.
TaskBuildDependencyModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"depth"
:
depth
,
"dptype"
:
dptype
,
"archs"
:
archs
,
"leaf"
:
leaf
,
"finite_package"
:
finite_package
,
"filter_by_package"
:
filter_by_package
,
"filter_by_source"
:
filter_by_source
,
"oneandhalf"
:
oneandhalf
,
"no_cache"
:
no_cache
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/task/what_depends_src/{task_id}"
,
params
or
None
)
return
models
.
TaskBuildDependencyModel
(
**
data
)
class
PackageInfo
:
class
PackageInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -115,7 +346,8 @@ class PackageInfo:
...
@@ -115,7 +346,8 @@ class PackageInfo:
full
:
bool
|
None
=
None
,
full
:
bool
|
None
=
None
,
)
->
models
.
PackageInfoModel
:
)
->
models
.
PackageInfoModel
:
params
=
{
params
=
{
k
:
v
for
k
,
v
in
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
"name"
:
name
,
"version"
:
version
,
"version"
:
version
,
"release"
:
release
,
"release"
:
release
,
...
@@ -127,20 +359,185 @@ class PackageInfo:
...
@@ -127,20 +359,185 @@ class PackageInfo:
"packager"
:
packager
,
"packager"
:
packager
,
"packager_email"
:
packager_email
,
"packager_email"
:
packager_email
,
"full"
:
full
,
"full"
:
full
,
}
.
items
()
if
v
is
not
None
}
.
items
()
if
v
is
not
None
}
}
data
=
await
self
.
client
.
get
(
"/package/package_info"
,
params
)
data
=
await
self
.
client
.
get
(
"/package/package_info"
,
params
)
return
models
.
PackageInfoModel
(
**
data
)
return
models
.
PackageInfoModel
(
**
data
)
async
def
packages_by_file_names
(
self
,
files
:
List
[
str
],
branch
:
str
,
arch
:
str
|
None
=
None
)
->
models
.
PackageByFileNameModel
:
async
def
packages_by_file_names
(
data
=
{
"files"
:
files
,
"branch"
:
branch
}
self
,
files
:
List
[
str
],
branch
:
str
,
arch
:
str
|
None
=
None
)
->
models
.
PackageByFileNameModel
:
payload
=
models
.
PackagesByFileNamesJsonModel
(
files
=
files
,
branch
=
branch
,
arch
=
arch
)
data
=
await
self
.
client
.
post
(
"/package/packages_by_file_names"
,
json
=
payload
.
model_dump
(
exclude_none
=
True
),
)
return
models
.
PackageByFileNameModel
(
**
data
)
async
def
build_dependency_set
(
self
,
branch
:
str
,
packages
:
list
[
str
],
arch
:
str
=
"x86_64"
,
)
->
models
.
BuildDependencySetModel
:
data
=
await
self
.
client
.
get
(
"/package/build_dependency_set"
,
{
"branch"
:
branch
,
"packages"
:
packages
,
"arch"
:
arch
},
)
return
models
.
BuildDependencySetModel
(
**
data
)
async
def
find_packageset
(
self
,
packages
:
list
[
str
],
branches
:
list
[
str
]
|
None
=
None
)
->
models
.
PackageFindPackagesetModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"packages"
:
packages
,
"branches"
:
branches
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/package/find_packageset"
,
params
)
return
models
.
PackageFindPackagesetModel
(
**
data
)
async
def
maintainer_score
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
MaintainerScoreModel
:
data
=
await
self
.
client
.
get
(
"/package/maintainer_score"
,
{
"branch"
:
branch
,
"name"
:
name
}
)
return
models
.
MaintainerScoreModel
(
**
data
)
async
def
misconflict
(
self
,
packages
:
list
[
str
],
branch
:
str
,
archs
:
list
[
str
]
|
None
=
None
,
)
->
models
.
PackageMisconflictPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"packages"
:
packages
,
"branch"
:
branch
,
"archs"
:
archs
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/package/misconflict"
,
params
)
return
models
.
PackageMisconflictPackagesModel
(
**
data
)
if
arch
:
async
def
package_by_file_md5
(
data
[
"arch"
]
=
arch
self
,
branch
:
str
,
md5
:
str
,
arch
:
str
=
"x86_64"
)
->
models
.
PackageByFileNameModel
:
data
=
await
self
.
client
.
get
(
"/package/package_by_file_md5"
,
{
"branch"
:
branch
,
"md5"
:
md5
,
"arch"
:
arch
}
)
return
models
.
PackageByFileNameModel
(
**
data
)
data
=
await
self
.
client
.
post
(
"/package/packages_by_file_names"
,
json
=
data
)
async
def
package_by_file_name
(
self
,
file
:
str
,
branch
:
str
,
arch
:
str
=
"x86_64"
)
->
models
.
PackageByFileNameModel
:
data
=
await
self
.
client
.
get
(
"/package/package_by_file_name"
,
{
"file"
:
file
,
"branch"
:
branch
,
"arch"
:
arch
},
)
return
models
.
PackageByFileNameModel
(
**
data
)
return
models
.
PackageByFileNameModel
(
**
data
)
async
def
package_files
(
self
,
pkghash
:
int
)
->
models
.
PackageFilesModel
:
data
=
await
self
.
client
.
get
(
f
"/package/package_files/{pkghash}"
)
return
models
.
PackageFilesModel
(
**
data
)
async
def
repocop
(
self
,
branch
:
str
,
package_name
:
str
,
package_version
:
str
|
None
=
None
,
package_release
:
str
|
None
=
None
,
bin_package_arch
:
str
|
None
=
None
,
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
)
->
models
.
RepocopJsonGetListModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"package_name"
:
package_name
,
"package_version"
:
package_version
,
"package_release"
:
package_release
,
"bin_package_arch"
:
bin_package_arch
,
"package_type"
:
package_type
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/package/repocop"
,
params
)
return
models
.
RepocopJsonGetListModel
(
**
data
)
async
def
repocop_post
(
self
,
packages
:
list
[
dict
])
->
None
:
await
self
.
client
.
post
(
"/package/repocop"
,
json
=
{
"packages"
:
packages
})
async
def
specfile_by_hash
(
self
,
pkghash
:
int
)
->
models
.
PackageSpecfileModel
:
data
=
await
self
.
client
.
get
(
f
"/package/specfile_by_hash/{pkghash}"
)
return
models
.
PackageSpecfileModel
(
**
data
)
async
def
specfile_by_name
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
PackageSpecfileModel
:
data
=
await
self
.
client
.
get
(
"/package/specfile_by_name"
,
{
"branch"
:
branch
,
"name"
:
name
}
)
return
models
.
PackageSpecfileModel
(
**
data
)
async
def
unpackaged_dirs
(
self
,
branch
:
str
,
packager
:
str
,
archs
:
list
[
str
]
|
None
=
None
)
->
models
.
UnpackagedDirsModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"packager"
:
packager
,
"archs"
:
archs
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/package/unpackaged_dirs"
,
params
)
return
models
.
UnpackagedDirsModel
(
**
data
)
async
def
what_depends_src
(
self
,
packages
:
list
[
str
],
branch
:
str
,
depth
:
int
=
1
,
dptype
:
Literal
[
"both"
,
"source"
,
"binary"
]
=
"both"
,
archs
:
list
[
str
]
|
None
=
None
,
leaf
:
str
|
None
=
None
,
finite_package
:
bool
=
False
,
filter_by_package
:
list
[
str
]
|
None
=
None
,
filter_by_source
:
str
|
None
=
None
,
oneandhalf
:
bool
=
False
,
use_last_tasks
:
bool
=
False
,
)
->
models
.
PackageBuildDependencyModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"packages"
:
packages
,
"branch"
:
branch
,
"depth"
:
depth
,
"dptype"
:
dptype
,
"archs"
:
archs
,
"leaf"
:
leaf
,
"finite_package"
:
finite_package
,
"filter_by_package"
:
filter_by_package
,
"filter_by_source"
:
filter_by_source
,
"oneandhalf"
:
oneandhalf
,
"use_last_tasks"
:
use_last_tasks
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/package/what_depends_src"
,
params
)
return
models
.
PackageBuildDependencyModel
(
**
data
)
class
PackagesetInfo
:
class
PackagesetInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -150,13 +547,71 @@ class PackagesetInfo:
...
@@ -150,13 +547,71 @@ class PackagesetInfo:
data
=
await
self
.
client
.
get
(
"/packageset/active_packagesets"
)
data
=
await
self
.
client
.
get
(
"/packageset/active_packagesets"
)
return
models
.
PackageSetActivePackageSetsModel
(
**
data
)
return
models
.
PackageSetActivePackageSetsModel
(
**
data
)
async
def
repository_statistics
(
self
,
branch
:
str
|
None
=
None
)
->
models
.
RepositoryStatisticsModel
:
async
def
repository_statistics
(
self
,
branch
:
str
|
None
=
None
)
->
models
.
RepositoryStatisticsModel
:
if
branch
:
if
branch
:
data
=
await
self
.
client
.
get
(
"/packageset/repository_statistics"
,
{
"branch"
:
branch
})
data
=
await
self
.
client
.
get
(
"/packageset/repository_statistics"
,
{
"branch"
:
branch
}
)
else
:
else
:
data
=
await
self
.
client
.
get
(
"/packageset"
)
data
=
await
self
.
client
.
get
(
"/packageset"
)
return
models
.
RepositoryStatisticsModel
(
**
data
)
return
models
.
RepositoryStatisticsModel
(
**
data
)
async
def
compare_packagesets
(
self
,
pkgset1
:
str
,
pkgset2
:
str
)
->
models
.
PackagesetCompareModel
:
data
=
await
self
.
client
.
get
(
"/packageset/compare_packagesets"
,
{
"pkgset1"
:
pkgset1
,
"pkgset2"
:
pkgset2
}
)
return
models
.
PackagesetCompareModel
(
**
data
)
async
def
maintainer_scores
(
self
,
branch
:
str
)
->
models
.
MaintainerScoresBatchModel
:
data
=
await
self
.
client
.
get
(
"/packageset/maintainer_scores"
,
{
"branch"
:
branch
}
)
return
models
.
MaintainerScoresBatchModel
(
**
data
)
async
def
packages_by_component
(
self
,
branch
:
str
,
arch
:
str
,
component
:
str
)
->
models
.
PackagesByUuidModel
:
data
=
await
self
.
client
.
get
(
"/packageset/packages_by_component"
,
{
"branch"
:
branch
,
"arch"
:
arch
,
"component"
:
component
},
)
return
models
.
PackagesByUuidModel
(
**
data
)
async
def
packages_by_uuid
(
self
,
uuid
:
str
)
->
models
.
PackagesByUuidModel
:
data
=
await
self
.
client
.
get
(
"/packageset/packages_by_uuid"
,
{
"uuid"
:
uuid
})
return
models
.
PackagesByUuidModel
(
**
data
)
async
def
pkgset_status_get
(
self
)
->
models
.
PackageSetStatusGetModel
:
data
=
await
self
.
client
.
get
(
"/packageset/pkgset_status"
)
return
models
.
PackageSetStatusGetModel
(
**
data
)
async
def
pkgset_status_post
(
self
,
payload
:
dict
)
->
None
:
await
self
.
client
.
post
(
"/packageset/pkgset_status"
,
json
=
payload
)
async
def
repository_packages
(
self
,
branch
:
str
,
package_type
:
Literal
[
"all"
,
"source"
,
"binary"
]
=
"all"
,
archs
:
list
[
str
]
|
None
=
None
,
include_done_tasks
:
bool
=
False
,
)
->
models
.
PackagesetPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"package_type"
:
package_type
,
"archs"
:
archs
,
"include_done_tasks"
:
include_done_tasks
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/packageset/repository_packages"
,
params
)
return
models
.
PackagesetPackagesModel
(
**
data
)
class
AclInfo
:
class
AclInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -167,12 +622,33 @@ class AclInfo:
...
@@ -167,12 +622,33 @@ class AclInfo:
if
name
:
if
name
:
data
[
"name"
]
=
name
data
[
"name"
]
=
name
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/acl/groups"
,
data
)
"/acl/groups"
,
data
)
return
models
.
AclGroupsModel
(
**
data
)
return
models
.
AclGroupsModel
(
**
data
)
async
def
by_packages
(
self
,
branch
:
str
,
packages_names
:
list
[
str
]
)
->
models
.
AclByPackagesModel
:
params
=
{
"branch"
:
branch
,
"packages_names"
:
packages_names
,
}
data
=
await
self
.
client
.
get
(
"/acl/by_packages"
,
params
)
return
models
.
AclByPackagesModel
(
**
data
)
async
def
maintainer_groups
(
self
,
nickname
:
str
,
branch
:
list
[
str
]
|
None
=
None
)
->
models
.
AclMaintainerGroupsModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"nickname"
:
nickname
,
"branch"
:
branch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/acl/maintainer_groups"
,
params
)
return
models
.
AclMaintainerGroupsModel
(
**
data
)
class
BugInfo
:
class
BugInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -184,33 +660,69 @@ class BugInfo:
...
@@ -184,33 +660,69 @@ class BugInfo:
try
:
try
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/bug/bugzilla_by_maintainer"
,
"/bug/bugzilla_by_maintainer"
,
{
"maintainer_nickname"
:
maintainer_nickname
,
{
"by_acl"
:
by_acl
if
by_acl
else
"none"
}
"maintainer_nickname"
:
maintainer_nickname
,
"by_acl"
:
by_acl
if
by_acl
else
"none"
,
},
)
)
except
errors
.
DataNotFoundError
:
except
errors
.
DataNotFoundError
:
return
None
return
None
return
models
.
BugzillaInfoModel
(
**
data
)
return
models
.
BugzillaInfoModel
(
**
data
)
async
def
bugzilla_by_package
(
self
,
package_name
:
str
,
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
)
->
models
.
BugzillaInfoModel
:
data
=
await
self
.
client
.
get
(
"/bug/bugzilla_by_package"
,
{
"package_name"
:
package_name
,
"package_type"
:
package_type
},
)
return
models
.
BugzillaInfoModel
(
**
data
)
async
def
bugzilla_by_image_edition
(
self
,
branch
:
str
,
edition
:
str
)
->
models
.
BugzillaInfoModel
:
data
=
await
self
.
client
.
get
(
"/bug/bugzilla_by_image_edition"
,
{
"branch"
:
branch
,
"edition"
:
edition
}
)
return
models
.
BugzillaInfoModel
(
**
data
)
class
FileInfo
:
class
FileInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
self
.
client
=
client
async
def
packages_by_file
(
self
,
branch
:
str
,
file_name
:
str
)
->
models
.
FilePackagesByFileModel
:
async
def
packages_by_file
(
self
,
branch
:
str
,
file_name
:
str
)
->
models
.
FilePackagesByFileModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/file/packages_by_file"
,
"/file/packages_by_file"
,
{
"branch"
:
branch
,
"file_name"
:
file_name
}
{
"branch"
:
branch
,
"file_name"
:
file_name
}
)
)
return
models
.
FilePackagesByFileModel
(
**
data
)
return
models
.
FilePackagesByFileModel
(
**
data
)
async
def
search
(
self
,
branch
:
str
,
file_name
:
str
,
limit
:
int
|
None
=
None
)
->
models
.
FilesModel
:
async
def
search
(
self
,
branch
:
str
,
file_name
:
str
,
limit
:
int
|
None
=
None
)
->
models
.
FilesModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/file/search"
,
"/file/search"
,
{
"branch"
:
branch
,
"file_name"
:
file_name
,
{
"limit"
:
limit
if
limit
else
1000
}
"branch"
:
branch
,
"file_name"
:
file_name
,
"limit"
:
limit
if
limit
else
1000
,
},
)
)
return
models
.
FilesModel
(
**
data
)
return
models
.
FilesModel
(
**
data
)
async
def
fast_lookup
(
self
,
branch
:
str
,
file_name
:
str
,
limit
:
int
=
10
)
->
models
.
FastFileSearchModel
:
data
=
await
self
.
client
.
get
(
"/file/fast_lookup"
,
{
"branch"
:
branch
,
"file_name"
:
file_name
,
"limit"
:
limit
},
)
return
models
.
FastFileSearchModel
(
**
data
)
class
SiteInfo
:
class
SiteInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
def
__init__
(
self
,
client
:
BaseAPI
):
...
@@ -219,24 +731,28 @@ class SiteInfo:
...
@@ -219,24 +731,28 @@ class SiteInfo:
async
def
all_maintainers
(
self
,
branch
:
str
)
->
models
.
AllMaintainersModel
:
async
def
all_maintainers
(
self
,
branch
:
str
)
->
models
.
AllMaintainersModel
:
return
await
self
.
all_maintainers_with_nicknames
(
branch
)
return
await
self
.
all_maintainers_with_nicknames
(
branch
)
async
def
all_maintainers_with_nicknames
(
self
,
branch
:
str
)
->
models
.
AllMaintainersModel
:
async
def
all_maintainers_with_nicknames
(
self
,
branch
:
str
)
->
models
.
AllMaintainersModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/site/all_maintainers_with_nicknames"
,
"/site/all_maintainers_with_nicknames"
,
{
"branch"
:
branch
}
{
"branch"
:
branch
}
)
)
return
models
.
AllMaintainersModel
(
**
data
)
return
models
.
AllMaintainersModel
(
**
data
)
async
def
find_source_package
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
FindSourcePackageInBranch
:
async
def
find_source_package
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
FindSourcePackageInBranch
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/site/find_source_package"
,
"/site/find_source_package"
,
{
"branch"
:
branch
,
"name"
:
name
}
{
"branch"
:
branch
,
"name"
:
name
}
)
)
return
models
.
FindSourcePackageInBranch
(
**
data
)
return
models
.
FindSourcePackageInBranch
(
**
data
)
async
def
maintainer_info
(
self
,
branch
:
str
,
maintainer_nickname
:
str
)
->
models
.
MaintainerInfoModel
:
async
def
maintainer_info
(
self
,
branch
:
str
,
maintainer_nickname
:
str
)
->
models
.
MaintainerInfoModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/site/maintainer_info"
,
"/site/maintainer_info"
,
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
}
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
}
,
)
)
return
models
.
MaintainerInfoModel
(
**
data
)
return
models
.
MaintainerInfoModel
(
**
data
)
...
@@ -245,11 +761,15 @@ class SiteInfo:
...
@@ -245,11 +761,15 @@ class SiteInfo:
branch
:
str
,
branch
:
str
,
pkghash
:
int
,
pkghash
:
int
,
changelog_last
:
int
=
3
,
changelog_last
:
int
=
3
,
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
)
->
models
.
SitePackageInfoModel
:
)
->
models
.
SitePackageInfoModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
f
"/site/package_info/{pkghash}"
,
f
"/site/package_info/{pkghash}"
,
{
"branch"
:
branch
,
"changelog_last"
:
changelog_last
,
"package_type"
:
package_type
}
{
"branch"
:
branch
,
"changelog_last"
:
changelog_last
,
"package_type"
:
package_type
,
},
)
)
return
models
.
SitePackageInfoModel
(
**
data
)
return
models
.
SitePackageInfoModel
(
**
data
)
...
@@ -262,23 +782,1035 @@ class SiteInfo:
...
@@ -262,23 +782,1035 @@ class SiteInfo:
)
)
return
models
.
SitePackagesetPackageHashModel
(
**
data
)
return
models
.
SitePackagesetPackageHashModel
(
**
data
)
async
def
pkghash_by_name
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
SitePackagesetPackageHashModel
:
async
def
pkghash_by_name
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
SitePackagesetPackageHashModel
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/site/pkghash_by_name"
,
"/site/pkghash_by_name"
,
{
"branch"
:
branch
,
"name"
:
name
}
{
"branch"
:
branch
,
"name"
:
name
}
)
)
return
models
.
SitePackagesetPackageHashModel
(
**
data
)
return
models
.
SitePackagesetPackageHashModel
(
**
data
)
async
def
watch_by_maintainer
(
self
,
maintainer_nickname
:
str
)
->
models
.
SiteWatchByMaintainerModel
|
None
:
async
def
watch_by_maintainer
(
self
,
maintainer_nickname
:
str
)
->
models
.
SiteWatchByMaintainerModel
|
None
:
try
:
try
:
data
=
await
self
.
client
.
get
(
data
=
await
self
.
client
.
get
(
"/site/watch_by_maintainer"
,
"/site/watch_by_maintainer"
,
{
"maintainer_nickname"
:
maintainer_nickname
}
{
"maintainer_nickname"
:
maintainer_nickname
}
,
)
)
except
errors
.
DataNotFoundError
:
except
errors
.
DataNotFoundError
:
return
None
return
None
return
models
.
SiteWatchByMaintainerModel
(
**
data
)
return
models
.
SiteWatchByMaintainerModel
(
**
data
)
async
def
all_pkgset_archs
(
self
,
branch
:
str
)
->
models
.
SiteAllArchsModel
:
data
=
await
self
.
client
.
get
(
"/site/all_pkgset_archs"
,
{
"branch"
:
branch
})
return
models
.
SiteAllArchsModel
(
**
data
)
async
def
all_pkgset_archs_with_src_count
(
self
,
branch
:
str
)
->
models
.
SiteAllArchsModel
:
data
=
await
self
.
client
.
get
(
"/site/all_pkgset_archs_with_src_count"
,
{
"branch"
:
branch
}
)
return
models
.
SiteAllArchsModel
(
**
data
)
async
def
all_pkgsets
(
self
)
->
models
.
SiteAllPackagasetsModel
:
data
=
await
self
.
client
.
get
(
"/site/all_pkgsets"
)
return
models
.
SiteAllPackagasetsModel
(
**
data
)
async
def
all_pkgsets_summary
(
self
)
->
models
.
SiteAllPackagesetsSummaryModel
:
data
=
await
self
.
client
.
get
(
"/site/all_pkgsets_summary"
)
return
models
.
SiteAllPackagesetsSummaryModel
(
**
data
)
async
def
all_pkgsets_with_src_count
(
self
)
->
models
.
SiteAllPackagasetsModel
:
data
=
await
self
.
client
.
get
(
"/site/all_pkgsets_with_src_count"
)
return
models
.
SiteAllPackagasetsModel
(
**
data
)
async
def
beehive_errors_by_maintainer
(
self
,
branch
:
str
,
maintainer_nickname
:
str
,
by_acl
:
str
=
"none"
,
)
->
models
.
SiteBeehiveByMaintainerModel
:
data
=
await
self
.
client
.
get
(
"/site/beehive_errors_by_maintainer"
,
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
,
"by_acl"
:
by_acl
,
},
)
return
models
.
SiteBeehiveByMaintainerModel
(
**
data
)
async
def
binary_package_archs_and_versions
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
SitePackagesBinaryListModel
:
data
=
await
self
.
client
.
get
(
"/site/binary_package_archs_and_versions"
,
{
"branch"
:
branch
,
"name"
:
name
}
)
return
models
.
SitePackagesBinaryListModel
(
**
data
)
async
def
binary_package_scripts
(
self
,
pkghash
:
int
)
->
models
.
SiteBinPackageScriptsModel
:
data
=
await
self
.
client
.
get
(
f
"/site/binary_package_scripts/{pkghash}"
)
return
models
.
SiteBinPackageScriptsModel
(
**
data
)
async
def
deleted_package_info
(
self
,
branch
:
str
,
name
:
str
,
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
arch
:
str
|
None
=
None
,
)
->
models
.
SiteDeletedPackageModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"name"
:
name
,
"package_type"
:
package_type
,
"arch"
:
arch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/deleted_package_info"
,
params
)
return
models
.
SiteDeletedPackageModel
(
**
data
)
async
def
fast_packages_search_lookup
(
self
,
name
:
list
[
str
],
branch
:
str
|
None
=
None
)
->
models
.
SiteFastPackagesSearchModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
"branch"
:
branch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/fast_packages_search_lookup"
,
params
)
return
models
.
SiteFastPackagesSearchModel
(
**
data
)
async
def
find_packages
(
self
,
name
:
list
[
str
],
branch
:
str
|
None
=
None
,
arch
:
list
[
str
]
|
None
=
None
,
)
->
models
.
SiteFingPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
"branch"
:
branch
,
"arch"
:
arch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/find_packages"
,
params
)
return
models
.
SiteFingPackagesModel
(
**
data
)
async
def
last_packages
(
self
,
branch
:
str
,
tasks_limit
:
int
=
10
,
task_owner
:
str
|
None
=
None
,
)
->
models
.
SiteLastPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"tasks_limit"
:
tasks_limit
,
"task_owner"
:
task_owner
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/last_packages"
,
params
)
return
models
.
SiteLastPackagesModel
(
**
data
)
async
def
last_packages_by_branch
(
self
,
branch
:
str
,
packages_limit
:
int
=
10
,
packager
:
str
|
None
=
None
,
)
->
models
.
SiteLastBranchPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"packages_limit"
:
packages_limit
,
"packager"
:
packager
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/last_packages_by_branch"
,
params
)
return
models
.
SiteLastBranchPackagesModel
(
**
data
)
async
def
last_packages_by_tasks
(
self
,
branch
:
str
,
tasks_limit
:
int
=
10
,
task_owner
:
str
|
None
=
None
,
)
->
models
.
SiteLastPackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"tasks_limit"
:
tasks_limit
,
"task_owner"
:
task_owner
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/last_packages_by_tasks"
,
params
)
return
models
.
SiteLastPackagesModel
(
**
data
)
async
def
last_packages_with_cve_fixed
(
self
,
branch
:
str
)
->
models
.
SiteLastPackagesWithCVEFixesModel
:
data
=
await
self
.
client
.
get
(
"/site/last_packages_with_cve_fixed"
,
{
"branch"
:
branch
}
)
return
models
.
SiteLastPackagesWithCVEFixesModel
(
**
data
)
async
def
maintainer_branches
(
self
,
maintainer_nickname
:
str
)
->
models
.
MaintainerBranchesModel
:
data
=
await
self
.
client
.
get
(
"/site/maintainer_branches"
,
{
"maintainer_nickname"
:
maintainer_nickname
}
)
return
models
.
MaintainerBranchesModel
(
**
data
)
async
def
maintainer_packages
(
self
,
branch
:
str
,
maintainer_nickname
:
str
,
by_acl
:
str
=
"none"
,
)
->
models
.
MaintainerPackagesModel
:
data
=
await
self
.
client
.
get
(
"/site/maintainer_packages"
,
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
,
"by_acl"
:
by_acl
,
},
)
return
models
.
MaintainerPackagesModel
(
**
data
)
async
def
package_changelog
(
self
,
pkghash
:
int
,
changelog_last
:
int
=
3
)
->
models
.
SiteChangelogModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_changelog/{pkghash}"
,
{
"changelog_last"
:
changelog_last
}
)
return
models
.
SiteChangelogModel
(
**
data
)
async
def
package_downloads
(
self
,
pkghash
:
int
,
branch
:
str
)
->
models
.
SitePackagesDownloadsModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_downloads/{pkghash}"
,
{
"branch"
:
branch
}
)
return
models
.
SitePackagesDownloadsModel
(
**
data
)
async
def
package_downloads_bin
(
self
,
pkghash
:
int
,
branch
:
str
,
arch
:
str
)
->
models
.
SitePackagesDownloadsModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_downloads_bin/{pkghash}"
,
{
"branch"
:
branch
,
"arch"
:
arch
}
)
return
models
.
SitePackagesDownloadsModel
(
**
data
)
async
def
package_downloads_src
(
self
,
pkghash
:
int
,
branch
:
str
)
->
models
.
SitePackagesDownloadsModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_downloads_src/{pkghash}"
,
{
"branch"
:
branch
}
)
return
models
.
SitePackagesDownloadsModel
(
**
data
)
async
def
package_info_brief
(
self
,
pkghash
:
int
)
->
models
.
SiteBriefPackageInfoModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_info_brief/{pkghash}"
)
return
models
.
SiteBriefPackageInfoModel
(
**
data
)
async
def
package_log_bin
(
self
,
pkghash
:
int
)
->
models
.
BinPackageLogElementModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_log_bin/{pkghash}"
)
return
models
.
BinPackageLogElementModel
(
**
data
)
async
def
package_misconflict
(
self
,
pkghash
:
int
,
branch
:
str
)
->
models
.
PackageMisconflictBySrcModel
:
data
=
await
self
.
client
.
get
(
f
"/site/package_misconflict/{pkghash}"
,
{
"branch"
:
branch
}
)
return
models
.
PackageMisconflictBySrcModel
(
**
data
)
async
def
package_name_from_repology
(
self
,
branch
:
str
,
name
:
str
)
->
models
.
PackageNameFromRepologyModel
:
data
=
await
self
.
client
.
get
(
"/site/package_name_from_repology"
,
{
"branch"
:
branch
,
"name"
:
name
}
)
return
models
.
PackageNameFromRepologyModel
(
**
data
)
async
def
package_nvr_by_hash
(
self
,
pkghash
:
int
,
name
:
str
|
None
=
None
)
->
models
.
PackageNVRByHashModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/site/package_nvr_by_hash/{pkghash}"
,
params
or
None
)
return
models
.
PackageNVRByHashModel
(
**
data
)
async
def
package_versions
(
self
,
name
:
str
,
package_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
arch
:
str
|
None
=
None
,
)
->
models
.
SiteSourcePackagesVersionsModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
"package_type"
:
package_type
,
"arch"
:
arch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/package_versions"
,
params
)
return
models
.
SiteSourcePackagesVersionsModel
(
**
data
)
async
def
package_versions_from_images
(
self
,
name
:
str
,
branch
:
str
,
edition
:
str
,
type
:
str
)
->
models
.
SiteImagePackageVersionsModel
:
data
=
await
self
.
client
.
get
(
"/site/package_versions_from_images"
,
{
"name"
:
name
,
"branch"
:
branch
,
"edition"
:
edition
,
"type"
:
type
},
)
return
models
.
SiteImagePackageVersionsModel
(
**
data
)
async
def
package_versions_from_tasks
(
self
,
name
:
str
,
branch
:
str
|
None
=
None
)
->
models
.
SItePackagesVersionsFromTasksModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"name"
:
name
,
"branch"
:
branch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/package_versions_from_tasks"
,
params
)
return
models
.
SItePackagesVersionsFromTasksModel
(
**
data
)
async
def
packagesets_by_hash
(
self
,
pkghash
:
int
)
->
models
.
SitePackagesetsByHashModel
:
data
=
await
self
.
client
.
get
(
f
"/site/packagesets_by_hash/{pkghash}"
)
return
models
.
SitePackagesetsByHashModel
(
**
data
)
async
def
pkghash_by_nvr
(
self
,
name
:
str
,
branch
:
str
,
version
:
str
,
release
:
str
)
->
models
.
SitePackagesetPackageHashByNameVersionRelease
:
data
=
await
self
.
client
.
get
(
"/site/pkghash_by_nvr"
,
{
"name"
:
name
,
"branch"
:
branch
,
"version"
:
version
,
"release"
:
release
},
)
return
models
.
SitePackagesetPackageHashByNameVersionRelease
(
**
data
)
async
def
pkgset_categories_count
(
self
,
branch
:
str
,
package_type
:
Literal
[
"all"
,
"source"
,
"binary"
]
=
"source"
,
)
->
models
.
SitePackagesetCategoriesModel
:
data
=
await
self
.
client
.
get
(
"/site/pkgset_categories_count"
,
{
"branch"
:
branch
,
"package_type"
:
package_type
},
)
return
models
.
SitePackagesetCategoriesModel
(
**
data
)
async
def
pkgsets_summary_status
(
self
)
->
models
.
SitePackagesetsSummaryStatusModel
:
data
=
await
self
.
client
.
get
(
"/site/pkgsets_summary_status"
)
return
models
.
SitePackagesetsSummaryStatusModel
(
**
data
)
async
def
repocop_by_maintainer
(
self
,
branch
:
str
,
maintainer_nickname
:
str
,
by_acl
:
str
=
"none"
,
)
->
models
.
RepocopByMaintainerModel
:
data
=
await
self
.
client
.
get
(
"/site/repocop_by_maintainer"
,
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
,
"by_acl"
:
by_acl
,
},
)
return
models
.
RepocopByMaintainerModel
(
**
data
)
async
def
repository_packages
(
self
,
branch
:
str
,
package_type
:
Literal
[
"all"
,
"source"
,
"binary"
]
=
"source"
,
group
:
str
|
None
=
None
,
buildtime
:
int
=
0
,
)
->
models
.
SitePackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"package_type"
:
package_type
,
"group"
:
group
,
"buildtime"
:
buildtime
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/repository_packages"
,
params
)
return
models
.
SitePackagesModel
(
**
data
)
async
def
source_package_versions
(
self
,
name
:
str
)
->
models
.
SiteSourcePackagesVersionsModel
:
data
=
await
self
.
client
.
get
(
"/site/source_package_versions"
,
{
"name"
:
name
})
return
models
.
SiteSourcePackagesVersionsModel
(
**
data
)
async
def
tasks_by_maintainer
(
self
,
branch
:
str
,
maintainer_nickname
:
str
)
->
models
.
SiteTaskByNameModel
:
data
=
await
self
.
client
.
get
(
"/site/tasks_by_maintainer"
,
{
"branch"
:
branch
,
"maintainer_nickname"
:
maintainer_nickname
},
)
return
models
.
SiteTaskByNameModel
(
**
data
)
async
def
tasks_by_package
(
self
,
name
:
str
)
->
models
.
SiteTaskByNameModel
:
data
=
await
self
.
client
.
get
(
"/site/tasks_by_package"
,
{
"name"
:
name
})
return
models
.
SiteTaskByNameModel
(
**
data
)
async
def
tasks_history
(
self
,
task_id
:
int
|
None
=
None
)
->
models
.
SiteTasksHistoryModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"task_id"
:
task_id
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/site/tasks_history"
,
params
or
None
)
return
models
.
SiteTasksHistoryModel
(
**
data
)
class
AuthInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
login
(
self
,
nickname
:
str
,
password
:
str
,
auth_provider
:
Literal
[
"ldap"
,
"keycloak"
]
=
"ldap"
,
)
->
models
.
AuthResponseModel
:
data
=
await
self
.
client
.
post
(
"/auth/login"
,
data
=
{
"nickname"
:
nickname
,
"password"
:
password
,
"auth_provider"
:
auth_provider
,
},
)
return
models
.
AuthResponseModel
(
**
data
)
async
def
logout
(
self
)
->
models
.
AuthLogoutResponseModel
:
data
=
await
self
.
client
.
post
(
"/auth/logout"
)
return
models
.
AuthLogoutResponseModel
(
**
data
)
async
def
refresh_token
(
self
,
access_token
:
str
)
->
models
.
AuthResponseModel
:
data
=
await
self
.
client
.
post
(
"/auth/refresh-token"
,
data
=
{
"access_token"
:
access_token
}
)
return
models
.
AuthResponseModel
(
**
data
)
class
DependenciesInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
backport_helper
(
self
,
from_branch
:
str
,
into_branch
:
str
,
packages_names
:
list
[
str
],
dp_type
:
Literal
[
"both"
,
"source"
,
"binary"
]
=
"both"
,
archs
:
list
[
str
]
|
None
=
None
,
)
->
models
.
BackportHelperModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"from_branch"
:
from_branch
,
"into_branch"
:
into_branch
,
"packages_names"
:
packages_names
,
"dp_type"
:
dp_type
,
"archs"
:
archs
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/dependencies/backport_helper"
,
params
)
return
models
.
BackportHelperModel
(
**
data
)
async
def
binary_package_dependencies
(
self
,
pkghash
:
int
)
->
models
.
DependenciesPackageDependenciesModel
:
data
=
await
self
.
client
.
get
(
f
"/dependencies/binary_package_dependencies/{pkghash}"
)
return
models
.
DependenciesPackageDependenciesModel
(
**
data
)
async
def
fast_lookup
(
self
,
branch
:
str
,
dp_name
:
str
,
limit
:
int
=
10
)
->
models
.
FastDependencySearchModel
:
data
=
await
self
.
client
.
get
(
"/dependencies/fast_lookup"
,
{
"branch"
:
branch
,
"dp_name"
:
dp_name
,
"limit"
:
limit
},
)
return
models
.
FastDependencySearchModel
(
**
data
)
async
def
packages_by_dependency
(
self
,
branch
:
str
,
dp_name
:
str
,
dp_type
:
Literal
[
"all"
,
"provide"
,
"require"
,
"conflict"
,
"obsolete"
]
=
"all"
,
last_state
:
bool
=
False
,
)
->
models
.
DependenciesPackagesModel
:
data
=
await
self
.
client
.
get
(
"/dependencies/packages_by_dependency"
,
{
"branch"
:
branch
,
"dp_name"
:
dp_name
,
"dp_type"
:
dp_type
,
"last_state"
:
last_state
,
},
)
return
models
.
DependenciesPackagesModel
(
**
data
)
async
def
source_package_dependencies
(
self
,
pkghash
:
int
,
branch
:
str
,
depth
:
int
=
1
)
->
models
.
DependenciesPackageBuildDependenciesModel
:
data
=
await
self
.
client
.
get
(
f
"/dependencies/source_package_dependencies/{pkghash}"
,
{
"branch"
:
branch
,
"depth"
:
depth
},
)
return
models
.
DependenciesPackageBuildDependenciesModel
(
**
data
)
async
def
what_depends_src
(
self
,
name
:
str
,
branch
:
str
,
dp_type
:
Literal
[
"both"
,
"source"
,
"binary"
]
=
"both"
,
)
->
models
.
PackageBuildDependencyModel
:
data
=
await
self
.
client
.
get
(
"/dependencies/what_depends_src"
,
{
"name"
:
name
,
"branch"
:
branch
,
"dp_type"
:
dp_type
},
)
return
models
.
PackageBuildDependencyModel
(
**
data
)
class
ErrataInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
advisory
(
self
,
branch
:
str
|
None
=
None
,
input
:
str
|
None
=
None
,
page
:
int
|
None
=
None
,
limit
:
int
|
None
=
None
,
sort
:
list
[
str
]
|
None
=
None
,
)
->
models
.
AdvisoryErrataModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"input"
:
input
,
"page"
:
page
,
"limit"
:
limit
,
"sort"
:
sort
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/errata/advisory"
,
params
or
None
)
return
models
.
AdvisoryErrataModel
(
**
data
)
async
def
branches_updates
(
self
,
errata_ids
:
list
[
str
],
exclude_json
:
bool
=
False
)
->
models
.
ErrataBranchesUpdatesModel
:
data
=
await
self
.
client
.
post
(
"/errata/branches_updates"
,
json
=
{
"errata_ids"
:
errata_ids
}
)
return
models
.
ErrataBranchesUpdatesModel
(
**
data
)
async
def
errata_branches
(
self
)
->
models
.
ErrataBranchesModel
:
data
=
await
self
.
client
.
get
(
"/errata/errata_branches"
)
return
models
.
ErrataBranchesModel
(
**
data
)
async
def
export_oval_branches
(
self
)
->
models
.
OvalBranchesModel
:
data
=
await
self
.
client
.
get
(
"/errata/export/oval/branches"
)
return
models
.
OvalBranchesModel
(
**
data
)
async
def
export_oval
(
self
,
branch
:
str
,
package_name
:
str
|
None
=
None
,
one_file
:
bool
=
False
,
)
->
bytes
:
params
=
{
k
:
v
for
k
,
v
in
{
"package_name"
:
package_name
,
"one_file"
:
one_file
,
}
.
items
()
if
v
is
not
None
}
return
await
self
.
client
.
get_bytes
(
f
"/errata/export/oval/{branch}"
,
params
or
None
)
async
def
find_erratas
(
self
,
input
:
list
[
str
]
|
None
=
None
,
branch
:
str
|
None
=
None
,
type
:
Literal
[
"packages"
,
"repository"
,
"bug"
,
"vuln"
,
"exclusion"
]
|
None
=
None
,
page
:
int
|
None
=
None
,
limit
:
int
|
None
=
None
,
state
:
Literal
[
"all"
,
"active"
,
"discarded"
]
=
"all"
,
)
->
models
.
ErrataLastChangedModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"input"
:
input
,
"branch"
:
branch
,
"type"
:
type
,
"page"
:
page
,
"limit"
:
limit
,
"state"
:
state
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/errata/find_erratas"
,
params
or
None
)
return
models
.
ErrataLastChangedModel
(
**
data
)
async
def
find_image_erratas
(
self
,
uuid
:
str
,
branch
:
str
,
component
:
str
|
None
=
None
,
input
:
list
[
str
]
|
None
=
None
,
type
:
Literal
[
"packages"
,
"repository"
,
"bug"
,
"vuln"
,
"exclusion"
]
|
None
=
None
,
page
:
int
|
None
=
None
,
limit
:
int
|
None
=
None
,
is_discarded
:
bool
=
False
,
sort
:
list
[
str
]
|
None
=
None
,
)
->
models
.
ImageErrataModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"uuid"
:
uuid
,
"branch"
:
branch
,
"component"
:
component
,
"input"
:
input
,
"type"
:
type
,
"page"
:
page
,
"limit"
:
limit
,
"is_discarded"
:
is_discarded
,
"sort"
:
sort
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/errata/find_image_erratas"
,
params
)
return
models
.
ImageErrataModel
(
**
data
)
async
def
ids
(
self
)
->
models
.
ErrataIdsListModel
:
data
=
await
self
.
client
.
get
(
"/errata/ids"
)
return
models
.
ErrataIdsListModel
(
**
data
)
async
def
packages_updates
(
self
,
errata_ids
:
list
[
str
],
exclude_json
:
bool
=
False
)
->
models
.
ErrataPackagesUpdatesModel
:
data
=
await
self
.
client
.
post
(
"/errata/packages_updates"
,
json
=
{
"errata_ids"
:
errata_ids
}
)
return
models
.
ErrataPackagesUpdatesModel
(
**
data
)
async
def
search
(
self
,
branch
:
str
|
None
=
None
,
name
:
str
|
None
=
None
,
vuln_id
:
str
|
None
=
None
,
errata_id
:
str
|
None
=
None
,
)
->
models
.
ErratasModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"name"
:
name
,
"vuln_id"
:
vuln_id
,
"errata_id"
:
errata_id
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/errata/search"
,
params
or
None
)
return
models
.
ErratasModel
(
**
data
)
class
ExportInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
beehive_ftbfs
(
self
,
branch
:
str
,
arch
:
str
|
None
=
None
)
->
models
.
ExportBeehiveFTBFSListModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"arch"
:
arch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/export/beehive/ftbfs"
,
params
)
return
models
.
ExportBeehiveFTBFSListModel
(
**
data
)
async
def
branch_binary_packages
(
self
,
branch
:
str
,
arch
:
str
|
None
=
None
)
->
models
.
PackagesetPackagesExportModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"arch"
:
arch
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
f
"/export/branch_binary_packages/{branch}"
,
params
or
None
)
return
models
.
PackagesetPackagesExportModel
(
**
data
)
async
def
branch_tree
(
self
)
->
models
.
BranchTreeModel
:
data
=
await
self
.
client
.
get
(
"/export/branch_tree"
)
return
models
.
BranchTreeModel
(
**
data
)
async
def
repology
(
self
,
branch
:
str
)
->
models
.
RepologyExportModel
:
data
=
await
self
.
client
.
get
(
f
"/export/repology/{branch}"
)
return
models
.
RepologyExportModel
(
**
data
)
async
def
sitemap_packages
(
self
,
branch
:
str
)
->
models
.
SitemapPackagesExportModel
:
data
=
await
self
.
client
.
get
(
f
"/export/sitemap_packages/{branch}"
)
return
models
.
SitemapPackagesExportModel
(
**
data
)
async
def
translation_packages_po_files
(
self
,
branches
:
list
[
str
],
from_date
:
str
|
None
=
None
)
->
bytes
:
params
=
{
k
:
v
for
k
,
v
in
{
"branches"
:
branches
,
"from_date"
:
from_date
,
}
.
items
()
if
v
is
not
None
}
return
await
self
.
client
.
get_bytes
(
"/export/translation/packages_po_files"
,
params
)
class
ImageInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
active_images
(
self
,
branch
:
str
|
None
=
None
,
edition
:
str
|
None
=
None
,
version
:
str
|
None
=
None
,
release
:
str
|
None
=
None
,
variant
:
str
|
None
=
None
,
type
:
str
|
None
=
None
,
)
->
models
.
ActiveImagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"edition"
:
edition
,
"version"
:
version
,
"release"
:
release
,
"variant"
:
variant
,
"type"
:
type
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/active_images"
,
params
or
None
)
return
models
.
ActiveImagesModel
(
**
data
)
async
def
find_images_by_package_name
(
self
,
pkg_name
:
str
,
branch
:
str
|
None
=
None
,
edition
:
str
|
None
=
None
,
pkg_type
:
Literal
[
"source"
,
"binary"
]
=
"source"
,
img_show
:
Literal
[
"active"
,
"all"
]
=
"all"
,
)
->
models
.
FindImagesByPackageModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"pkg_name"
:
pkg_name
,
"branch"
:
branch
,
"edition"
:
edition
,
"pkg_type"
:
pkg_type
,
"img_show"
:
img_show
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/find_images_by_package_name"
,
params
)
return
models
.
FindImagesByPackageModel
(
**
data
)
async
def
image_categories_count
(
self
,
uuid
:
str
,
component
:
str
|
None
=
None
)
->
models
.
SiteImageCategoriesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"uuid"
:
uuid
,
"component"
:
component
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/image_categories_count"
,
params
)
return
models
.
SiteImageCategoriesModel
(
**
data
)
async
def
image_info
(
self
,
branch
:
str
|
None
=
None
,
edition
:
str
|
None
=
None
,
version
:
str
|
None
=
None
,
release
:
str
|
None
=
None
,
variant
:
str
|
None
=
None
,
flavor
:
str
|
None
=
None
,
arch
:
str
|
None
=
None
,
component
:
str
|
None
=
None
,
platform
:
str
|
None
=
None
,
type
:
str
|
None
=
None
,
)
->
models
.
ImageInfoModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"edition"
:
edition
,
"version"
:
version
,
"release"
:
release
,
"variant"
:
variant
,
"flavor"
:
flavor
,
"arch"
:
arch
,
"component"
:
component
,
"platform"
:
platform
,
"type"
:
type
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/image_info"
,
params
or
None
)
return
models
.
ImageInfoModel
(
**
data
)
async
def
image_packages
(
self
,
uuid
:
str
,
group
:
str
|
None
=
None
,
component
:
str
|
None
=
None
)
->
models
.
ImagePackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"uuid"
:
uuid
,
"group"
:
group
,
"component"
:
component
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/image_packages"
,
params
)
return
models
.
ImagePackagesModel
(
**
data
)
async
def
image_packageset
(
self
)
->
models
.
ImagePackageSetModel
:
data
=
await
self
.
client
.
get
(
"/image/image_packageset"
)
return
models
.
ImagePackageSetModel
(
**
data
)
async
def
image_status_get
(
self
)
->
models
.
ImageStatusGetModel
:
data
=
await
self
.
client
.
get
(
"/image/image_status"
)
return
models
.
ImageStatusGetModel
(
**
data
)
async
def
image_status_post
(
self
,
payload
:
dict
)
->
None
:
await
self
.
client
.
post
(
"/image/image_status"
,
json
=
payload
)
async
def
image_tag_status_get
(
self
,
branch
:
str
|
None
=
None
,
edition
:
str
|
None
=
None
)
->
models
.
ImageTagStatusGetModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"edition"
:
edition
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/image_tag_status"
,
params
or
None
)
return
models
.
ImageTagStatusGetModel
(
**
data
)
async
def
image_tag_status_post
(
self
,
payload
:
dict
)
->
None
:
await
self
.
client
.
post
(
"/image/image_tag_status"
,
json
=
payload
)
async
def
image_uuid_by_tag
(
self
,
tag
:
str
)
->
models
.
ImageTagUUIDModel
:
data
=
await
self
.
client
.
get
(
"/image/image_uuid_by_tag"
,
{
"tag"
:
tag
})
return
models
.
ImageTagUUIDModel
(
**
data
)
async
def
inspect_regular
(
self
,
payload
:
dict
)
->
models
.
ImagePackagesInspectRegularModel
:
data
=
await
self
.
client
.
post
(
"/image/inspect/regular"
,
json
=
payload
)
return
models
.
ImagePackagesInspectRegularModel
(
**
data
)
async
def
inspect_sp
(
self
,
payload
:
dict
)
->
models
.
ImagePackagesInspectSPModel
:
data
=
await
self
.
client
.
post
(
"/image/inspect/sp"
,
json
=
payload
)
return
models
.
ImagePackagesInspectSPModel
(
**
data
)
async
def
iso_all_images
(
self
)
->
models
.
ImageAllISOModel
:
data
=
await
self
.
client
.
get
(
"/image/iso/all_images"
)
return
models
.
ImageAllISOModel
(
**
data
)
async
def
last_packages_by_image
(
self
,
branch
:
str
,
uuid
:
str
,
packages_limit
:
int
|
None
=
None
,
component
:
str
|
None
=
None
,
)
->
models
.
LastImagePackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"uuid"
:
uuid
,
"packages_limit"
:
packages_limit
,
"component"
:
component
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/last_packages_by_image"
,
params
)
return
models
.
LastImagePackagesModel
(
**
data
)
async
def
last_packages_image_with_cve_fixed
(
self
,
branch
:
str
,
uuid
:
str
,
packages_limit
:
int
|
None
=
None
,
component
:
str
|
None
=
None
,
)
->
models
.
LastImagePackagesModel
:
params
=
{
k
:
v
for
k
,
v
in
{
"branch"
:
branch
,
"uuid"
:
uuid
,
"packages_limit"
:
packages_limit
,
"component"
:
component
,
}
.
items
()
if
v
is
not
None
}
data
=
await
self
.
client
.
get
(
"/image/last_packages_image_with_cve_fixed"
,
params
)
return
models
.
LastImagePackagesModel
(
**
data
)
class
LicenseInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
license_text
(
self
)
->
str
:
return
await
self
.
client
.
get_text
(
"/license"
)
async
def
info
(
self
,
license
:
str
)
->
models
.
LicenseInfoModel
:
data
=
await
self
.
client
.
get
(
"/license/info"
,
{
"license"
:
license
})
return
models
.
LicenseInfoModel
(
**
data
)
async
def
tokens
(
self
,
license
:
str
)
->
models
.
LicenseTokensModel
:
data
=
await
self
.
client
.
get
(
"/license/tokens"
,
{
"license"
:
license
})
return
models
.
LicenseTokensModel
(
**
data
)
class
VulnInfo
:
def
__init__
(
self
,
client
:
BaseAPI
):
self
.
client
=
client
async
def
bdu
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnerabilityInfoModel
:
data
=
await
self
.
client
.
get
(
"/vuln/bdu"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnerabilityInfoModel
(
**
data
)
async
def
bdu_fixes
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnFixesPackagesModel
:
data
=
await
self
.
client
.
get
(
"/vuln/bdu/fixes"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnFixesPackagesModel
(
**
data
)
async
def
cve
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnerabilityInfoModel
:
data
=
await
self
.
client
.
get
(
"/vuln/cve"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnerabilityInfoModel
(
**
data
)
async
def
cve_excluded
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnFixesPackagesModel
:
data
=
await
self
.
client
.
get
(
"/vuln/cve/excluded"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnFixesPackagesModel
(
**
data
)
async
def
cve_fixes
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnFixesPackagesModel
:
data
=
await
self
.
client
.
get
(
"/vuln/cve/fixes"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnFixesPackagesModel
(
**
data
)
async
def
ghsa
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnerabilityInfoModel
:
data
=
await
self
.
client
.
get
(
"/vuln/ghsa"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnerabilityInfoModel
(
**
data
)
async
def
ghsa_fixes
(
self
,
vuln_id
:
str
,
exclude_json
:
bool
=
False
)
->
models
.
VulnFixesPackagesModel
:
data
=
await
self
.
client
.
get
(
"/vuln/ghsa/fixes"
,
{
"vuln_id"
:
vuln_id
,
"exclude_json"
:
exclude_json
}
)
return
models
.
VulnFixesPackagesModel
(
**
data
)
async
def
task
(
self
,
task_id
:
int
)
->
models
.
CveVulnerableTaskModel
:
data
=
await
self
.
client
.
get
(
f
"/vuln/task/{task_id}"
)
return
models
.
CveVulnerableTaskModel
(
**
data
)
class
ALTRepoAPI
:
class
ALTRepoAPI
:
def
__init__
(
self
,
session
:
aiohttp
.
ClientSession
):
def
__init__
(
self
,
session
:
aiohttp
.
ClientSession
):
...
@@ -292,6 +1824,13 @@ class ALTRepoAPI:
...
@@ -292,6 +1824,13 @@ class ALTRepoAPI:
self
.
bug
=
BugInfo
(
self
.
_client
)
self
.
bug
=
BugInfo
(
self
.
_client
)
self
.
file
=
FileInfo
(
self
.
_client
)
self
.
file
=
FileInfo
(
self
.
_client
)
self
.
site
=
SiteInfo
(
self
.
_client
)
self
.
site
=
SiteInfo
(
self
.
_client
)
self
.
auth
=
AuthInfo
(
self
.
_client
)
self
.
dependencies
=
DependenciesInfo
(
self
.
_client
)
self
.
errata
=
ErrataInfo
(
self
.
_client
)
self
.
export
=
ExportInfo
(
self
.
_client
)
self
.
image
=
ImageInfo
(
self
.
_client
)
self
.
license
=
LicenseInfo
(
self
.
_client
)
self
.
vuln
=
VulnInfo
(
self
.
_client
)
async
def
version
(
self
)
->
models
.
APIVersion
:
async
def
version
(
self
)
->
models
.
APIVersion
:
return
await
self
.
api
.
version
()
return
await
self
.
api
.
version
()
src/altrepo/api/models.py
View file @
4bdd48a2
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
,
Field
from
typing
import
List
,
Dict
,
Any
from
typing
import
List
,
Dict
,
Any
...
@@ -279,6 +279,12 @@ class PackageByFileNameElementModel(BaseModel):
...
@@ -279,6 +279,12 @@ class PackageByFileNameElementModel(BaseModel):
files
:
List
[
str
]
files
:
List
[
str
]
class
PackagesByFileNamesJsonModel
(
BaseModel
):
files
:
List
[
str
]
branch
:
str
arch
:
str
|
None
=
None
class
PackageByFileNameModel
(
BaseModel
):
class
PackageByFileNameModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
request_args
:
Dict
[
str
,
Any
]
length
:
int
length
:
int
...
@@ -402,3 +408,2028 @@ class SitePackagesetPackageHashModel(BaseModel):
...
@@ -402,3 +408,2028 @@ class SitePackagesetPackageHashModel(BaseModel):
class
FindSourcePackageInBranch
(
BaseModel
):
class
FindSourcePackageInBranch
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
request_args
:
Dict
[
str
,
Any
]
source_package
:
str
source_package
:
str
class
AclByPackagesElementModel
(
BaseModel
):
name
:
str
updated
:
str
members
:
List
[
str
]
class
AclByPackagesModel
(
BaseModel
):
branch
:
str
packages
:
List
[
AclByPackagesElementModel
]
class
AclMaintainerGroupsElementModel
(
BaseModel
):
name
:
str
groups
:
List
[
str
]
class
AclMaintainerGroupsModel
(
BaseModel
):
nickname
:
str
branches
:
List
[
AclMaintainerGroupsElementModel
]
class
AuthResponseModel
(
BaseModel
):
access_token
:
str
refresh_token
:
str
class
AuthLogoutResponseModel
(
BaseModel
):
message
:
str
class
BackportHelperBinaryElementModel
(
BaseModel
):
srpm
:
str
name
:
str
epoch
:
int
version
:
str
release
:
str
arch
:
str
class
BackportHelperBinaryDepthElementModel
(
BaseModel
):
depth
:
int
packages
:
List
[
BackportHelperBinaryElementModel
]
class
BackportHelperModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
count
:
int
maxdepth
:
int
dependencies
:
List
[
BackportHelperBinaryDepthElementModel
]
class
DependenciesPackageDependenciesElementModel
(
BaseModel
):
name
:
str
version
:
str
type
:
str
flag
:
int
flag_decoded
:
List
[
str
]
class
DependenciesPackageDependenciesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
dependencies
:
List
[
DependenciesPackageDependenciesElementModel
]
class
DependenciesPackageInfoModel
(
BaseModel
):
name
:
str
epoch
:
int
version
:
str
release
:
str
buildtime
:
int
class
DependenciesPackageInfoElementModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
summary
:
str
pkghash
:
str
class
DependenciesPackageBuildDependenciesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
package_info
:
DependenciesPackageInfoModel
|
None
dependencies
:
List
[
DependenciesPackageDependenciesElementModel
]
provided_by_src
:
List
[
DependenciesPackageInfoElementModel
]
class
FastDependencySearchElementModel
(
BaseModel
):
dp_name
:
str
class
FastDependencySearchModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
dependencies
:
List
[
FastDependencySearchElementModel
]
class
DependenciesAllPackagasetsElementModel
(
BaseModel
):
branch
:
str
count
:
int
class
DependenciesPackagesElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
sourcepackage
:
int
summary
:
str
buildtime
:
int
category
:
str
maintainer
:
str
dp_types
:
List
[
str
]
class
DependenciesPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
DependenciesPackagesElementModel
]
branches
:
List
[
DependenciesAllPackagasetsElementModel
]
class
PackageDependsElementModel
(
BaseModel
):
pkghash
:
str
name
:
str
arch
:
str
dp_name
:
str
dp_version
:
str
dp_flag
:
int
dp_flag_decoded
:
List
[
str
]
class
PackageDependsModel
(
BaseModel
):
requires
:
PackageDependsElementModel
|
None
provides
:
PackageDependsElementModel
|
None
class
PackageBuildDependencyElementModel
(
BaseModel
):
pkghash
:
str
name
:
str
branch
:
str
buildtime
:
str
acl
:
List
[
str
]
depends
:
List
[
PackageDependsModel
]
class
PackageBuildDependencyModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
dependencies
:
List
[
PackageBuildDependencyElementModel
]
class
AdvisoryErrataReferenceModel
(
BaseModel
):
type
:
str
link
:
str
class
AdvisoryErrataPackageVersionRangeModel
(
BaseModel
):
begin
:
str
begin_exclude
:
bool
end
:
str
end_exclude
:
bool
class
AdvisoryErrataJsonModel
(
BaseModel
):
type
:
str
action
:
str
is_public
:
bool
reason
:
str
description
:
str
vuln_id
:
str
vuln_cpe
:
str
branches
:
List
[
str
]
pkg_name
:
str
pkg_evr
:
str
pkg_versions
:
List
[
AdvisoryErrataPackageVersionRangeModel
]
references
:
List
[
AdvisoryErrataReferenceModel
]
extra
:
Dict
[
str
,
Any
]
class
AdvisoryErrataElementModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
id
:
str
type
:
str
created
:
str
updated
:
str
pkgset_name
:
str
task_id
:
int
subtask_id
:
int
task_state
:
str
pkg_hash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
references
:
List
[
AdvisoryErrataReferenceModel
]
json_
:
AdvisoryErrataJsonModel
|
None
=
Field
(
None
,
alias
=
"json"
)
class
AdvisoryErrataModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
erratas
:
List
[
AdvisoryErrataElementModel
]
class
ErrataBranchesModel
(
BaseModel
):
length
:
int
branches
:
List
[
str
]
class
ErrataJsonPostListModel
(
BaseModel
):
errata_ids
:
List
[
str
]
class
ErrataBugModel
(
BaseModel
):
id
:
int
summary
:
str
is_valid
:
bool
class
ErrataVulnerabilityModel
(
BaseModel
):
id
:
str
hash
:
str
type
:
str
summary
:
str
score
:
float
severity
:
str
url
:
str
modified_date
:
str
published_date
:
str
body
:
str
is_valid
:
bool
parsed
:
Dict
[
str
,
Any
]
|
None
class
ErrataPackageUpdateModel
(
BaseModel
):
id
:
str
type
:
str
created
:
str
updated
:
str
pkgset_name
:
str
task_id
:
int
subtask_id
:
int
task_state
:
str
pkg_hash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
bugs
:
List
[
ErrataBugModel
]
vulns
:
List
[
ErrataVulnerabilityModel
]
class
ErrataBranchUpdateModel
(
BaseModel
):
id
:
str
type
:
str
pkgset_name
:
str
pkgset_date
:
str
packages_updates
:
List
[
ErrataPackageUpdateModel
]
class
ErrataBranchesUpdatesModel
(
BaseModel
):
branches_updates
:
List
[
ErrataBranchUpdateModel
]
class
ErrataPackagesUpdatesModel
(
BaseModel
):
packages_updates
:
List
[
ErrataPackageUpdateModel
]
class
OvalBranchesModel
(
BaseModel
):
length
:
int
branches
:
List
[
str
]
class
VulnerabilitiesElementModel
(
BaseModel
):
id
:
str
type
:
str
class
PackagesElementModel
(
BaseModel
):
pkghash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
class
ErrataLastChangedElementModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
is_discarded
:
bool
errata_id
:
str
eh_type
:
str
task_id
:
int
changed
:
str
branch
:
str
json_
:
Dict
[
str
,
Any
]
=
Field
(
default_factory
=
dict
,
alias
=
"json"
)
packages
:
List
[
PackagesElementModel
]
vulnerabilities
:
List
[
VulnerabilitiesElementModel
]
class
ErrataLastChangedModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
erratas
:
List
[
ErrataLastChangedElementModel
]
class
ImageErrataElementModel
(
BaseModel
):
img_hash
:
str
img_version
:
str
img_release
:
str
pkg_name
:
str
pkg_arch
:
str
pkg_hash
:
str
pkg_version
:
str
pkg_release
:
str
summary
:
str
errata_id
:
str
eh_type
:
str
task_id
:
int
changed
:
str
branch
:
str
is_discarded
:
bool
vulnerabilities
:
List
[
VulnerabilitiesElementModel
]
class
ImageErrataModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
erratas
:
List
[
ImageErrataElementModel
]
class
ErrataIdsListModel
(
BaseModel
):
errata_ids
:
List
[
str
]
class
ErrataReferenceModel
(
BaseModel
):
id
:
str
type
:
str
class
ErrataModel
(
BaseModel
):
id
:
str
type
:
str
created
:
str
updated
:
str
pkgset_name
:
str
task_id
:
int
subtask_id
:
int
task_state
:
str
pkg_hash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
references
:
List
[
ErrataReferenceModel
]
class
ErratasModel
(
BaseModel
):
erratas
:
List
[
ErrataModel
]
class
ExportBeehiveFTBFSElementModel
(
BaseModel
):
branch
:
str
hash
:
str
name
:
str
epoch
:
int
version
:
str
release
:
str
arch
:
str
updated
:
str
ftbfs_since
:
str
url
:
str
class
ExportBeehiveFTBFSListModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
ftbfs
:
List
[
ExportBeehiveFTBFSElementModel
]
class
PackagesetPackagesExportElementModel
(
BaseModel
):
name
:
str
epoch
:
int
version
:
str
release
:
str
arch
:
str
disttag
:
str
buildtime
:
int
source
:
str
class
PackagesetPackagesExportModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
PackagesetPackagesExportElementModel
]
class
BranchTreeTaskModel
(
BaseModel
):
id
:
int
prev
:
int
branch
:
str
date
:
str
class
BranchTreeBranchCommitModel
(
BaseModel
):
name
:
str
date
:
str
task
:
int
class
BranchTreeBranchPointModel
(
BaseModel
):
branch
:
str
task
:
BranchTreeTaskModel
|
None
from_task
:
BranchTreeTaskModel
|
None
class
BranchTreeModel
(
BaseModel
):
branches
:
List
[
str
]
tasks
:
List
[
BranchTreeTaskModel
]
branch_commits
:
List
[
BranchTreeBranchCommitModel
]
branch_points
:
List
[
BranchTreeBranchPointModel
]
class
RepologyExportBranchBinaryPackageElementModel
(
BaseModel
):
name
:
str
epoch
:
int
version
:
str
release
:
str
summary
:
str
archs
:
List
[
str
]
class
RepologyExportBranchSourcePackageElementModel
(
BaseModel
):
name
:
str
epoch
:
int
version
:
str
release
:
str
url
:
str
license
:
str
category
:
str
summary
:
str
packager
:
str
homepage
:
str
recipe
:
str
recipe_raw
:
str
bugzilla
:
str
CPE
:
List
[
str
]
binaries
:
List
[
RepologyExportBranchBinaryPackageElementModel
]
class
RepologyExportBranchStatElementModel
(
BaseModel
):
arch
:
str
count
:
int
class
RepologyExportModel
(
BaseModel
):
branch
:
str
date
:
str
stats
:
List
[
RepologyExportBranchStatElementModel
]
packages
:
List
[
RepologyExportBranchSourcePackageElementModel
]
class
SitemapPackagesElementModel
(
BaseModel
):
pkghash
:
str
name
:
str
buildtime
:
int
class
SitemapPackagesExportModel
(
BaseModel
):
branch
:
str
packages
:
List
[
SitemapPackagesElementModel
]
class
FastFileSearchElementModel
(
BaseModel
):
file_name
:
str
class
FastFileSearchModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
files
:
List
[
FastFileSearchElementModel
]
class
ActiveImagesElementModel
(
BaseModel
):
edition
:
str
tags
:
List
[
str
]
class
ActiveImagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
images
:
List
[
ActiveImagesElementModel
]
class
FindImagesByPackageElementModel
(
BaseModel
):
pkghash
:
str
name
:
str
branch
:
str
version
:
str
release
:
str
arch
:
str
edition
:
str
tag
:
str
file
:
str
date
:
str
class
FindImagesByPackageModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
images
:
List
[
FindImagesByPackageElementModel
]
class
SiteImageCategoryElementModel
(
BaseModel
):
category
:
str
count
:
int
class
SiteImageCategoriesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
categories
:
List
[
SiteImageCategoryElementModel
]
class
ImageInfoComponentModel
(
BaseModel
):
name
:
str
size
:
str
packages
:
int
uuid
:
str
ruuid
:
str
kv
:
Dict
[
str
,
Any
]
class
ImageInfoElementModel
(
BaseModel
):
date
:
str
uuid
:
str
tag
:
str
branch
:
str
edition
:
str
flavor
:
str
platform
:
str
release
:
str
version_major
:
int
version_minor
:
int
version_sub
:
int
arch
:
str
variant
:
str
type
:
str
file
:
str
url
:
List
[
str
]
md5sum
:
str
gost12sum
:
str
sha256sum
:
str
components
:
List
[
ImageInfoComponentModel
]
class
ImageInfoModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
images
:
List
[
ImageInfoElementModel
]
class
ImagePackagesElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
summary
:
str
buildtime
:
int
changelog_text
:
str
class
ImagePackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
subcategories
:
List
[
str
]
packages
:
List
[
ImagePackagesElementModel
]
class
ImagePackageSetModel
(
BaseModel
):
length
:
int
branches
:
List
[
str
]
class
ImageStatusGetElementModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
branch
:
str
edition
:
str
name
:
str
show
:
str
start_date
:
str
end_date
:
str
summary_ru
:
str
summary_en
:
str
description_ru
:
str
description_en
:
str
mailing_list
:
str
name_bugzilla
:
str
json_
:
Dict
[
str
,
Any
]
=
Field
(
default_factory
=
dict
,
alias
=
"json"
)
class
ImageStatusGetModel
(
BaseModel
):
images
:
List
[
ImageStatusGetElementModel
]
class
ImageJSONElementModel
(
BaseModel
):
img_edition
:
str
img_name
:
str
img_show
:
str
img_summary_ru
:
str
img_summary_en
:
str
img_start_date
:
str
img_end_date
:
str
img_mailing_list
:
str
img_name_bugzilla
:
str
img_json
:
Dict
[
str
,
Any
]
class
ImageJSONModel
(
BaseModel
):
img_branch
:
str
img_description_ru
:
str
img_description_en
:
str
images
:
List
[
ImageJSONElementModel
]
class
ImageTagStatusGetElementModel
(
BaseModel
):
tag
:
str
show
:
str
class
ImageTagStatusGetModel
(
BaseModel
):
tags
:
List
[
ImageTagStatusGetElementModel
]
class
ImageTagJSONElementModel
(
BaseModel
):
img_tag
:
str
img_show
:
str
class
ImageTagJSONModel
(
BaseModel
):
tags
:
List
[
ImageTagJSONElementModel
]
class
ImageTagUUIDModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
uuid
:
str
file
:
str
type
:
str
components
:
Dict
[
str
,
Any
]
class
ImagePackagesElement1Model
(
BaseModel
):
hash
:
str
arch
:
str
name
:
str
epoch
:
int
version
:
str
release
:
str
disttag
:
str
buildtime
:
int
class
ImagePackagesElement2Model
(
ImagePackagesElement1Model
):
task_id
:
int
subtask_id
:
int
class
ImagePackagesJSONElementModel
(
BaseModel
):
pkg_hash
:
str
pkg_name
:
str
pkg_epoch
:
int
pkg_version
:
str
pkg_release
:
str
pkg_arch
:
str
pkg_disttag
:
str
pkg_buildtime
:
int
class
ImagePackagesJSONModel
(
BaseModel
):
branch
:
str
packages
:
List
[
ImagePackagesJSONElementModel
]
class
ImagePackagesInspectSPPackageModel
(
BaseModel
):
found_in
:
str
version_check
:
str
image
:
ImagePackagesElement1Model
|
None
database
:
ImagePackagesElement1Model
|
None
last_branch
:
ImagePackagesElement1Model
|
None
class
ImagePackagesInspectRegularModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
input_pakages
:
int
not_in_branch
:
int
found_in_tasks
:
int
not_found_in_db
:
int
packages_in_tasks
:
List
[
ImagePackagesElement2Model
]
packages_not_in_db
:
List
[
ImagePackagesElement1Model
]
class
ImagePackagesInspectSPModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
input_pakages
:
int
in_branch
:
int
not_in_branch
:
int
found_in_tasks
:
int
not_found_in_db
:
int
packages
:
List
[
ImagePackagesInspectSPPackageModel
]
class
ImageAllISOElementModel
(
BaseModel
):
branch
:
str
name
:
str
tag
:
str
file
:
str
date
:
str
uuid
:
str
class
ImageAllISOModel
(
BaseModel
):
length
:
int
images
:
List
[
ImageAllISOElementModel
]
class
LastImagePackagesElementModel
(
BaseModel
):
task_id
:
str
task_changed
:
str
tplan_action
:
str
branch
:
str
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
img_hash
:
str
img_version
:
str
img_release
:
str
summary
:
str
chlog_name
:
str
chlog_nick
:
str
chlog_date
:
str
chlog_text
:
str
class
LastImagePackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
LastImagePackagesElementModel
]
class
FindImagesByTaskImageElementModel
(
BaseModel
):
filename
:
str
edition
:
str
tag
:
str
buildtime
:
str
binpkg_name
:
str
binpkg_version
:
str
binpkg_release
:
str
binpkg_arch
:
str
binpkg_hash
:
str
class
FindImagesByTaskIterationElementModel
(
BaseModel
):
task_try
:
int
task_iter
:
int
class
FindImagesByTaskSubtaskElementModel
(
BaseModel
):
id
:
int
type
:
str
srpm_name
:
str
srpm_hash
:
str
pkg_version
:
str
pkg_release
:
str
images
:
List
[
FindImagesByTaskImageElementModel
]
class
FindImagesByTaskModel
(
BaseModel
):
task_id
:
int
task_state
:
str
task_testonly
:
int
task_repo
:
str
task_owner
:
str
task_try
:
int
task_iter
:
int
task_message
:
str
task_changed
:
str
dependencies
:
List
[
int
]
subtasks
:
List
[
FindImagesByTaskSubtaskElementModel
]
iterations
:
List
[
FindImagesByTaskIterationElementModel
]
class
CheckImagesInputFilterModel
(
BaseModel
):
editions
:
List
[
str
]
releases
:
List
[
str
]
versions
:
List
[
str
]
archs
:
List
[
str
]
variants
:
List
[
str
]
types
:
List
[
str
]
class
CheckImagesInputModel
(
BaseModel
):
task_id
:
int
packages_names
:
List
[
str
]
filters
:
List
[
CheckImagesInputFilterModel
]
class
CheckImagesOutputPackageModel
(
BaseModel
):
status
:
str
from_subtask
:
int
srcpkg_name
:
str
binpkg_name
:
str
binpkg_arch
:
str
class
CheckImagesOutputImageModel
(
BaseModel
):
file
:
str
branch
:
str
edition
:
str
flavor
:
str
platform
:
str
release
:
str
major_version
:
int
minor_version
:
int
sub_version
:
int
arch
:
str
variant
:
str
type
:
str
buildtime
:
str
packages
:
List
[
CheckImagesOutputPackageModel
]
class
CheckImagesOutputModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
in_images
:
List
[
CheckImagesOutputImageModel
]
not_in_images
:
List
[
CheckImagesOutputPackageModel
]
class
LicenseInfoModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
id
:
str
name
:
str
text
:
str
type
:
str
header
:
str
comment
:
str
urls
:
List
[
str
]
class
LicenseTokensElementModel
(
BaseModel
):
token
:
str
license
:
str
class
LicenseTokensModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
tokens
:
List
[
LicenseTokensElementModel
]
class
BuildDependencySetAmbiguousProvidesPackageModel
(
BaseModel
):
name
:
str
used
:
bool
class
BuildDependencySetAmbiguousProvidesElementModel
(
BaseModel
):
requires
:
str
provides_count
:
int
provides
:
List
[
BuildDependencySetAmbiguousProvidesPackageModel
]
class
BuildDependencySetAmbiguousProvidesModel
(
BaseModel
):
package
:
str
ambiguous_provides
:
List
[
BuildDependencySetAmbiguousProvidesElementModel
]
class
BuildDependencySetPackageModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
epoch
:
int
archs
:
List
[
str
]
requires
:
List
[
str
]
class
BuildDependencySetPackagesModel
(
BaseModel
):
package
:
str
length
:
int
depends
:
List
[
BuildDependencySetPackageModel
]
class
BuildDependencySetModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
BuildDependencySetPackagesModel
]
ambiguous_dependencies
:
List
[
BuildDependencySetAmbiguousProvidesModel
]
class
PackageFindPackagesetElementModel
(
BaseModel
):
branch
:
str
pkgset_datetime
:
str
sourcepkgname
:
str
packages
:
List
[
str
]
version
:
str
release
:
str
disttag
:
str
packager_email
:
str
buildtime
:
str
archs
:
List
[
str
]
class
PackageFindPackagesetModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
PackageFindPackagesetElementModel
]
class
MaintainerScoreElementModel
(
BaseModel
):
nick
:
str
score
:
float
base_score
:
float
updates
:
int
patches
:
int
nmu
:
int
bugfixes
:
int
bugfixes_with_update
:
int
in_acl
:
bool
last_activity
:
str
recent_commits
:
int
bonus_applied
:
bool
class
MaintainerScoreModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
package
:
str
branch
:
str
primary_maintainer
:
str
status
:
str
maintainers
:
List
[
MaintainerScoreElementModel
]
class
PackageMisconflictPackageModel
(
BaseModel
):
input_package
:
str
conflict_package
:
str
version
:
str
release
:
str
epoch
:
int
archs
:
List
[
str
]
files_with_conflict
:
List
[
str
]
class
PackageMisconflictPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
conflicts
:
List
[
PackageMisconflictPackageModel
]
class
PackageFilesElementModel
(
BaseModel
):
file_name
:
str
file_size
:
str
file_class
:
str
symlink
:
str
file_mtime
:
str
file_mode
:
str
class
PackageFilesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
files
:
List
[
PackageFilesElementModel
]
class
RepocopJsonGetModel
(
BaseModel
):
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
pkg_arch
:
str
branch
:
str
test_name
:
str
test_status
:
str
test_message
:
str
test_date
:
str
class
RepocopJsonGetListModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
RepocopJsonGetModel
]
class
RepocopJsonPostModel
(
BaseModel
):
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
pkg_arch
:
str
pkgset_name
:
str
rc_srcpkg_name
:
str
rc_srcpkg_version
:
str
rc_srcpkg_release
:
str
rc_test_name
:
str
rc_test_status
:
str
rc_test_message
:
str
rc_test_date
:
str
class
RepocopJsonPostListModel
(
BaseModel
):
packages
:
List
[
RepocopJsonPostModel
]
class
PackageSpecfileModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
pkg_hash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
specfile_name
:
str
specfile_date
:
str
specfile_content
:
str
class
UnpackagedDirsElementModel
(
BaseModel
):
package
:
str
directory
:
str
version
:
str
release
:
str
epoch
:
int
packager
:
str
email
:
str
archs
:
List
[
str
]
class
UnpackagedDirsModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
UnpackagedDirsElementModel
]
class
PackagesetComparePackageModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
class
PackagesetCompareElementModel
(
BaseModel
):
pkgset1
:
str
pkgset2
:
str
package1
:
PackagesetComparePackageModel
|
None
package2
:
PackagesetComparePackageModel
|
None
class
PackagesetCompareModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
PackagesetCompareElementModel
]
class
MaintainerScoresBatchMaintainerModel
(
BaseModel
):
nick
:
str
score
:
float
base_score
:
float
updates
:
int
patches
:
int
nmu
:
int
bugfixes
:
int
in_acl
:
bool
last_activity
:
str
recent_commits
:
int
bonus_applied
:
bool
class
MaintainerScoresBatchElementModel
(
BaseModel
):
package
:
str
primary_maintainer
:
str
status
:
str
maintainers
:
List
[
MaintainerScoresBatchMaintainerModel
]
class
MaintainerScoresBatchModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
branch
:
str
length
:
int
packages
:
List
[
MaintainerScoresBatchElementModel
]
class
PackagesByUuidElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
sourcerpm
:
str
summary
:
str
buildtime
:
int
changelog_text
:
str
class
PackagesByUuidModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
PackagesByUuidElementModel
]
class
PackageSetStatusGetElementModel
(
BaseModel
):
branch
:
str
pkgset_name_bugzilla
:
str
start_date
:
str
end_date
:
str
show
:
int
description_ru
:
str
description_en
:
str
url_mailing_list
:
str
mirrors_json
:
Dict
[
str
,
Any
]
has_images
:
int
class
PackageSetStatusGetModel
(
BaseModel
):
branches
:
List
[
PackageSetStatusGetElementModel
]
class
PackageSetStatusPostElementModel
(
BaseModel
):
pkgset_name
:
str
rs_pkgset_name_bugzilla
:
str
rs_start_date
:
str
rs_end_date
:
str
rs_show
:
int
rs_description_ru
:
str
rs_description_en
:
str
rs_mailing_list
:
str
rs_mirrors_json
:
List
[
Dict
[
str
,
Any
]]
class
PackageSetStatusPostModel
(
BaseModel
):
branches
:
List
[
PackageSetStatusPostElementModel
]
class
PackagesetPackagesElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
summary
:
str
url
:
str
license
:
str
category
:
str
maintainers
:
List
[
str
]
acl_list
:
List
[
str
]
archs
:
List
[
str
]
class
PackagesetPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
PackagesetPackagesElementModel
]
done_tasks
:
List
[
int
]
class
SiteAllArchsElementModel
(
BaseModel
):
arch
:
str
count
:
int
class
SiteAllArchsModel
(
BaseModel
):
length
:
int
archs
:
List
[
SiteAllArchsElementModel
]
class
SiteAllPackagasetsElementModel
(
BaseModel
):
branch
:
str
count
:
int
class
SiteAllPackagasetsModel
(
BaseModel
):
length
:
int
branches
:
List
[
SiteAllPackagasetsElementModel
]
class
SiteAllPackagesetsSummaryCountsModel
(
BaseModel
):
arch
:
str
count
:
int
class
SiteAllPackagesetsSummaryBranchesModel
(
BaseModel
):
branch
:
str
packages_count
:
List
[
SiteAllPackagesetsSummaryCountsModel
]
class
SiteAllPackagesetsSummaryModel
(
BaseModel
):
length
:
int
branches
:
List
[
SiteAllPackagesetsSummaryBranchesModel
]
class
SiteBeehiveByMaintainerElementModel
(
BaseModel
):
branch
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
updated
:
str
ftbfs_since
:
str
build_time
:
float
url
:
str
class
SiteBeehiveByMaintainerModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
beehive
:
List
[
SiteBeehiveByMaintainerElementModel
]
class
SitePackageVersionsElementModel
(
BaseModel
):
branch
:
str
version
:
str
release
:
str
pkghash
:
str
deleted
:
bool
class
SitePackagesBinaryListElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
class
SitePackagesBinaryListModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
SitePackagesBinaryListElementModel
]
versions
:
List
[
SitePackageVersionsElementModel
]
class
SiteBinPackageScriptsElementModel
(
BaseModel
):
prein
:
str
postin
:
str
preun
:
str
postun
:
str
pretrans
:
str
posttrans
:
str
class
SiteBinPackageScriptsModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
pkg_name
:
str
pkg_arch
:
str
length
:
int
scripts
:
List
[
SiteBinPackageScriptsElementModel
]
class
SiteDeletedPackageModel
(
BaseModel
):
branch
:
str
package
:
str
version
:
str
release
:
str
hash
:
str
task_id
:
int
subtask_id
:
int
task_owner
:
str
subtask_owner
:
str
task_changed
:
str
task_message
:
str
class
SiteFastPackagesSearchElementModel
(
BaseModel
):
name
:
str
sourcepackage
:
str
branches
:
List
[
str
]
class
SiteFastPackagesSearchModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
SiteFastPackagesSearchElementModel
]
class
SiteFingPackagesPackageModel
(
BaseModel
):
name
:
str
buildtime
:
int
url
:
str
summary
:
str
category
:
str
versions
:
List
[
SitePackageVersionsElementModel
]
by_binary
:
bool
class
SiteFingPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
SiteFingPackagesPackageModel
]
class
SiteLastPackagesElementModel
(
BaseModel
):
subtask_id
:
int
subtask_userid
:
str
subtask_type
:
str
hash
:
str
name
:
str
version
:
str
release
:
str
summary
:
str
buildtime
:
int
changelog_name
:
str
changelog_nickname
:
str
changelog_date
:
str
changelog_text
:
str
class
SiteLastPackagesPackageModel
(
BaseModel
):
task_id
:
int
task_owner
:
str
task_changed
:
str
task_message
:
str
packages
:
List
[
SiteLastPackagesElementModel
]
class
SiteLastPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
tasks
:
List
[
SiteLastPackagesPackageModel
]
last_branch_task
:
int
last_branch_date
:
str
class
SiteLastBranchPackagesPackageModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
summary
:
str
buildtime
:
int
changelog_name
:
str
changelog_nickname
:
str
changelog_date
:
str
changelog_text
:
str
class
SiteLastBranchPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
SiteLastBranchPackagesPackageModel
]
last_branch_date
:
str
class
SiteLastPackagesWithCVEFixesElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
summary
:
str
buildtime
:
int
changelog_date
:
str
changelog_text
:
str
class
SiteLastPackagesWithCVEFixesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
SiteLastPackagesWithCVEFixesElementModel
]
class
MaintainerBranchesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
branches
:
List
[
SiteAllPackagasetsElementModel
]
class
MaintainerPackagesElementModel
(
BaseModel
):
name
:
str
buildtime
:
int
url
:
str
summary
:
str
version
:
str
release
:
str
class
MaintainerPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
MaintainerPackagesElementModel
]
class
SiteChangelogElementModel
(
BaseModel
):
date
:
str
name
:
str
nick
:
str
evr
:
str
message
:
str
class
SiteChangelogModel
(
BaseModel
):
pkghash
:
str
request_args
:
Dict
[
str
,
Any
]
length
:
int
changelog
:
List
[
SiteChangelogElementModel
]
class
SitePackagesDownloadsPackageModel
(
BaseModel
):
name
:
str
url
:
str
md5
:
str
size
:
str
class
SitePackagesDownloadsElementModel
(
BaseModel
):
arch
:
str
packages
:
List
[
SitePackagesDownloadsPackageModel
]
class
SitePackagesDownloadsModel
(
BaseModel
):
pkghash
:
str
request_args
:
Dict
[
str
,
Any
]
downloads
:
List
[
SitePackagesDownloadsElementModel
]
class
SiteBriefPackageInfoModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
arch
:
str
summary
:
str
type
:
str
class
BinPackageLogElementModel
(
BaseModel
):
pkg_hash
:
str
task_id
:
int
subtask_id
:
int
subtask_arch
:
str
buildlog_hash
:
str
link
:
str
class
PackageMisconflictBySrcElementModel
(
BaseModel
):
input_package
:
str
input_archs
:
List
[
str
]
conflict_package
:
str
version
:
str
release
:
str
epoch
:
int
archs
:
List
[
str
]
files_with_conflict
:
List
[
str
]
explicit
:
bool
class
PackageMisconflictBySrcModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
conflicts
:
List
[
PackageMisconflictBySrcElementModel
]
class
PackageNameFromRepologyModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
name
:
str
repo
:
str
class
PackageNVRByHashModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
hash
:
str
name
:
str
version
:
str
release
:
str
is_source
:
bool
class
SiteSourcePackagesVersionsModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
versions
:
List
[
SitePackageVersionsElementModel
]
class
SiteImagePackageVersionsElementModel
(
BaseModel
):
tag
:
str
uuid
:
str
version_major
:
int
version_minor
:
int
version_sub
:
int
img_arch
:
str
platform
:
str
variant
:
str
flavor
:
str
type
:
str
hash
:
str
name
:
str
version
:
str
release
:
str
arch
:
str
class
SiteImagePackageVersionsModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
versions
:
List
[
SiteImagePackageVersionsElementModel
]
class
SItePackagesVersionsFromTasksElementModel
(
BaseModel
):
branch
:
str
task
:
int
hash
:
str
owner
:
str
changed
:
str
name
:
str
version
:
str
release
:
str
class
SItePackagesVersionsFromTasksModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
versions
:
List
[
SItePackagesVersionsFromTasksElementModel
]
class
SitePackagesetsByHashModel
(
BaseModel
):
pkghash
:
str
length
:
int
branches
:
List
[
str
]
class
SitePackagesetPackageHashByNameVersionRelease
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
pkghash
:
str
class
SitePackagesetCategoryElementModel
(
BaseModel
):
category
:
str
count
:
int
class
SitePackagesetCategoriesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
categories
:
List
[
SitePackagesetCategoryElementModel
]
class
SitePackagesetStatusElementModel
(
BaseModel
):
branch
:
str
start_date
:
str
end_date
:
str
show
:
int
description_ru
:
str
description_en
:
str
has_images
:
int
class
SitePackagesetsSummaryStatusModel
(
BaseModel
):
length
:
int
branches
:
List
[
SiteAllPackagesetsSummaryBranchesModel
]
status
:
List
[
SitePackagesetStatusElementModel
]
class
RepocopByMaintainerElementModel
(
BaseModel
):
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
pkg_arch
:
str
srcpkg_name
:
str
branch
:
str
test_name
:
str
test_status
:
str
test_message
:
str
test_date
:
str
class
RepocopByMaintainerModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
RepocopByMaintainerElementModel
]
class
SitePackagesElementModel
(
BaseModel
):
hash
:
str
name
:
str
version
:
str
release
:
str
summary
:
str
buildtime
:
int
category
:
str
maintainer
:
str
changelog
:
str
task_id
:
int
subtask_id
:
int
task_owner
:
str
class
SitePackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
subcategories
:
List
[
str
]
packages
:
List
[
SitePackagesElementModel
]
class
SiteTaskByNamePackageModel
(
BaseModel
):
type
:
str
name
:
str
version
:
str
release
:
str
link
:
str
class
SiteTaskByNameTaskModel
(
BaseModel
):
id
:
int
state
:
str
branch
:
str
owner
:
str
changed
:
str
packages
:
List
[
SiteTaskByNamePackageModel
]
class
SiteTaskByNameModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
tasks
:
List
[
SiteTaskByNameTaskModel
]
class
TasksHistoryBranchCommitModel
(
BaseModel
):
name
:
str
date
:
str
task
:
int
class
TasksHistoryTaskModel
(
BaseModel
):
id
:
int
prev
:
int
branch
:
str
date
:
str
class
SiteTasksHistoryModel
(
BaseModel
):
branches
:
List
[
str
]
tasks
:
List
[
TasksHistoryTaskModel
]
branch_commits
:
List
[
TasksHistoryBranchCommitModel
]
class
AllTasksBranchesModel
(
BaseModel
):
length
:
int
branches
:
List
[
str
]
class
FindTasksElementModel
(
BaseModel
):
task_id
:
int
task_owner
:
str
task_state
:
str
task_repo
:
str
components
:
List
[
str
]
class
FindTasksModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
tasks
:
List
[
FindTasksElementModel
]
class
TaskInfoPackageModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
filename
:
str
class
TaskInfoApprovalsModel
(
BaseModel
):
date
:
str
type
:
str
name
:
str
message
:
str
class
TaskInfoArchsModel
(
BaseModel
):
last_changed
:
str
arch
:
str
status
:
str
class
TaskInfoSubtaskModel
(
BaseModel
):
subtask_id
:
int
last_changed
:
str
userid
:
str
type
:
str
sid
:
str
dir
:
str
package
:
str
tag_author
:
str
tag_name
:
str
tag_id
:
str
srpm
:
str
srpm_name
:
str
srpm_evr
:
str
pkg_from
:
str
source_package
:
TaskInfoPackageModel
|
None
approvals
:
List
[
TaskInfoApprovalsModel
]
archs
:
List
[
TaskInfoArchsModel
]
class
TaskInfoPlanModel
(
BaseModel
):
src
:
List
[
TaskInfoPackageModel
]
bin
:
List
[
TaskInfoPackageModel
]
class
TaskInfoPlan2Model
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
add
:
TaskInfoPlanModel
|
None
del_
:
TaskInfoPlanModel
|
None
=
Field
(
None
,
alias
=
"del"
)
class
TaskInfoModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
id
:
int
prev
:
int
try_
:
int
|
None
=
Field
(
None
,
alias
=
"try"
)
iter
:
int
rebuilds
:
List
[
str
]
state
:
str
branch
:
str
user
:
str
runby
:
str
testonly
:
int
failearly
:
int
shared
:
int
depends
:
List
[
int
]
message
:
str
version
:
str
last_changed
:
str
subtasks
:
List
[
TaskInfoSubtaskModel
]
plan
:
TaskInfoPlan2Model
|
None
class
TaskPackagesPackageElementModel
(
BaseModel
):
name
:
str
epoch
:
int
version
:
str
release
:
str
disttag
:
str
buildtime
:
str
arch
:
str
class
TaskPackagesSubtaskElementModel
(
BaseModel
):
subtask
:
int
source
:
TaskPackagesPackageElementModel
|
None
binaries
:
List
[
TaskPackagesPackageElementModel
]
class
TaskPackagesModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
id
:
int
repo
:
str
owner
:
str
state
:
str
testonly
:
int
try_
:
int
|
None
=
Field
(
None
,
alias
=
"try"
)
iter
:
int
message
:
str
dependencies
:
List
[
int
]
length
:
int
subtasks
:
List
[
TaskPackagesSubtaskElementModel
]
arepo
:
List
[
TaskPackagesPackageElementModel
]
class
TaskDiffDependenciesModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
type
:
str
del_
:
List
[
str
]
=
Field
(
default_factory
=
list
,
alias
=
"del"
)
add
:
List
[
str
]
class
TaskDiffPackagesModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
package
:
str
del_
:
List
[
str
]
=
Field
(
default_factory
=
list
,
alias
=
"del"
)
add
:
List
[
str
]
dependencies
:
List
[
TaskDiffDependenciesModel
]
class
TaskDiffArchsModel
(
BaseModel
):
arch
:
str
packages
:
List
[
TaskDiffPackagesModel
]
class
TaskDiffModel
(
BaseModel
):
task_id
:
int
task_have_plan
:
bool
task_diff
:
List
[
TaskDiffArchsModel
]
class
TaskFindPackagesetElementModel
(
BaseModel
):
branch
:
str
pkgset_datetime
:
str
sourcepkgname
:
str
packages
:
List
[
str
]
version
:
str
release
:
str
disttag
:
str
packager_email
:
str
buildtime
:
str
archs
:
List
[
str
]
class
TaskFindPackagesetModel
(
BaseModel
):
id
:
int
request_args
:
Dict
[
str
,
Any
]
task_packages
:
List
[
str
]
length
:
int
packages
:
List
[
TaskFindPackagesetElementModel
]
class
TaskMisconflictPackageModel
(
BaseModel
):
input_package
:
str
conflict_package
:
str
version
:
str
release
:
str
epoch
:
int
archs
:
List
[
str
]
files_with_conflict
:
List
[
str
]
class
TaskMisconflictPackagesModel
(
BaseModel
):
id
:
int
request_args
:
Dict
[
str
,
Any
]
length
:
int
conflicts
:
List
[
TaskMisconflictPackageModel
]
class
NeedsApprovalSubtaskElementModel
(
BaseModel
):
id
:
int
type
:
str
package
:
str
userid
:
str
dir
:
str
sid
:
str
pkg_from
:
str
tag_author
:
str
tag_id
:
str
tag_name
:
str
srpm
:
str
srpm_name
:
str
srpm_evr
:
str
last_changed
:
str
source_package
:
TaskInfoPackageModel
|
None
class
NeedsApprovalTaskElementModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
id
:
int
state
:
str
runby
:
str
try_
:
int
|
None
=
Field
(
None
,
alias
=
"try"
)
iter
:
int
failearly
:
bool
shared
:
bool
depends
:
List
[
int
]
testonly
:
bool
message
:
str
version
:
str
prev
:
int
last_changed
:
str
branch
:
str
user
:
str
subtasks
:
List
[
NeedsApprovalSubtaskElementModel
]
class
NeedsApprovalModel
(
BaseModel
):
length
:
int
tasks
:
List
[
NeedsApprovalTaskElementModel
]
class
TaskHistoryElementModel
(
BaseModel
):
task_id
:
int
task_commited
:
str
branch_commited
:
str
class
TaskHistoryModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
tasks
:
List
[
TaskHistoryElementModel
]
class
TaskRepoPackageModel
(
BaseModel
):
name
:
str
version
:
str
release
:
str
filename
:
str
class
TaskRepoInfoModel
(
BaseModel
):
name
:
str
date
:
str
tag
:
str
class
TaskRepoArchsModel
(
BaseModel
):
arch
:
str
packages
:
List
[
TaskRepoPackageModel
]
class
TaskRepoModel
(
BaseModel
):
task_id
:
int
base_repository
:
TaskRepoInfoModel
|
None
task_diff_list
:
List
[
int
]
archs
:
List
[
TaskRepoArchsModel
]
class
TaskBuildDependencyElementModel
(
BaseModel
):
depth
:
int
name
:
str
version
:
str
release
:
str
epoch
:
int
serial
:
int
sourcerpm
:
str
branch
:
str
buildtime
:
str
archs
:
List
[
str
]
cycle
:
List
[
str
]
requires
:
List
[
str
]
acl
:
List
[
str
]
class
TaskBuildDependencyModel
(
BaseModel
):
id
:
int
request_args
:
Dict
[
str
,
Any
]
length
:
int
dependencies
:
List
[
TaskBuildDependencyElementModel
]
class
VulnerabilityReferenceElementModel
(
BaseModel
):
name
:
str
url
:
str
tags
:
List
[
str
]
class
VulnerabilityCVSSVectorElementModel
(
BaseModel
):
version
:
str
score
:
float
vector
:
str
class
VulnerabilityConfigurationElementModel
(
BaseModel
):
cpe
:
str
version_start_excluding
:
str
version_start_including
:
str
version_end_excluding
:
str
version_end_including
:
str
class
VulnerabilityParsedDetailsModel
(
BaseModel
):
references
:
List
[
VulnerabilityReferenceElementModel
]
cvss_vectors
:
List
[
VulnerabilityCVSSVectorElementModel
]
configurations
:
List
[
VulnerabilityConfigurationElementModel
]
cwes
:
List
[
str
]
class
VulnerabilityModel
(
BaseModel
):
model_config
=
{
"populate_by_name"
:
True
}
id
:
str
summary
:
str
url
:
str
severity
:
str
score
:
float
published
:
str
modified
:
str
refs
:
List
[
str
]
json_
:
Dict
[
str
,
Any
]
=
Field
(
default_factory
=
dict
,
alias
=
"json"
)
rejected
:
bool
class
VulnerabilityInfoModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
vuln_info
:
VulnerabilityModel
|
None
parsed
:
VulnerabilityParsedDetailsModel
|
None
class
VulnPackageLastVersionModel
(
BaseModel
):
pkghash
:
str
name
:
str
branch
:
str
version
:
str
release
:
str
class
VulnFixesPackagesElementModel
(
BaseModel
):
pkghash
:
str
name
:
str
branch
:
str
version
:
str
release
:
str
errata_id
:
str
task_id
:
int
task_state
:
str
last_version
:
VulnPackageLastVersionModel
|
None
class
VulnFixesPackagesModel
(
BaseModel
):
request_args
:
Dict
[
str
,
Any
]
length
:
int
packages
:
List
[
VulnFixesPackagesElementModel
]
class
CveTaskPackageVulnerableElementModel
(
BaseModel
):
id
:
str
type
:
str
link
:
str
class
CveTaskPackagesElementModel
(
BaseModel
):
subtask
:
int
pkghash
:
str
pkg_name
:
str
pkg_version
:
str
pkg_release
:
str
branch
:
str
errata_id
:
str
errata_link
:
str
vulnerabilities
:
List
[
CveTaskPackageVulnerableElementModel
]
class
CveVulnerableTaskModel
(
BaseModel
):
packages
:
List
[
CveTaskPackagesElementModel
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment