from flask import Blueprint from flask_apispec import doc, marshal_with, use_kwargs from http import HTTPStatus from src.db.users.search import search_users from src.schemas.users.search import UsersSearch blueprint = Blueprint("users_search", __name__) @blueprint.route("/users/search/", methods=["GET"]) @doc("Find DSP users by term and/or service ID.") @use_kwargs(UsersSearch.Request, location="query") @marshal_with(UsersSearch.Response, code=HTTPStatus.OK, apply=False) @marshal_with(None, code=HTTPStatus.UNAUTHORIZED, description="Authentication failed") @marshal_with(None, code=HTTPStatus.BAD_REQUEST, description="Bad request") def get_users_search(**data): return {"items": search_users(**data)}