mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 01:44:13 +00:00
ADD: /via-repo-token/repo-info/ (#4248)
* ADD: /via-repo-token/repo-info/ * MOD: remove `via_repo_url` in GET /via-repo-token/repo-info/'s response
This commit is contained in:
@@ -67,8 +67,8 @@ class ViaRepoDirView(APIView):
|
|||||||
|
|
||||||
return dir_info
|
return dir_info
|
||||||
|
|
||||||
def get(self, request, repo_id, format=None):
|
def get(self, request, format=None):
|
||||||
|
repo_id = request.repo_api_token_obj.repo_id
|
||||||
# argument check
|
# argument check
|
||||||
recursive = request.GET.get('recursive', '0')
|
recursive = request.GET.get('recursive', '0')
|
||||||
if recursive not in ('1', '0'):
|
if recursive not in ('1', '0'):
|
||||||
@@ -194,7 +194,8 @@ class ViaRepoDirView(APIView):
|
|||||||
|
|
||||||
return Response(response_dict)
|
return Response(response_dict)
|
||||||
|
|
||||||
def post(self, request, repo_id, format=None):
|
def post(self, request, format=None):
|
||||||
|
repo_id = request.repo_api_token_obj.repo_id
|
||||||
# argument check
|
# argument check
|
||||||
path = request.GET.get('path', None)
|
path = request.GET.get('path', None)
|
||||||
if not path or path[0] != '/':
|
if not path or path[0] != '/':
|
||||||
@@ -341,7 +342,8 @@ class ViaRepoUploadLinkView(APIView):
|
|||||||
permission_classes = (IsAuthenticated,)
|
permission_classes = (IsAuthenticated,)
|
||||||
throttle_classes = (UserRateThrottle,)
|
throttle_classes = (UserRateThrottle,)
|
||||||
|
|
||||||
def get(self, request, repo_id, format=None):
|
def get(self, request, format=None):
|
||||||
|
repo_id = request.repo_api_token_obj.repo_id
|
||||||
# recourse check
|
# recourse check
|
||||||
repo = seafile_api.get_repo(repo_id)
|
repo = seafile_api.get_repo(repo_id)
|
||||||
if not repo:
|
if not repo:
|
||||||
@@ -383,3 +385,21 @@ class ViaRepoUploadLinkView(APIView):
|
|||||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||||
|
|
||||||
return Response(url)
|
return Response(url)
|
||||||
|
|
||||||
|
|
||||||
|
class RepoInfoView(APIView):
|
||||||
|
authentication_classes = (RepoAPITokenAuthentication, SessionAuthentication)
|
||||||
|
permission_classes = (IsAuthenticated,)
|
||||||
|
throttle_classes = (UserRateThrottle,)
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
repo_id = request.repo_api_token_obj.repo_id
|
||||||
|
repo = seafile_api.get_repo(repo_id)
|
||||||
|
if not repo:
|
||||||
|
error_msg = _('Library %(repo_id)s not found.' % {'repo_id': repo_id})
|
||||||
|
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
||||||
|
data = {
|
||||||
|
'repo_id': repo.id,
|
||||||
|
'repo_name': repo.name,
|
||||||
|
}
|
||||||
|
return Response(data)
|
||||||
|
@@ -88,7 +88,7 @@ from seahub.api2.endpoints.markdown_lint import MarkdownLintView
|
|||||||
from seahub.api2.endpoints.public_repos_search import PublishedRepoSearchView
|
from seahub.api2.endpoints.public_repos_search import PublishedRepoSearchView
|
||||||
from seahub.api2.endpoints.recent_added_files import RecentAddedFilesView
|
from seahub.api2.endpoints.recent_added_files import RecentAddedFilesView
|
||||||
from seahub.api2.endpoints.repo_api_tokens import RepoAPITokensView, RepoAPITokenView
|
from seahub.api2.endpoints.repo_api_tokens import RepoAPITokensView, RepoAPITokenView
|
||||||
from seahub.api2.endpoints.via_repo_token import ViaRepoDirView, ViaRepoUploadLinkView
|
from seahub.api2.endpoints.via_repo_token import ViaRepoDirView, ViaRepoUploadLinkView, RepoInfoView
|
||||||
from seahub.api2.endpoints.abuse_reports import AbuseReportsView
|
from seahub.api2.endpoints.abuse_reports import AbuseReportsView
|
||||||
|
|
||||||
# Admin
|
# Admin
|
||||||
@@ -368,8 +368,9 @@ urlpatterns = [
|
|||||||
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/repo-api-tokens/(?P<app_name>.*)/$', RepoAPITokenView.as_view(), name='api-v2.1-repo-api-token'),
|
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/repo-api-tokens/(?P<app_name>.*)/$', RepoAPITokenView.as_view(), name='api-v2.1-repo-api-token'),
|
||||||
|
|
||||||
## access repo from repo_api_tokens
|
## access repo from repo_api_tokens
|
||||||
url(r'^api/v2.1/via-repo-token/(?P<repo_id>[-0-9a-f]{36})/dir/$', ViaRepoDirView.as_view(), name='via-repo-dir'),
|
url(r'^api/v2.1/via-repo-token/dir/$', ViaRepoDirView.as_view(), name='via-repo-dir'),
|
||||||
url(r'^api/v2.1/via-repo-token/(?P<repo_id>[-0-9a-f]{36})/upload-link/$', ViaRepoUploadLinkView.as_view(), name='via-upload-link'),
|
url(r'^api/v2.1/via-repo-token/upload-link/$', ViaRepoUploadLinkView.as_view(), name='via-upload-link'),
|
||||||
|
url(r'^api/v2.1/via-repo-token/repo-info/$', RepoInfoView.as_view(), name='via-fetch-repo'),
|
||||||
|
|
||||||
# user::related-files
|
# user::related-files
|
||||||
url(r'^api/v2.1/related-files/$', RelatedFilesView.as_view(), name='api-v2.1-related-files'),
|
url(r'^api/v2.1/related-files/$', RelatedFilesView.as_view(), name='api-v2.1-related-files'),
|
||||||
|
Reference in New Issue
Block a user