added documentation for /api/back/establishments/employees/ (GET, POST)

This commit is contained in:
Anatoly 2020-02-05 18:27:59 +03:00
parent 2151c36d92
commit a54bc86d20
2 changed files with 54 additions and 4 deletions

View File

@ -107,7 +107,7 @@ class GuideListCreateView(GuideBaseView, generics.ListCreateAPIView):
For creating new instance of Guide model, need to pass the following data in the request: For creating new instance of Guide model, need to pass the following data in the request:
required fields: required fields:
* name (str) - guide name * name (str) - guide name
* start (str) - guide start date (datetime in a format `ISO-8601`) * start (str) - guide start datetime (datetime in a format `ISO-8601`)
* vintage (str) - valid year * vintage (str) - valid year
* guide_type (int) - guide type enum: `0 (Restaurant), 1 (Artisan), 2 (Wine)` * guide_type (int) - guide type enum: `0 (Restaurant), 1 (Artisan), 2 (Wine)`
* site (int) - identifier of site * site (int) - identifier of site

View File

@ -13,13 +13,13 @@ from account.models import User, Role, UserRole
from collection.models import Guide from collection.models import Guide
from establishment import filters, models, serializers from establishment import filters, models, serializers
from establishment.models import EstablishmentEmployee, Menu from establishment.models import EstablishmentEmployee, Menu
from main import models as main_models
from main import serializers as main_serializers
from timetable.models import Timetable from timetable.models import Timetable
from timetable.serialziers import ScheduleCreateSerializer, ScheduleRUDSerializer from timetable.serialziers import ScheduleCreateSerializer, ScheduleRUDSerializer
from utils.methods import get_permission_classes from utils.methods import get_permission_classes
from utils.permissions import (IsEstablishmentAdministrator, IsEstablishmentManager) from utils.permissions import (IsEstablishmentAdministrator, IsEstablishmentManager)
from utils.views import CreateDestroyGalleryViewMixin from utils.views import CreateDestroyGalleryViewMixin
from main import models as main_models
from main import serializers as main_serializers
class MenuRUDMixinViews: class MenuRUDMixinViews:
@ -483,7 +483,57 @@ class EmailRUDView(generics.RetrieveUpdateDestroyAPIView):
class EmployeeListCreateView(generics.ListCreateAPIView): class EmployeeListCreateView(generics.ListCreateAPIView):
"""Employee list create view.""" """
## Employee list/create view.
### *GET*
#### Description
Return paginated list of employees with available filters:
* search (`str`) - filter by name or last name with mistakes
* position_id (`int`) - filter by employees position identifier
* public_mark (`str`) - filter by establishment public mark
* toque_number (`str`) - filter by establishment toque number
* username (`str`) - filter by username or name
#### Response
```
{
"count": 12765,
"next": 2,
"previous": null,
"results": [
{
"id": 1,
...
}
{
```
### *POST*
#### Description
Create a new employee.
#### Response
```
{
"id": 1,
...
{
```
#### Request
Required fields:
* available_for_events (bool) - flag that responds for availability for events
Non-required fields:
* name (`str`) - name
* last_name (`str`) - last name
* user (`int`) - user identifier
* sex (`int`) - enum: `0 (Male), 1 (Female)`
* birth_date (`str`) - birth datetime (datetime in a format `ISO-8601`)
* email (`str`) - email address
* phone (`str`) - phone number in format `E164`
* photo_id (`int`) - photo identifier
"""
filter_class = filters.EmployeeBackFilter filter_class = filters.EmployeeBackFilter
serializer_class = serializers.EmployeeBackSerializers serializer_class = serializers.EmployeeBackSerializers
queryset = models.Employee.objects.all().distinct().with_back_office_related() queryset = models.Employee.objects.all().distinct().with_back_office_related()