ADD changement dans le protocole, le premier message de chaque conversation est maint...
[euphorik.git] / modules / erl / euphorik_bd.erl
index ed07a56..be46ab2 100755 (executable)
@@ -61,6 +61,8 @@
    reponses/0,\r
    parents/1,\r
    enfants/1,\r
+   parents_id/1,\r
+   enfants_id/1,\r
    est_une_reponse_a_user/2,\r
    a_repondu_a_message/2,\r
    possede_message/2,\r
@@ -619,6 +621,36 @@ enfants(M_id) ->
       end\r
    )).\r
    \r
+   \r
+% Renvoie les parents d'un message M (les messages auquels répond M)\r
+% ordrés du plus petit au plus grand..\r
+% @spec parents_id(integer()) -> [integer()]\r
+parents_id(M) ->\r
+   resultat_transaction(mnesia:transaction(fun() ->\r
+      e(\r
+         qlc:sort(\r
+            q([E#reponse_minichat.cible || E <- mnesia:table(reponse_minichat), E#reponse_minichat.repondant =:= M]),\r
+            [{order, ascending}]\r
+         ),\r
+         [{tmpdir, ?KEY_SORT_TEMP_DIR}]\r
+      )\r
+   end)).\r
+   \r
+   \r
+% Renvoie les id des enfants d'un message M (les messages qui répondent à M)\r
+% ordrés du plus petit au plus grand.\r
+% @spec enfants_id(integer()) -> [integer()]\r
+enfants_id(M) ->\r
+   resultat_transaction(mnesia:transaction(fun() ->\r
+      e(\r
+         qlc:sort(\r
+            q([E#reponse_minichat.repondant || E <- mnesia:table(reponse_minichat), E#reponse_minichat.cible =:= M]),\r
+            [{order, ascending}]\r
+         ),\r
+         [{tmpdir, ?KEY_SORT_TEMP_DIR}]\r
+      )\r
+   end)).\r
+     \r
 \r
 % Est-ce que le message Id_mess est une réponse d'une message de Id_user ?\r
 est_une_reponse_a_user(Id_user, Id_mess) ->\r