Merge branch 'develop' of ssh://gl.id-east.ru:222/gm/gm-backend into develop

This commit is contained in:
Александр Пархомин 2020-02-10 10:51:16 +03:00
commit 61a85a645e
2 changed files with 54 additions and 7 deletions

View File

@ -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=[

View File

@ -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