old_console/events/views/elk_string_query_search_api.py
2024-11-02 14:12:45 +03:00

28 lines
950 B
Python

import json
import logging
from rest_framework.response import Response
from rest_framework.views import APIView
from events.services.elk_string_search import ELKStringQuerySearchService, ELKIndexListService
_log = logging.getLogger(__name__)
class ELKStingSearchApiView(APIView):
"""Api for getting data from ELK by index."""
def get(self, request, index: str, *args, **kwargs) -> Response:
query_params = json.loads(json.dumps(request.GET))
_log.debug('Start elastic request.')
data, status = ELKStringQuerySearchService(index=index, query_params=query_params).data()
return Response(data, status)
class ELKIndexListApiView(APIView):
"""Api for getting index list from ELK by pattern or all"""
def get(self, request) -> Response:
query_params = json.loads(json.dumps(request.GET))
data, status = ELKIndexListService(query_params).data()
return Response(data, status)