|
|
@@ -46,6 +46,10 @@
|
|
|
|
|
|
-type(appsecret() :: binary()).
|
|
|
|
|
|
+-include("emqx_mgmt.hrl").
|
|
|
+
|
|
|
+-rlog_shard({?MANAGEMENT_SHARD, mqtt_app}).
|
|
|
+
|
|
|
%%--------------------------------------------------------------------
|
|
|
%% Mnesia Bootstrap
|
|
|
%%--------------------------------------------------------------------
|
|
|
@@ -102,7 +106,7 @@ add_app(AppId, Name, Secret, Desc, Status, Expired) when is_binary(AppId) ->
|
|
|
_ -> mnesia:abort(alread_existed)
|
|
|
end
|
|
|
end,
|
|
|
- case mnesia:transaction(AddFun) of
|
|
|
+ case ekka_mnesia:transaction(?MANAGEMENT_SHARD, AddFun) of
|
|
|
{atomic, ok} -> {ok, Secret1};
|
|
|
{aborted, Reason} -> {error, Reason}
|
|
|
end.
|
|
|
@@ -116,7 +120,7 @@ force_add_app(AppId, Name, Secret, Desc, Status, Expired) ->
|
|
|
status = Status,
|
|
|
expired = Expired})
|
|
|
end,
|
|
|
- case mnesia:transaction(AddFun) of
|
|
|
+ case ekka_mnesia:transaction(?MANAGEMENT_SHARD, AddFun) of
|
|
|
{atomic, ok} -> ok;
|
|
|
{aborted, Reason} -> {error, Reason}
|
|
|
end.
|
|
|
@@ -154,7 +158,8 @@ lookup_app(AppId) when is_binary(AppId) ->
|
|
|
update_app(AppId, Status) ->
|
|
|
case mnesia:dirty_read(mqtt_app, AppId) of
|
|
|
[App = #mqtt_app{}] ->
|
|
|
- case mnesia:transaction(fun() -> mnesia:write(App#mqtt_app{status = Status}) end) of
|
|
|
+ Fun = fun() -> mnesia:write(App#mqtt_app{status = Status}) end,
|
|
|
+ case ekka_mnesia:transaction(?MANAGEMENT_SHARD, Fun) of
|
|
|
{atomic, ok} -> ok;
|
|
|
{aborted, Reason} -> {error, Reason}
|
|
|
end;
|
|
|
@@ -166,10 +171,12 @@ update_app(AppId, Status) ->
|
|
|
update_app(AppId, Name, Desc, Status, Expired) ->
|
|
|
case mnesia:dirty_read(mqtt_app, AppId) of
|
|
|
[App = #mqtt_app{}] ->
|
|
|
- case mnesia:transaction(fun() -> mnesia:write(App#mqtt_app{name = Name,
|
|
|
- desc = Desc,
|
|
|
- status = Status,
|
|
|
- expired = Expired}) end) of
|
|
|
+ case ekka_mnesia:transaction(
|
|
|
+ ?MANAGEMENT_SHARD,
|
|
|
+ fun() -> mnesia:write(App#mqtt_app{name = Name,
|
|
|
+ desc = Desc,
|
|
|
+ status = Status,
|
|
|
+ expired = Expired}) end) of
|
|
|
{atomic, ok} -> ok;
|
|
|
{aborted, Reason} -> {error, Reason}
|
|
|
end;
|
|
|
@@ -179,7 +186,7 @@ update_app(AppId, Name, Desc, Status, Expired) ->
|
|
|
|
|
|
-spec(del_app(appid()) -> ok | {error, term()}).
|
|
|
del_app(AppId) when is_binary(AppId) ->
|
|
|
- case mnesia:transaction(fun mnesia:delete/1, [{mqtt_app, AppId}]) of
|
|
|
+ case ekka_mnesia:transaction(?MANAGEMENT_SHARD, fun mnesia:delete/1, [{mqtt_app, AppId}]) of
|
|
|
{atomic, Ok} -> Ok;
|
|
|
{aborted, Reason} -> {error, Reason}
|
|
|
end.
|
|
|
@@ -207,4 +214,3 @@ is_authorized(AppId, AppSecret) ->
|
|
|
|
|
|
is_expired(undefined) -> true;
|
|
|
is_expired(Expired) -> Expired >= erlang:system_time(second).
|
|
|
-
|