from rest_framework.decorators import api_view

from app.api import api
from app.api.response_builder import ResponseBuilder
from app.user_employment.company import Company


@api_view(['GET'])
def get_companies(request):
    response_builder = ResponseBuilder()

    search_text = request.GET.get('search_text')
    if not search_text or len(search_text) < 3:
        return response_builder.get_bad_request_response(api.INVALID_INPUT)

    # page, offset, page_size = get_page_request_fields(request)

    companies = Company.get_companies(search_text)
    # paginated_prompts, page_info = get_page(companies, page, offset, page_size)

    serialized_companies = Company.get_all_serialized(companies)
    result = {
        'companies': serialized_companies,
        # **page_info
    }

    return response_builder.success().ok_200().message('Companies fetched').result_object(result).get_response()
