done "GM-377"
This commit is contained in:
parent
6987daeea4
commit
530cfc44be
|
|
@ -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.:
|
||||
```
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user