Skip to content

Commit 6aab1d1

Browse files
committed
Merge pull request #634 from helgi/simpler_view_create
ref(views): consolidate all views::create handling into one create function
2 parents 3027406 + 7a7bb4e commit 6aab1d1

1 file changed

Lines changed: 4 additions & 14 deletions

File tree

rootfs/api/views.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ class BaseDeisViewSet(viewsets.OwnerViewSet):
152152
def create(self, request, *args, **kwargs):
153153
try:
154154
return super(BaseDeisViewSet, self).create(request, *args, **kwargs)
155+
except AlreadyExists as e:
156+
return Response({'detail': str(e)}, status=status.HTTP_409_CONFLICT)
157+
except EnvironmentError as e:
158+
return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST)
155159
# If the scheduler oopsie'd
156160
except KubeException as e:
157161
return Response({'detail': str(e)}, status=status.HTTP_503_SERVICE_UNAVAILABLE)
@@ -192,14 +196,6 @@ class AppViewSet(BaseDeisViewSet):
192196
def get_queryset(self, *args, **kwargs):
193197
return self.model.objects.all(*args, **kwargs)
194198

195-
def create(self, request, **kwargs):
196-
try:
197-
return super(AppViewSet, self).create(request, **kwargs)
198-
except AlreadyExists as e:
199-
return Response({'detail': str(e)}, status=status.HTTP_409_CONFLICT)
200-
except EnvironmentError as e:
201-
return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST)
202-
203199
def list(self, request, *args, **kwargs):
204200
"""
205201
HACK: Instead of filtering by the queryset, we limit the queryset to list only the apps
@@ -292,12 +288,6 @@ class ConfigViewSet(ReleasableViewSet):
292288
model = models.Config
293289
serializer_class = serializers.ConfigSerializer
294290

295-
def create(self, request, **kwargs):
296-
try:
297-
return super(ConfigViewSet, self).create(request, **kwargs)
298-
except EnvironmentError as e:
299-
return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST)
300-
301291
def post_save(self, config):
302292
release = config.app.release_set.latest()
303293
self.release = release.new(self.request.user, config=config, build=release.build)

0 commit comments

Comments
 (0)