|
@@ -21,8 +21,9 @@ dir() -> DBA = ?DBA, DBA:dir().
|
|
stop() -> DBA = ?DBA, DBA:stop().
|
|
stop() -> DBA = ?DBA, DBA:stop().
|
|
initialize() -> DBA = ?DBA, DBA:initialize().
|
|
initialize() -> DBA = ?DBA, DBA:initialize().
|
|
delete() -> DBA = ?DBA, DBA:delete().
|
|
delete() -> DBA = ?DBA, DBA:delete().
|
|
-init_indexes() -> DBA = ?DBA, DBA:init_indexes().
|
|
|
|
wait_for_tables() -> DBA=?DBA, DBA:wait_for_tables().
|
|
wait_for_tables() -> DBA=?DBA, DBA:wait_for_tables().
|
|
|
|
+join() -> DBA = ?DBA, DBA:join().
|
|
|
|
+join(Node) -> DBA = ?DBA, DBA:join(Node).
|
|
|
|
|
|
add(Record) when is_tuple(Record) ->
|
|
add(Record) when is_tuple(Record) ->
|
|
Id = element(#iterator.id, Record),
|
|
Id = element(#iterator.id, Record),
|
|
@@ -54,7 +55,8 @@ add(Record) when is_tuple(Record) ->
|
|
R3 = setelement(#iterator.feed_id, R2, element(#container.id, Container)),
|
|
R3 = setelement(#iterator.feed_id, R2, element(#container.id, Container)),
|
|
kvs:put(R3),
|
|
kvs:put(R3),
|
|
error_logger:info_msg("[kvs] PUT: ~p", [element(#container.id,R3)]),
|
|
error_logger:info_msg("[kvs] PUT: ~p", [element(#container.id,R3)]),
|
|
- {ok, R3} end end.
|
|
|
|
|
|
+ {ok, R3} end;
|
|
|
|
+ E -> error_logger:info_msg("Entry exist: ~p", [E]),{error, exist} end.
|
|
|
|
|
|
remove(RecordName, RecordId) ->
|
|
remove(RecordName, RecordId) ->
|
|
case kvs:get(RecordName, RecordId) of {error, not_found} -> error_logger:info_msg("not found");
|
|
case kvs:get(RecordName, RecordId) of {error, not_found} -> error_logger:info_msg("not found");
|
|
@@ -96,13 +98,6 @@ remove(E) when is_tuple(E) ->
|
|
|
|
|
|
error_logger:info_msg("[kvs] DELETE: ~p", [Id]),
|
|
error_logger:info_msg("[kvs] DELETE: ~p", [Id]),
|
|
kvs:delete(E).
|
|
kvs:delete(E).
|
|
-%purge_feed(FeedId) ->
|
|
|
|
-% {ok,Feed} = kvs:get(feed,FeedId),
|
|
|
|
-% Removal = entry_traversal(Feed#feed.top, -1),
|
|
|
|
-% [kvs:delete(entry,Id)||#entry{id=Id}<-Removal],
|
|
|
|
-% kvs:put(Feed#feed{top=undefined}).
|
|
|
|
-%purge_unverified_feeds() ->
|
|
|
|
-% [ [purge_feed(Fid)|| {_, Fid} <- Feeds ] || #user{feeds=Feeds, email=E} <- kvs:all(user), E==undefined].
|
|
|
|
|
|
|
|
traversal( _,undefined,_,_) -> [];
|
|
traversal( _,undefined,_,_) -> [];
|
|
traversal(_,_,0,_) -> [];
|
|
traversal(_,_,0,_) -> [];
|
|
@@ -125,27 +120,9 @@ init_db() ->
|
|
{error,_} ->
|
|
{error,_} ->
|
|
add_seq_ids(),
|
|
add_seq_ids(),
|
|
kvs_account:create_account(system),
|
|
kvs_account:create_account(system),
|
|
- %add_sample_users(),
|
|
|
|
-% add_sample_packages(),
|
|
|
|
-% add_sample_payments(),
|
|
|
|
add_translations();
|
|
add_translations();
|
|
{ok,_} -> ignore end.
|
|
{ok,_} -> ignore end.
|
|
|
|
|
|
-%add_sample_packages() -> kvs_membership:add_sample_data().
|
|
|
|
-
|
|
|
|
-%add_sample_payments() ->
|
|
|
|
-% {ok, Pkg1} = kvs:get(membership,1),
|
|
|
|
-% {ok, Pkg2} = kvs:get(membership,2),
|
|
|
|
-% {ok, Pkg3} = kvs:get(membership,3),
|
|
|
|
-% {ok, Pkg4} = kvs:get(membership,4),
|
|
|
|
-% PList = [{"doxtop", Pkg1},{"maxim", Pkg2},{"maxim",Pkg4}, {"kate", Pkg3} ],
|
|
|
|
-% [ok = add_payment(U, P) || {U, P} <- PList],
|
|
|
|
-% ok.
|
|
|
|
-
|
|
|
|
-%add_payment(UserId, Package) ->
|
|
|
|
-% {ok, MPId} = kvs_payment:add_payment(#payment{user_id=UserId, membership=Package}),
|
|
|
|
-% kvs_payment:set_payment_state(MPId, ?MP_STATE_DONE, undefined).
|
|
|
|
-
|
|
|
|
add_seq_ids() ->
|
|
add_seq_ids() ->
|
|
Init = fun(Key) ->
|
|
Init = fun(Key) ->
|
|
case kvs:get(id_seq, Key) of
|
|
case kvs:get(id_seq, Key) of
|
|
@@ -190,9 +167,6 @@ add_sample_users() ->
|
|
kvs:put(Me#user{password = kvs:sha(Me#user.password)})
|
|
kvs:put(Me#user{password = kvs:sha(Me#user.password)})
|
|
end || Me <- UserList ],
|
|
end || Me <- UserList ],
|
|
|
|
|
|
- %kvs_acl:define_access({user, "maxim"}, {feature, admin}, allow),
|
|
|
|
- %kvs_acl:define_access({user_type, admin}, {feature, admin}, allow),
|
|
|
|
-
|
|
|
|
[ kvs_user:subscribe(Me#user.username, Her#user.username) || Her <- UserList, Me <- UserList, Her /= Me ],
|
|
[ kvs_user:subscribe(Me#user.username, Her#user.username) || Her <- UserList, Me <- UserList, Her /= Me ],
|
|
[ kvs_user:init_mq(U) || U <- UserList ],
|
|
[ kvs_user:init_mq(U) || U <- UserList ],
|
|
|
|
|
|
@@ -327,3 +301,15 @@ sha(Raw) ->
|
|
sha_upper(Raw) ->
|
|
sha_upper(Raw) ->
|
|
SHA = sha(Raw),
|
|
SHA = sha(Raw),
|
|
string:to_upper(SHA).
|
|
string:to_upper(SHA).
|
|
|
|
+
|
|
|
|
+config(Key) -> config(kvs, Key, "").
|
|
|
|
+config(App,Key) -> config(App,Key, "").
|
|
|
|
+config(App, Key, Default) -> case application:get_env(App,Key) of
|
|
|
|
+ undefined -> Default;
|
|
|
|
+ {ok,V} -> V end.
|
|
|
|
+
|
|
|
|
+modules() -> Modules = case kvs:config(schema) of
|
|
|
|
+ [] -> [ kvs_user, kvs_product, kvs_membership,
|
|
|
|
+ kvs_payment, kvs_feed, kvs_acl,
|
|
|
|
+ kvs_account, kvs_group ];
|
|
|
|
+ E -> E end.
|