put_troll/2,
mod_troll/2,
del_troll/1,
+ troll_by_id/1,
% versions :
update_version/1,
case user_by_cookie(Cookie) of
{ok, User} ->
case user_by_login(Login) of
- {ok, U} when User#user.login =/= [], U#user.id =/= User#user.id ->
+ {ok, U} when Login =/= [], U#user.id =/= User#user.id ->
login_deja_pris;
- _ ->
+ _ ->
User_modifie = User#user{
% TODO : pourquoi ne pas tester avec la valeur "undefined" plutôt qu'avec "is_list" ?
% TODO : validation plus strict des données (pas de page négative dans les conv par exemple)
user_by_cookie(Cookie) ->
resultat_transaction(mnesia:transaction(
fun() ->
- Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])),
- case Users of
+ case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])) of
[User] -> {ok, User};
_ -> erreur
end
user_by_id(ID) ->
resultat_transaction(mnesia:transaction(
fun() ->
- Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.id =:= ID])),
- case Users of
+ case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.id =:= ID])) of
[User] -> {ok, User};
_ -> erreur
end
user_by_login_password(Login, Password) ->
resultat_transaction(mnesia:transaction(
fun() ->
- Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])),
- case Users of
- [User] -> {ok, User};
+ case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])) of
+ [User | _] -> {ok, User};
_ -> erreur
end
end
resultat_transaction(mnesia:transaction(
fun() ->
case qlc:e(qlc:q([U || U <- mnesia:table(user), M <- mnesia:table(minichat), M#minichat.id =:= Id, M#minichat.auteur_id =:= U#user.id])) of
- [User] -> {ok, User};
+ [User | _] -> {ok, User};
_ -> erreur
end
end
trolls() ->
resultat_transaction(mnesia:transaction(
fun() ->
- qlc:e(qlc:q([T || T <- mnesia:table(troll)]))
+ qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll))]))
end
)).
_ ->
case resultat_transaction(mnesia:transaction(
fun() ->
- qlc:e(qlc:q([T || T <- mnesia:table(troll), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
+ qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
end
)) of
[] -> % pas de trolls
end
).
+
+troll_by_id(Troll_id) ->
+ resultat_transaction(mnesia:transaction(
+ fun() ->
+ case qlc:e(qlc:q([T || T <- mnesia:table(troll), T#troll.id =:= Troll_id])) of
+ [T] -> {ok, T};
+ _ ->
+ erreur
+ end
+ end
+ )).
+
update_version(1) ->
mnesia:transform_table(