API, optimization: avoid retrieving project twice from the database

This commit is contained in:
Pēteris Caune 2020-06-09 18:51:42 +03:00
parent 0e5d578360
commit fd4d59c4e1
No known key found for this signature in database
GPG Key ID: E28D7679E9A9EDE2

View File

@ -186,7 +186,7 @@ def channels(request):
@authorize_read
def get_check(request, code):
check = get_object_or_404(Check, code=code)
if check.project != request.project:
if check.project_id != request.project.id:
return HttpResponseForbidden()
return JsonResponse(check.to_dict(readonly=request.readonly))
@ -196,7 +196,7 @@ def get_check(request, code):
@authorize
def update_check(request, code):
check = get_object_or_404(Check, code=code)
if check.project != request.project:
if check.project_id != request.project.id:
return HttpResponseForbidden()
try:
@ -211,7 +211,7 @@ def update_check(request, code):
@authorize
def delete_check(request, code):
check = get_object_or_404(Check, code=code)
if check.project != request.project:
if check.project_id != request.project.id:
return HttpResponseForbidden()
response = check.to_dict()
@ -237,7 +237,7 @@ def single(request, code):
@authorize
def pause(request, code):
check = get_object_or_404(Check, code=code)
if check.project != request.project:
if check.project_id != request.project.id:
return HttpResponseForbidden()
check.status = "paused"