From a54bc86d20848b565ce13879471dc1ad51d27065 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Wed, 5 Feb 2020 18:27:59 +0300 Subject: [PATCH] added documentation for /api/back/establishments/employees/ (GET, POST) --- apps/collection/views/back.py | 2 +- apps/establishment/views/back.py | 56 ++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/apps/collection/views/back.py b/apps/collection/views/back.py index fd45c4a3..5f5088ab 100644 --- a/apps/collection/views/back.py +++ b/apps/collection/views/back.py @@ -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: required fields: * 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 * guide_type (int) - guide type enum: `0 (Restaurant), 1 (Artisan), 2 (Wine)` * site (int) - identifier of site diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index 35eccce1..4ba92e70 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -13,13 +13,13 @@ from account.models import User, Role, UserRole from collection.models import Guide from establishment import filters, models, serializers 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.serialziers import ScheduleCreateSerializer, ScheduleRUDSerializer from utils.methods import get_permission_classes from utils.permissions import (IsEstablishmentAdministrator, IsEstablishmentManager) from utils.views import CreateDestroyGalleryViewMixin -from main import models as main_models -from main import serializers as main_serializers class MenuRUDMixinViews: @@ -483,7 +483,57 @@ class EmailRUDView(generics.RetrieveUpdateDestroyAPIView): 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 serializer_class = serializers.EmployeeBackSerializers queryset = models.Employee.objects.all().distinct().with_back_office_related()