(current_node)
| 99 | |
| 100 | |
| 101 | def get_max_depth(current_node): |
| 102 | if not current_node: |
| 103 | return 0 |
| 104 | |
| 105 | # 获取所有后代节点 |
| 106 | descendants = current_node.get_descendants() |
| 107 | |
| 108 | if not descendants.exists(): |
| 109 | return 0 |
| 110 | |
| 111 | # 获取最大深度 |
| 112 | max_level = descendants.order_by('-level').first().level |
| 113 | current_level = current_node.level |
| 114 | max_depth = max_level - current_level |
| 115 | |
| 116 | return max_depth |
| 117 | |
| 118 | |
| 119 | def has_target_permission(workspace_id, source, user_id, target): |