# Path: ziggurat_foundations/utils.py
# class PlaceholderPasswordChecker(object):
# class ModelProxy(dict):
# class NOOP(object):
#     def match(self, encoded):
#     def check(self, encoded, password):
#     def __setattr__(self, key, value):
#     def __getattr__(self, key):
#     def __nonzero__(self):
# def generate_random_string(chars=7):


from ziggurat_foundations.utils import noop

        :param result:
        :return:
        """
        return self.service.build_subtree_strut(result=result, *args, **kwargs)

    def path_upper(
        self, object_id, limit_depth=1000000, db_session=None, *args, **kwargs
    ):
        """
        This returns you path to root node starting from object_id
            currently only for postgresql

        :param object_id:
        :param limit_depth:
        :param db_session:
        :return:
        """
        return self.service.path_upper(
            object_id=object_id,
            limit_depth=limit_depth,
            db_session=db_session,
            *args,
            **kwargs
        )

    def move_to_position(
        self,
        resource_id,
        to_position,

# Path: ziggurat_foundations/utils.py
# class PlaceholderPasswordChecker(object):
# class ModelProxy(dict):
# class NOOP(object):
#     def match(self, encoded):
#     def check(self, encoded, password):
#     def __setattr__(self, key, value):
#     def __getattr__(self, key):
#     def __nonzero__(self):
# def generate_random_string(chars=7):


# Path: ziggurat_foundations/models/services/resource_tree.py
from ziggurat_foundations.utils import noop


        :param result:
        :return:
        """
        return self.service.build_subtree_strut(result=result, *args, **kwargs)

    def path_upper(
        self, object_id, limit_depth=1000000, db_session=None, *args, **kwargs
    ):
        """
        This returns you path to root node starting from object_id
            currently only for postgresql

        :param object_id:
        :param limit_depth:
        :param db_session:
        :return:
        """
        return self.service.path_upper(
            object_id=object_id,
            limit_depth=limit_depth,
            db_session=db_session,
            *args,
            **kwargs
        )

    def move_to_position(
        self,
        resource_id,
        to_position,

        new_parent_id=noop,