done "GM-377"

This commit is contained in:
Anatoly 2020-02-10 16:56:11 +03:00
parent 6987daeea4
commit 530cfc44be
2 changed files with 145 additions and 5 deletions

View File

@ -1273,7 +1273,8 @@ class EstablishmentNoteListCreateView(EstablishmentMixinViews,
## List/Create view
### *GET*
#### Description
Return paginated list of establishment notes by `establishment slug`
Return paginated list of establishment notes by `establishment slug`.
Establishments would filter by country code.
##### Response
E.g.:
```
@ -1335,7 +1336,8 @@ class EstablishmentNoteRUDView(EstablishmentMixinViews,
## Retrieve/Update/Destroy view
### *GET*
#### Description
Return paginated list of establishment notes by `establishment slug`
Return paginated list of establishment notes by `establishment slug`.
Establishments would filter by country code.
##### Response
E.g.:
```

View File

@ -11,8 +11,49 @@ from utils.permissions import IsEstablishmentManager, IsEstablishmentAdministrat
class PartnerLstView(generics.ListCreateAPIView):
"""Partner list/create view.
Allows to get partners for current country, or create a new one.
"""
## List/Create view
### *GET*
#### Description
Return non-paginated queryset. Available filters:
* establishment () - filter by establishment identifier
* type (`enum`) - filter by partner type
```
Partner - 0
Sponsor - 1
```
* ordering (`str`) - set ordering by `partner_bind_date` field
##### Response
E.g.:
```
[
{
"id": 1,
...
}
]
```
### *POST*
#### Description
Create new partner
##### Request
Available:
* name (`str`) - partner name
* images (`list`) - array of an images
* type (`int`) - partner type
```
Partner - 0
Sponsor - 1
```
* country_id (`int`) - identifier of country
##### Response
E.g.:
```
{
"id": 1,
...
}
```
"""
queryset = Partner.objects.with_base_related()
serializer_class = serializers.BackPartnerSerializer
@ -25,6 +66,29 @@ class PartnerLstView(generics.ListCreateAPIView):
class EstablishmentPartners(generics.ListAPIView):
"""
## List view
### *GET*
#### Description
Return non-paginated list of establishment partners
by `establishment slug`.
Ordering by a field - `partner_bind_date` (descending).
Available ordering fields: `__all__`
Available filters:
* type (`int`) - partner type
```
Partner - 0
Sponsor - 1
```
#### Response
E.g.:
```
{
"id": 1,
...
}
```
"""
queryset = PartnerToEstablishment.objects.with_base_related()
serializer_class = serializers.PartnersForEstablishmentSerializer
pagination_class = None
@ -42,7 +106,49 @@ class EstablishmentPartners(generics.ListAPIView):
class PartnerRUDView(generics.RetrieveUpdateDestroyAPIView):
"""Partner RUD view."""
"""
## Retrieve/Update/Destroy view
### *GET*
#### Description
Return serialized object of partner
##### Response
E.g.:
```
{
"id": 1,
...
}
```
### *PUT*/*PATCH*
#### Description
Completely/Partially update a partner object.
##### Request
Available:
* name (`str`) - partner name
* images (`list`) - array of images
* type (`int`) - partner type
```
Partner - 0
Sponsor - 1
```
* country_id (`int`) - identifier of country
##### Response
E.g.:
```
{
"id": 1,
...
}
```
### *DELETE*
#### Description
Delete a partner
##### Response
E.g.:
```
No content
```
"""
queryset = Partner.objects.with_base_related()
serializer_class = serializers.BackPartnerSerializer
lookup_field = 'id'
@ -63,6 +169,24 @@ class PartnerPicturesListView(generics.RetrieveAPIView):
class BindPartnerToEstablishmentView(generics.CreateAPIView):
"""
## Binding a partner to establishment
### *POST*
#### Description
Bind existing partner to an establishment.
##### Request
In `URL kwargs`:
* partner_id (`int`) - identifier of a partner
* establishment_id (`int`) - identifier of an establishment
##### Response
E.g.:
```
{
"id": 1,
...
}
```
"""
serializer_class = serializers.PartnersForEstablishmentSerializer
permission_classes = get_permission_classes(
IsEstablishmentManager,
@ -71,6 +195,20 @@ class BindPartnerToEstablishmentView(generics.CreateAPIView):
class UnbindPartnerFromEstablishmentView(generics.DestroyAPIView):
"""
## Unbinding a partner from establishment
### *DELETE*
#### Description
Unbind an existing partner from an establishment.
##### Request
In `URL kwargs`:
* partner_id (`int`) - identifier of a partner
* establishment_id (`int`) - identifier of an establishment
##### Response
```
No content
```
"""
serializer_class = serializers.PartnersForEstablishmentSerializer
permission_classes = get_permission_classes(
IsEstablishmentManager,