summaryrefslogtreecommitdiff
path: root/src/fabric_info.erl
blob: 95408b6f52398f4f5bd17f11426e0b9f7a49c0bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-module(fabric_info).

-export([all_databases/1]).

-include("../../couch/src/couch_db.hrl").

%% @doc gets all databases in the cluster.
-spec all_databases(binary() | []) -> [binary()].
all_databases([]) ->
    Dbs = ets:foldl(fun({DbName, _}, Acc0) ->
        [DbName | Acc0]
    end, [], dbs_cache),
    {ok, Dbs};
all_databases(Customer) ->
    ?debugFmt("~nCustomer: ~p~n", [Customer]),
    Dbs = ets:foldl(fun({DbName, _}, Acc0) ->
        DbNameStr = ?b2l(DbName),
        case string:str(DbNameStr, Customer) of
        1 -> [DbNameStr | Acc0];
        _ -> Acc0
        end
    end, [], dbs_cache),
    {ok, Dbs}.