aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc_riak.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_muc_riak.erl')
-rw-r--r--src/mod_muc_riak.erl36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/mod_muc_riak.erl b/src/mod_muc_riak.erl
index bc6e5959a..ada08ace6 100644
--- a/src/mod_muc_riak.erl
+++ b/src/mod_muc_riak.erl
@@ -9,11 +9,15 @@
-module(mod_muc_riak).
-behaviour(mod_muc).
+-behaviour(mod_muc_room).
%% API
--export([init/2, import/2, store_room/4, restore_room/3, forget_room/3,
+-export([init/2, import/3, store_room/4, restore_room/3, forget_room/3,
can_use_nick/4, get_rooms/2, get_nick/3, set_nick/4]).
+-export([set_affiliation/6, set_affiliations/4, get_affiliation/5,
+ get_affiliations/3, search_affiliation/4]).
+-include("jlib.hrl").
-include("mod_muc.hrl").
%%%===================================================================
@@ -101,11 +105,33 @@ set_nick(LServer, Host, From, Nick) ->
end
end}.
-import(_LServer, #muc_room{} = R) ->
- ejabberd_riak:put(R, muc_room_schema());
-import(_LServer, #muc_registered{us_host = {_, Host}, nick = Nick} = R) ->
+set_affiliation(_ServerHost, _Room, _Host, _JID, _Affiliation, _Reason) ->
+ {error, not_implemented}.
+
+set_affiliations(_ServerHost, _Room, _Host, _Affiliations) ->
+ {error, not_implemented}.
+
+get_affiliation(_ServerHost, _Room, _Host, _LUser, _LServer) ->
+ {error, not_implemented}.
+
+get_affiliations(_ServerHost, _Room, _Host) ->
+ {error, not_implemented}.
+
+search_affiliation(_ServerHost, _Room, _Host, _Affiliation) ->
+ {error, not_implemented}.
+
+import(_LServer, <<"muc_room">>,
+ [Name, RoomHost, SOpts, _TimeStamp]) ->
+ Opts = mod_muc:opts_to_binary(ejabberd_sql:decode_term(SOpts)),
+ ejabberd_riak:put(
+ #muc_room{name_host = {Name, RoomHost}, opts = Opts},
+ muc_room_schema());
+import(_LServer, <<"muc_registered">>,
+ [J, RoomHost, Nick, _TimeStamp]) ->
+ #jid{user = U, server = S} = jid:from_string(J),
+ R = #muc_registered{us_host = {{U, S}, RoomHost}, nick = Nick},
ejabberd_riak:put(R, muc_registered_schema(),
- [{'2i', [{<<"nick_host">>, {Nick, Host}}]}]).
+ [{'2i', [{<<"nick_host">>, {Nick, RoomHost}}]}]).
%%%===================================================================
%%% Internal functions