From 83e8053e9f4800e33c06a121aebef90a683758ae Mon Sep 17 00:00:00 2001 From: Anatoly Date: Mon, 10 Feb 2020 10:49:22 +0300 Subject: [PATCH] Added documentation for the method --- apps/gallery/serializers.py | 8 +++--- apps/gallery/views.py | 53 +++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/apps/gallery/serializers.py b/apps/gallery/serializers.py index 2667d7bc..ed77c4cb 100644 --- a/apps/gallery/serializers.py +++ b/apps/gallery/serializers.py @@ -125,11 +125,9 @@ class EstablishmentGallerySerializer(serializers.ModelSerializer): class CropImageSerializer(ImageSerializer): """Serializers for image crops.""" - width = serializers.IntegerField(write_only=True, required=False) - height = serializers.IntegerField(write_only=True, required=False) - crop = serializers.CharField(write_only=True, - required=False, - default='center') + width = serializers.IntegerField(write_only=True) + height = serializers.IntegerField(write_only=True) + crop = serializers.CharField(write_only=True, help_text='Crop coordinates') quality = serializers.IntegerField(write_only=True, required=False, default=settings.THUMBNAIL_QUALITY, validators=[ diff --git a/apps/gallery/views.py b/apps/gallery/views.py index da0cac21..a6b60b41 100644 --- a/apps/gallery/views.py +++ b/apps/gallery/views.py @@ -101,7 +101,27 @@ class MediaUpdateView(ImageBaseView, generics.UpdateAPIView, generics.DestroyAPI class ImageRetrieveDestroyView(ImageBaseView, generics.RetrieveDestroyAPIView): - """Destroy view for model Image""" + """ + ## Retrieve/Destroy view. + ### *GET* + #### Description + Retrieve serialized instance of Image model by image identifier. + #### Response + E.g.: + ``` + { + "id": 1, + ... + } + ``` + ### *DELETE* + #### Description + Delete an image (DB record and storage object) by image identifier. + ##### Response + ``` + No content + ``` + """ def delete(self, request, *args, **kwargs): """Override destroy view""" @@ -114,5 +134,34 @@ class ImageRetrieveDestroyView(ImageBaseView, generics.RetrieveDestroyAPIView): class CropImageCreateView(ImageBaseView, generics.CreateAPIView): - """Create crop image.""" + """ + ## Create view + ### *POST* + #### Description + Create crop of an existing image by an identifier of image and parameters in request data. + ##### Request + Required + * width (`int`) - width of cropped image + * height (`int`) - height of cropped image + * crop (`str`) - crop coordinates (e.g.: `100px 200px`) + + Non-required + * quality (`int`) - image quality, by default - `settings.THUMBNAIL_QUALITY` (85%) + * certain_aspect (`str`) - certain aspect, by default - + ``` + (x2 - x1) + x + (y2 - y1) + ``` + > where x, y is coordinates parsed from `crop` parameter + ##### Response + E.g.: + ``` + { + "id": 1, + ... + } + ``` + """ + serializer_class = serializers.CropImageSerializer