1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-09 02:42:47 +00:00

[api] seperate UpdatelinkView from UploadLinkView

This commit is contained in:
lins05
2013-04-02 15:09:33 +08:00
parent a8fd3e8104
commit c9914d60ee
2 changed files with 26 additions and 13 deletions

View File

@@ -333,6 +333,26 @@ class DownloadRepo(APIView):
return Response(info_json)
class UploadLinkView(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',
'upload',
request.user.username)
url = gen_file_upload_url(token, 'upload-api')
return Response(url)
class UpdateLinkView(APIView):
authentication_classes = (TokenAuthentication, )
permission_classes = (IsAuthenticated, )
throttle_classes = (UserRateThrottle, )
@@ -344,19 +364,11 @@ 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',
request.user.username)
url = gen_file_upload_url(token, 'upload-api')
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)