Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
疯人忠
Cvat
提交
be334fde
C
Cvat
项目概览
疯人忠
/
Cvat
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Cvat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
be334fde
编写于
3月 14, 2022
作者:
M
Maria Khrustaleva
提交者:
GitHub
3月 14, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update REST API documentation (#4391)
上级
751937bf
变更
7
展开全部
显示空白变更内容
内联
并排
Showing
7 changed file
with
382 addition
and
346 deletion
+382
-346
README.md
README.md
+4
-0
cvat/apps/engine/views.py
cvat/apps/engine/views.py
+249
-230
cvat/apps/iam/views.py
cvat/apps/iam/views.py
+2
-1
cvat/apps/lambda_manager/views.py
cvat/apps/lambda_manager/views.py
+27
-23
cvat/apps/organizations/views.py
cvat/apps/organizations/views.py
+96
-87
cvat/apps/restrictions/views.py
cvat/apps/restrictions/views.py
+3
-4
cvat/settings/base.py
cvat/settings/base.py
+1
-1
未找到文件。
README.md
浏览文件 @
be334fde
...
@@ -124,6 +124,10 @@ Prebuilt docker images for CVAT releases are available on Docker Hub:
...
@@ -124,6 +124,10 @@ Prebuilt docker images for CVAT releases are available on Docker Hub:
-
[
cvat_server
](
https://hub.docker.com/r/openvino/cvat_server
)
-
[
cvat_server
](
https://hub.docker.com/r/openvino/cvat_server
)
-
[
cvat_ui
](
https://hub.docker.com/r/openvino/cvat_ui
)
-
[
cvat_ui
](
https://hub.docker.com/r/openvino/cvat_ui
)
## REST API
The current REST API version is
`2.0-alpha`
. We focus on its improvement and therefore
REST API may be changed in the next release.
## LICENSE
## LICENSE
Code released under the
[
MIT License
](
https://opensource.org/licenses/MIT
)
.
Code released under the
[
MIT License
](
https://opensource.org/licenses/MIT
)
.
...
...
cvat/apps/engine/views.py
浏览文件 @
be334fde
此差异已折叠。
点击以展开。
cvat/apps/iam/views.py
浏览文件 @
be334fde
...
@@ -79,6 +79,7 @@ class ContextMiddleware:
...
@@ -79,6 +79,7 @@ class ContextMiddleware:
return
self
.
get_response
(
request
)
return
self
.
get_response
(
request
)
@
extend_schema
(
tags
=
[
'auth'
])
@
extend_schema_view
(
post
=
extend_schema
(
@
extend_schema_view
(
post
=
extend_schema
(
summary
=
'This method signs URL for access to the server'
,
summary
=
'This method signs URL for access to the server'
,
description
=
'Signed URL contains a token which authenticates a user on the server.'
description
=
'Signed URL contains a token which authenticates a user on the server.'
...
@@ -89,7 +90,7 @@ class ContextMiddleware:
...
@@ -89,7 +90,7 @@ class ContextMiddleware:
'url'
:
serializers
.
CharField
(),
'url'
:
serializers
.
CharField
(),
}
}
),
),
responses
=
{
'200'
:
OpenApiResponse
(
response
=
OpenApiTypes
.
STR
,
description
=
'text URL'
)}
,
tags
=
[
'auth'
],
versions
=
[
'2.0'
]
))
responses
=
{
'200'
:
OpenApiResponse
(
response
=
OpenApiTypes
.
STR
,
description
=
'text URL'
)}))
class
SigningView
(
views
.
APIView
):
class
SigningView
(
views
.
APIView
):
def
post
(
self
,
request
):
def
post
(
self
,
request
):
...
...
cvat/apps/lambda_manager/views.py
浏览文件 @
be334fde
...
@@ -630,14 +630,16 @@ def return_response(success_code=status.HTTP_200_OK):
...
@@ -630,14 +630,16 @@ def return_response(success_code=status.HTTP_200_OK):
return
func_wrapper
return
func_wrapper
return
wrap_response
return
wrap_response
@
extend_schema_view
(
retrieve
=
extend_schema
(
@
extend_schema
(
tags
=
[
'lambda'
])
@
extend_schema_view
(
retrieve
=
extend_schema
(
summary
=
'Method returns the information about the function'
,
summary
=
'Method returns the information about the function'
,
responses
=
{
responses
=
{
'200'
:
OpenApiResponse
(
response
=
OpenApiTypes
.
OBJECT
,
description
=
'Information about the function'
),
'200'
:
OpenApiResponse
(
response
=
OpenApiTypes
.
OBJECT
,
description
=
'Information about the function'
),
}
,
})
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
]))
list
=
extend_schema
(
@
extend_schema_view
(
list
=
extend_schema
(
summary
=
'Method returns a list of functions'
)
summary
=
'Method returns a list of functions'
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
])
)
)
class
FunctionViewSet
(
viewsets
.
ViewSet
):
class
FunctionViewSet
(
viewsets
.
ViewSet
):
lookup_value_regex
=
'[a-zA-Z0-9_.-]+'
lookup_value_regex
=
'[a-zA-Z0-9_.-]+'
lookup_field
=
'func_id'
lookup_field
=
'func_id'
...
@@ -672,21 +674,23 @@ class FunctionViewSet(viewsets.ViewSet):
...
@@ -672,21 +674,23 @@ class FunctionViewSet(viewsets.ViewSet):
return
lambda_func
.
invoke
(
db_task
,
request
.
data
)
return
lambda_func
.
invoke
(
db_task
,
request
.
data
)
@
extend_schema_view
(
retrieve
=
extend_schema
(
@
extend_schema
(
tags
=
[
'lambda'
])
@
extend_schema_view
(
retrieve
=
extend_schema
(
summary
=
'Method returns the status of the request'
,
summary
=
'Method returns the status of the request'
,
parameters
=
[
parameters
=
[
# specify correct type
# specify correct type
OpenApiParameter
(
'id'
,
location
=
OpenApiParameter
.
PATH
,
type
=
OpenApiTypes
.
INT
,
OpenApiParameter
(
'id'
,
location
=
OpenApiParameter
.
PATH
,
type
=
OpenApiTypes
.
INT
,
description
=
'Request id'
),
description
=
'Request id'
),
]
,
])
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
]))
list
=
extend_schema
(
@
extend_schema_view
(
list
=
extend_schema
(
summary
=
'Method returns a list of requests'
),
summary
=
'Method returns a list of requests'
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
]))
#TODO
#TODO
create
=
extend_schema
(
@
extend_schema_view
(
create
=
extend_schema
(
summary
=
'Method calls the function'
),
summary
=
'Method calls the function'
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
]))
delete
=
extend_schema
(
@
extend_schema_view
(
delete
=
extend_schema
(
summary
=
'Method cancels the request'
)
summary
=
'Method cancels the request'
,
tags
=
[
'lambda'
],
versions
=
[
'2.0'
])
)
)
class
RequestViewSet
(
viewsets
.
ViewSet
):
class
RequestViewSet
(
viewsets
.
ViewSet
):
iam_organization_field
=
None
iam_organization_field
=
None
serializer_class
=
None
serializer_class
=
None
...
...
cvat/apps/organizations/views.py
浏览文件 @
be334fde
# Copyright (C) 2021 Intel Corporation
# Copyright (C) 2021
-2022
Intel Corporation
#
#
# SPDX-License-Identifier: MIT
# SPDX-License-Identifier: MIT
...
@@ -17,36 +17,39 @@ from .serializers import (
...
@@ -17,36 +17,39 @@ from .serializers import (
MembershipReadSerializer
,
MembershipWriteSerializer
,
MembershipReadSerializer
,
MembershipWriteSerializer
,
OrganizationReadSerializer
,
OrganizationWriteSerializer
)
OrganizationReadSerializer
,
OrganizationWriteSerializer
)
@
extend_schema_view
(
retrieve
=
extend_schema
(
@
extend_schema
(
tags
=
[
'organizations'
])
@
extend_schema_view
(
retrieve
=
extend_schema
(
summary
=
'Method returns details of an organization'
,
summary
=
'Method returns details of an organization'
,
responses
=
{
responses
=
{
'200'
:
OrganizationReadSerializer
,
'200'
:
OrganizationReadSerializer
,
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
list
=
extend_schema
(
list
=
extend_schema
(
summary
=
'Method returns a paginated list of organizatins according to query parameters'
,
summary
=
'Method returns a paginated list of organizatins according to query parameters'
,
responses
=
{
responses
=
{
'200'
:
OrganizationReadSerializer
(
many
=
True
),
'200'
:
OrganizationReadSerializer
(
many
=
True
),
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
update
=
extend_schema
(
update
=
extend_schema
(
summary
=
'Method updates an organization by id'
,
summary
=
'Method updates an organization by id'
,
responses
=
{
responses
=
{
'200'
:
OrganizationWriteSerializer
,
'200'
:
OrganizationWriteSerializer
,
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
partial_update
=
extend_schema
(
partial_update
=
extend_schema
(
summary
=
'Methods does a partial update of chosen fields in an organization'
,
summary
=
'Methods does a partial update of chosen fields in an organization'
,
responses
=
{
responses
=
{
'200'
:
OrganizationWriteSerializer
,
'200'
:
OrganizationWriteSerializer
,
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
create
=
extend_schema
(
create
=
extend_schema
(
summary
=
'Method creates an organization'
,
summary
=
'Method creates an organization'
,
responses
=
{
responses
=
{
'201'
:
OrganizationWriteSerializer
,
'201'
:
OrganizationWriteSerializer
,
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
destroy
=
extend_schema
(
destroy
=
extend_schema
(
summary
=
'Method deletes an organization'
,
summary
=
'Method deletes an organization'
,
responses
=
{
responses
=
{
'204'
:
OpenApiResponse
(
description
=
'The organization has been deleted'
),
'204'
:
OpenApiResponse
(
description
=
'The organization has been deleted'
),
},
tags
=
[
'organizations'
],
versions
=
[
'2.0'
]))
})
)
class
OrganizationViewSet
(
viewsets
.
ModelViewSet
):
class
OrganizationViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Organization
.
objects
.
all
()
queryset
=
Organization
.
objects
.
all
()
search_fields
=
(
'name'
,
'owner'
)
search_fields
=
(
'name'
,
'owner'
)
...
@@ -78,31 +81,35 @@ class OrganizationViewSet(viewsets.ModelViewSet):
...
@@ -78,31 +81,35 @@ class OrganizationViewSet(viewsets.ModelViewSet):
class
Meta
:
class
Meta
:
model
=
Membership
model
=
Membership
fields
=
(
"user"
,
)
fields
=
(
"user"
,
)
@
extend_schema_view
(
retrieve
=
extend_schema
(
@
extend_schema
(
tags
=
[
'memberships'
])
@
extend_schema_view
(
retrieve
=
extend_schema
(
summary
=
'Method returns details of a membership'
,
summary
=
'Method returns details of a membership'
,
responses
=
{
responses
=
{
'200'
:
MembershipReadSerializer
,
'200'
:
MembershipReadSerializer
,
},
tags
=
[
'memberships'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
list
=
extend_schema
(
list
=
extend_schema
(
summary
=
'Method returns a paginated list of memberships according to query parameters'
,
summary
=
'Method returns a paginated list of memberships according to query parameters'
,
responses
=
{
responses
=
{
'200'
:
MembershipReadSerializer
(
many
=
True
),
'200'
:
MembershipReadSerializer
(
many
=
True
),
},
tags
=
[
'memberships'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
update
=
extend_schema
(
update
=
extend_schema
(
summary
=
'Method updates a membership by id'
,
summary
=
'Method updates a membership by id'
,
responses
=
{
responses
=
{
'200'
:
MembershipWriteSerializer
,
'200'
:
MembershipWriteSerializer
,
},
tags
=
[
'memberships'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
partial_update
=
extend_schema
(
partial_update
=
extend_schema
(
summary
=
'Methods does a partial update of chosen fields in a membership'
,
summary
=
'Methods does a partial update of chosen fields in a membership'
,
responses
=
{
responses
=
{
'200'
:
MembershipWriteSerializer
,
'200'
:
MembershipWriteSerializer
,
},
tags
=
[
'memberships'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
destroy
=
extend_schema
(
destroy
=
extend_schema
(
summary
=
'Method deletes a membership'
,
summary
=
'Method deletes a membership'
,
responses
=
{
responses
=
{
'204'
:
OpenApiResponse
(
description
=
'The membership has been deleted'
),
'204'
:
OpenApiResponse
(
description
=
'The membership has been deleted'
),
},
tags
=
[
'memberships'
],
versions
=
[
'2.0'
]))
})
)
class
MembershipViewSet
(
mixins
.
RetrieveModelMixin
,
mixins
.
DestroyModelMixin
,
class
MembershipViewSet
(
mixins
.
RetrieveModelMixin
,
mixins
.
DestroyModelMixin
,
mixins
.
ListModelMixin
,
mixins
.
UpdateModelMixin
,
viewsets
.
GenericViewSet
):
mixins
.
ListModelMixin
,
mixins
.
UpdateModelMixin
,
viewsets
.
GenericViewSet
):
queryset
=
Membership
.
objects
.
all
()
queryset
=
Membership
.
objects
.
all
()
...
@@ -125,37 +132,39 @@ class MembershipViewSet(mixins.RetrieveModelMixin, mixins.DestroyModelMixin,
...
@@ -125,37 +132,39 @@ class MembershipViewSet(mixins.RetrieveModelMixin, mixins.DestroyModelMixin,
permission
=
MembershipPermission
.
create_scope_list
(
self
.
request
)
permission
=
MembershipPermission
.
create_scope_list
(
self
.
request
)
return
permission
.
filter
(
queryset
)
return
permission
.
filter
(
queryset
)
# TODO
@
extend_schema
(
tags
=
[
'invitations'
])
@
extend_schema_view
(
retrieve
=
extend_schema
(
@
extend_schema_view
(
retrieve
=
extend_schema
(
summary
=
'Method returns details of an invitation'
,
summary
=
'Method returns details of an invitation'
,
responses
=
{
responses
=
{
'200'
:
InvitationReadSerializer
,
'200'
:
InvitationReadSerializer
,
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
list
=
extend_schema
(
list
=
extend_schema
(
summary
=
'Method returns a paginated list of invitations according to query parameters'
,
summary
=
'Method returns a paginated list of invitations according to query parameters'
,
responses
=
{
responses
=
{
'200'
:
InvitationReadSerializer
(
many
=
True
),
'200'
:
InvitationReadSerializer
(
many
=
True
),
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
update
=
extend_schema
(
update
=
extend_schema
(
summary
=
'Method updates an invitation by id'
,
summary
=
'Method updates an invitation by id'
,
responses
=
{
responses
=
{
'200'
:
InvitationWriteSerializer
,
'200'
:
InvitationWriteSerializer
,
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
partial_update
=
extend_schema
(
partial_update
=
extend_schema
(
summary
=
'Methods does a partial update of chosen fields in an invitation'
,
summary
=
'Methods does a partial update of chosen fields in an invitation'
,
responses
=
{
responses
=
{
'200'
:
InvitationWriteSerializer
,
'200'
:
InvitationWriteSerializer
,
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
create
=
extend_schema
(
create
=
extend_schema
(
summary
=
'Method creates an invitation'
,
summary
=
'Method creates an invitation'
,
responses
=
{
responses
=
{
'201'
:
InvitationWriteSerializer
,
'201'
:
InvitationWriteSerializer
,
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
}),
@
extend_schema_view
(
destroy
=
extend_schema
(
destroy
=
extend_schema
(
summary
=
'Method deletes an invitation'
,
summary
=
'Method deletes an invitation'
,
responses
=
{
responses
=
{
'204'
:
OpenApiResponse
(
description
=
'The invitation has been deleted'
),
'204'
:
OpenApiResponse
(
description
=
'The invitation has been deleted'
),
},
tags
=
[
'invitations'
],
versions
=
[
'2.0'
]))
})
)
class
InvitationViewSet
(
viewsets
.
ModelViewSet
):
class
InvitationViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Invitation
.
objects
.
all
()
queryset
=
Invitation
.
objects
.
all
()
http_method_names
=
[
'get'
,
'post'
,
'patch'
,
'delete'
,
'head'
,
'options'
]
http_method_names
=
[
'get'
,
'post'
,
'patch'
,
'delete'
,
'head'
,
'options'
]
...
...
cvat/apps/restrictions/views.py
浏览文件 @
be334fde
...
@@ -13,6 +13,7 @@ from drf_spectacular.utils import OpenApiResponse, extend_schema
...
@@ -13,6 +13,7 @@ from drf_spectacular.utils import OpenApiResponse, extend_schema
from
cvat.apps.restrictions.serializers
import
UserAgreementSerializer
from
cvat.apps.restrictions.serializers
import
UserAgreementSerializer
@
extend_schema
(
tags
=
[
'restrictions'
])
class
RestrictionsViewSet
(
viewsets
.
ViewSet
):
class
RestrictionsViewSet
(
viewsets
.
ViewSet
):
serializer_class
=
None
serializer_class
=
None
permission_classes
=
[
AllowAny
]
permission_classes
=
[
AllowAny
]
...
@@ -26,8 +27,7 @@ class RestrictionsViewSet(viewsets.ViewSet):
...
@@ -26,8 +27,7 @@ class RestrictionsViewSet(viewsets.ViewSet):
@
staticmethod
@
staticmethod
@
extend_schema
(
summary
=
'Method provides user agreements that the user must accept to register'
,
@
extend_schema
(
summary
=
'Method provides user agreements that the user must accept to register'
,
responses
=
{
'200'
:
UserAgreementSerializer
},
responses
=
{
'200'
:
UserAgreementSerializer
})
tags
=
[
'restrictions'
],
versions
=
[
'2.0'
])
@
action
(
detail
=
False
,
methods
=
[
'GET'
],
serializer_class
=
UserAgreementSerializer
,
url_path
=
'user-agreements'
)
@
action
(
detail
=
False
,
methods
=
[
'GET'
],
serializer_class
=
UserAgreementSerializer
,
url_path
=
'user-agreements'
)
def
user_agreements
(
request
):
def
user_agreements
(
request
):
user_agreements
=
settings
.
RESTRICTIONS
[
'user_agreements'
]
user_agreements
=
settings
.
RESTRICTIONS
[
'user_agreements'
]
...
@@ -37,8 +37,7 @@ class RestrictionsViewSet(viewsets.ViewSet):
...
@@ -37,8 +37,7 @@ class RestrictionsViewSet(viewsets.ViewSet):
@
staticmethod
@
staticmethod
@
extend_schema
(
summary
=
'Method provides CVAT terms of use'
,
@
extend_schema
(
summary
=
'Method provides CVAT terms of use'
,
responses
=
{
'200'
:
OpenApiResponse
(
description
=
'CVAT terms of use'
)},
responses
=
{
'200'
:
OpenApiResponse
(
description
=
'CVAT terms of use'
)})
tags
=
[
'restrictions'
],
versions
=
[
'2.0'
])
@
action
(
detail
=
False
,
methods
=
[
'GET'
],
renderer_classes
=
(
TemplateHTMLRenderer
,),
@
action
(
detail
=
False
,
methods
=
[
'GET'
],
renderer_classes
=
(
TemplateHTMLRenderer
,),
url_path
=
'terms-of-use'
)
url_path
=
'terms-of-use'
)
def
terms_of_use
(
request
):
def
terms_of_use
(
request
):
...
...
cvat/settings/base.py
浏览文件 @
be334fde
...
@@ -501,7 +501,7 @@ SPECTACULAR_SETTINGS = {
...
@@ -501,7 +501,7 @@ SPECTACULAR_SETTINGS = {
# Statically set schema version. May also be an empty string. When used together with
# Statically set schema version. May also be an empty string. When used together with
# view versioning, will become '0.0.0 (v2)' for 'v2' versioned requests.
# view versioning, will become '0.0.0 (v2)' for 'v2' versioned requests.
# Set VERSION to None if only the request version should be rendered.
# Set VERSION to None if only the request version should be rendered.
'VERSION'
:
None
,
'VERSION'
:
'alpha'
,
'CONTACT'
:
{
'CONTACT'
:
{
'name'
:
'Nikita Manovich'
,
'name'
:
'Nikita Manovich'
,
'url'
:
'https://github.com/nmanovic'
,
'url'
:
'https://github.com/nmanovic'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录