import logging from django.utils.translation import gettext as _ from django.utils.decorators import method_decorator from django.views.decorators.cache import cache_page from rest_framework.response import Response from rest_framework.permissions import AllowAny from pingcap_sso.api.base import Endpoint from pingcap_sso.lib.organization import search_company logger = logging.getLogger(__name__) @method_decorator(cache_page(60 * 60 * 24), name='dispatch') class SearchCompanyEndpoint(Endpoint): permission_classes = (AllowAny, ) def get(self, request, *args, **kwargs): word = request.GET.get('word', '') if not word: return Response({ 'detail': _('params error'), 'errors': { 'word': [_('this field is required')] } }, status=400) return Response({ 'detail': _('success'), 'data': search_company(word) })