mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-09 10:50:24 +00:00
[api] seperate UpdatelinkView from UploadLinkView
This commit is contained in:
@@ -14,6 +14,7 @@ urlpatterns = patterns('',
|
||||
url(r'^repos/(?P<repo_id>[-0-9a-f]{36})/$', Repo.as_view()),
|
||||
url(r'^repos/(?P<repo_id>[-0-9a-f]{36})/download-info/$', DownloadRepo.as_view()),
|
||||
url(r'^repos/(?P<repo_id>[-0-9a-f]{36})/upload-link/$', UploadLinkView.as_view()),
|
||||
url(r'^repos/(?P<repo_id>[-0-9a-f]{36})/update-link/$', UpdateLinkView.as_view()),
|
||||
url(r'^repos/(?P<repo_id>[-0-9-a-f]{36})/file/$', FileView.as_view(), name='FileView'),
|
||||
url(r'^repos/(?P<repo_id>[-0-9-a-f]{36})/file/shared-link/$', FileSharedLinkView.as_view()),
|
||||
url(r'^repos/(?P<repo_id>[-0-9-a-f]{36})/dir/$', DirView.as_view(), name='DirView'),
|
||||
|
@@ -344,14 +344,6 @@ class UploadLinkView(APIView):
|
||||
if check_quota(repo_id) < 0:
|
||||
return api_error(HTTP_520_OPERATION_FAILED, 'Above quota')
|
||||
|
||||
update = request.GET.get('update', None)
|
||||
if update == 'true':
|
||||
token = seafserv_rpc.web_get_access_token(repo_id,
|
||||
'dummy',
|
||||
'update',
|
||||
request.user.username)
|
||||
url = gen_file_upload_url(token, 'update-api')
|
||||
else:
|
||||
token = seafserv_rpc.web_get_access_token(repo_id,
|
||||
'dummy',
|
||||
'upload',
|
||||
@@ -360,6 +352,26 @@ class UploadLinkView(APIView):
|
||||
|
||||
return Response(url)
|
||||
|
||||
class UpdateLinkView(APIView):
|
||||
authentication_classes = (TokenAuthentication, )
|
||||
permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
|
||||
def get(self, request, repo_id, format=None):
|
||||
if check_permission(repo_id, request.user.username) != 'rw':
|
||||
return api_error(status.HTTP_403_FORBIDDEN, "Can not access repo")
|
||||
|
||||
if check_quota(repo_id) < 0:
|
||||
return api_error(HTTP_520_OPERATION_FAILED, 'Above quota')
|
||||
|
||||
token = seafserv_rpc.web_get_access_token(repo_id,
|
||||
'dummy',
|
||||
'update',
|
||||
request.user.username)
|
||||
url = gen_file_upload_url(token, 'update-api')
|
||||
|
||||
return Response(url)
|
||||
|
||||
def get_file_size (id):
|
||||
size = seafserv_threaded_rpc.get_file_size(id)
|
||||
return size if size else 0
|
||||
|
Reference in New Issue
Block a user