diff options
| author | Pouriya <pouriya.jahanbakhsh@gmail.com> | 2021-09-18 16:09:11 +0430 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-18 16:09:11 +0430 |
| commit | 3eb795357ff2278fa641608f442c9800d74c9c0a (patch) | |
| tree | 9592f786ad76e91b442fcf9a83cdd609ede3a9c2 /src/nodetree_tree.erl | |
| parent | ref: fix WS typos (diff) | |
| parent | Fix previous commit: add forgotten endline blankspaces (diff) | |
Merge branch 'processone:master' into master
Diffstat (limited to 'src/nodetree_tree.erl')
| -rw-r--r-- | src/nodetree_tree.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/nodetree_tree.erl b/src/nodetree_tree.erl index fe15f3323..853c1fb93 100644 --- a/src/nodetree_tree.erl +++ b/src/nodetree_tree.erl @@ -46,7 +46,8 @@ -export([init/3, terminate/2, options/0, set_node/1, get_node/3, get_node/2, get_node/1, get_nodes/2, - get_nodes/1, get_parentnodes/3, get_parentnodes_tree/3, + get_nodes/1, get_all_nodes/1, + get_parentnodes/3, get_parentnodes_tree/3, get_subnodes/3, get_subnodes_tree/3, create_node/6, delete_node/2]). @@ -98,6 +99,14 @@ get_nodes(Host, Limit) -> {Nodes, _} -> Nodes end. +get_all_nodes({_U, _S, _R} = Owner) -> + Host = jid:tolower(jid:remove_resource(Owner)), + mnesia:match_object(#pubsub_node{nodeid = {Host, '_'}, _ = '_'}); +get_all_nodes(Host) -> + mnesia:match_object(#pubsub_node{nodeid = {Host, '_'}, _ = '_'}) + ++ mnesia:match_object(#pubsub_node{nodeid = {{'_', Host, '_'}, '_'}, + _ = '_'}). + get_parentnodes(Host, Node, _From) -> case catch mnesia:read({pubsub_node, {Host, Node}}) of [Record] when is_record(Record, pubsub_node) -> |
