from rest_framework.response import Response
from utils.paginations import LimitOffsetPagination


class CatchPhrasePagination(LimitOffsetPagination):
    default_limit = 10
    limit_query_param = 'limit'
    offset_query_param = 'offset'
    max_limit = 100

    def get_paginated_response(self, data):
        return Response({
            "count": len(data.get("calls", [])),
            "total_calls": self.count,
            "next": self.get_next_link(),
            "previous": self.get_previous_link(),
            **data
        })
