def METHOD_NAME(self, *required_properties: str) -> t.Callable[[TFun], TFun]:
    """Set per-view function restrictions.
    Decorate flask view functions with this decorator to specify properties
    a user must have in order to access the view function.
    :param required_properties: Names of the properties that are
    required.
    """
    view_properties = required_properties
    def decorator(f: TFun) -> TFun:
        endpoint = bake_endpoint(self.blueprint, f)
        self.endpoint_properties_map[endpoint] = view_properties
        f.required_properties = view_properties  # type: ignore[attr-defined]
        return f
    return decorator