"""Requester validation.""" import json from functools import wraps from typing import Any, Callable from flask import Response, request from assets.constants import error as error_const, field_const def block_alw_and_oa_users( handler_function: Callable[..., Response], ) -> Callable[..., Response]: """Block alw and oa users.""" @wraps(handler_function) def wrapped_handler_function(*args: Any, **kwargs: Any) -> Response: if set(request.headers) & { field_const.GRASS_ACCOUNT_ID, field_const.GRASS_ACCOUNT_TYPE, field_const.ORCHARD_USER_ID, }: return Response( response=json.dumps( { "code": error_const.ERROR_CODE_AUTHORIZATION, "message": "Request not allowed", } ), status=403, ) return handler_function(*args, **kwargs) return wrapped_handler_function