Skip to content

Commit 11bd44b

Browse files
committed
Refactored dsym endpoints to reuse code
1 parent baf861e commit 11bd44b

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/sentry/api/endpoints/dsym_files.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
ERR_FILE_EXISTS = 'A file matching this uuid already exists'
1616

1717

18+
def upload_from_request(request, project=None):
19+
if 'file' not in request.FILES:
20+
return Response({'detail': 'Missing uploaded file'}, status=400)
21+
fileobj = request.FILES['file']
22+
files = create_files_from_macho_zip(fileobj, project=project)
23+
return Response(serialize(files, request.user), status=201)
24+
25+
1826
class ConditionalContentNegotiation(DefaultContentNegotiation):
1927
"""
2028
Overrides the parsers on POST to support file uploads.
@@ -79,22 +87,18 @@ def post(self, request, project):
7987
:param file file: the multipart encoded file.
8088
:auth: required
8189
"""
82-
if 'file' not in request.FILES:
83-
return Response({'detail': 'Missing uploaded file'}, status=400)
90+
return upload_from_request(request, project=project)
8491

85-
fileobj = request.FILES['file']
8692

87-
files = create_files_from_macho_zip(fileobj, project)
93+
class GlobalDSymFilesEndpoint(Endpoint):
94+
permission_classes = (SystemPermission,)
8895

89-
return Response(serialize(files, request.user), status=201)
96+
def post(self, request):
97+
return upload_from_request(request, project=None)
9098

9199

92-
class GlobalDSymFilesEndpoint(Endpoint):
100+
class UnknownDSymFilesEndpoint(Endpoint):
93101
permission_classes = (SystemPermission,)
94102

95103
def post(self, request):
96-
if 'file' not in request.FILES:
97-
return Response({'detail': 'Missing uploaded file'}, status=400)
98-
fileobj = request.FILES['file']
99-
files = create_files_from_macho_zip(fileobj)
100-
return Response(serialize(files, request.user), status=201)
104+
return upload_from_request(request, project=None)

0 commit comments

Comments
 (0)