From 3e222fb305d9f2642e9da8273d179aeffd874d69 Mon Sep 17 00:00:00 2001
From: MOIS3Y <s.zhukovskii@ispsystem.com>
Date: Tue, 8 Aug 2023 18:08:53 +0900
Subject: [PATCH] Add: create ticket enpoint

---
 logs_collector/collector/serializers.py |  9 ++++++++-
 logs_collector/collector/urls.py        |  1 +
 logs_collector/collector/views.py       | 11 ++++++++++-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/logs_collector/collector/serializers.py b/logs_collector/collector/serializers.py
index cea0e86..375283d 100644
--- a/logs_collector/collector/serializers.py
+++ b/logs_collector/collector/serializers.py
@@ -1,6 +1,6 @@
 from rest_framework import serializers
 
-from .models import Archive
+from .models import Archive, Ticket
 
 
 class ArchiveUploadSerializer(serializers.ModelSerializer):
@@ -8,3 +8,10 @@ class ArchiveUploadSerializer(serializers.ModelSerializer):
     class Meta:
         model = Archive
         fields = ['file', 'ticket']
+
+
+class TicketSerializer(serializers.ModelSerializer):
+
+    class Meta:
+        model = Ticket
+        fields = ['number', 'platform', 'note']
diff --git a/logs_collector/collector/urls.py b/logs_collector/collector/urls.py
index 727ee62..b1e9085 100644
--- a/logs_collector/collector/urls.py
+++ b/logs_collector/collector/urls.py
@@ -8,6 +8,7 @@ app_name = 'collector'
 
 router = routers.DefaultRouter()
 router.register(r'archives', views.ArchiveUploadViewSet)
+router.register(r'tickets/create', views.TicketCreateViewSet)
 
 
 urlpatterns = [
diff --git a/logs_collector/collector/views.py b/logs_collector/collector/views.py
index 472d7dd..3a04e8c 100644
--- a/logs_collector/collector/views.py
+++ b/logs_collector/collector/views.py
@@ -16,7 +16,7 @@ from .models import Archive, Ticket
 from .forms import TicketForm
 from .utils import PageTitleViewMixin, is_ajax
 
-from .serializers import ArchiveUploadSerializer
+from .serializers import ArchiveUploadSerializer, TicketSerializer
 
 
 class ArchiveHandlerView(LoginRequiredMixin, SingleObjectMixin, generic.View):
@@ -180,3 +180,12 @@ class ArchiveUploadViewSet(mixins.CreateModelMixin, GenericViewSet):
 
     def perform_create(self, serializer):
         serializer.save(user=self.request.user)
+
+
+class TicketCreateViewSet(mixins.CreateModelMixin, GenericViewSet):
+    queryset = Ticket.objects.order_by('-time_create')
+    serializer_class = TicketSerializer
+    # permission_classes = [permissions.IsAuthenticatedOrReadOnly]
+
+    def perform_create(self, serializer):
+        serializer.save(user=self.request.user)