from flask import g from auth.auth_view import RegisteredAuthorizedView from services.recent_search.schemas import recent_search_item_response, recent_search_query_params from services.recent_search.recent_search_service import RecentSearchesService from flask_apispec import marshal_with, doc, use_kwargs @doc(tags=["GlobalSearch"]) class RecentSearchesView(RegisteredAuthorizedView): recent_searches_service = RecentSearchesService() @doc(description='Retrieve recent search items') @use_kwargs(recent_search_query_params, location='query') @marshal_with(recent_search_item_response(many=True), code=200, description='Recent search items') @marshal_with(schema=None, code=401, description='User is not authenticated.') def get(self, params): return self.recent_searches_service.get_recent_searches(g.user_id, params)