LCOV - code coverage report
Current view: top level - Servidor - LikesDatabaseManager.cpp (source / functions) Hit Total Coverage
Test: coverage_merged.info Lines: 41 41 100.0 %
Date: 2016-07-11 17:43:33 Functions: 8 8 100.0 %

          Line data    Source code
       1             : #include "LikesDatabaseManager.h"
       2             : #include "api_server_constants.h"
       3             : 
       4             : /* Para guardar:
       5             :  *  likes entre personas
       6             :  *  nombre nuevos matches
       7             :  *  todos los matches de un usuario
       8             :  *  todas las interacciones de un usario
       9             :  * */
      10             : 
      11         204 : LikesDatabaseManager::LikesDatabaseManager(rocksdb::DB *database) : DatabaseManager(database) {
      12             : 
      13         204 : }
      14             : 
      15          84 : bool LikesDatabaseManager::matches(std::string user1, std::string user2){
      16         168 :     std::string aux, debug_msg;
      17          84 :     bool existed1 = getEntry(user1 + DB_SEPARATOR + user2, aux);
      18          84 :     bool liked1 = (existed1 && (aux.compare(LIKED_TOKEN) == 0));
      19          84 :     debug_msg = (existed1) ? " has " + aux: " did not interact with "  + user2;
      20          84 :     LOGG(DEBUG) << user1 << debug_msg;
      21             : 
      22          84 :     bool existed2 = getEntry(user2 + DB_SEPARATOR + user1, aux);
      23          84 :     bool liked2 = ( existed2 && (aux.compare(LIKED_TOKEN) == 0));
      24          84 :     debug_msg = (existed2) ? " has " + aux: " did not interacted with " + user1;
      25          84 :     LOGG(DEBUG) << user2 << debug_msg;
      26             : 
      27         168 :     return liked1 && liked2;
      28             : }
      29             : 
      30          69 : void LikesDatabaseManager::saveLike(std::string deUser, std::string aUser, std::string boolean) {
      31         138 :         std::string interacted_aux, matches_aux, new_aux;
      32          69 :         this->addEntry(deUser + DB_SEPARATOR + aUser, boolean);
      33             : 
      34          69 :         if (getEntry(USERS_INTERACTED_OF + deUser, interacted_aux)){
      35          25 :                 addEntry(USERS_INTERACTED_OF + deUser,interacted_aux + aUser + "\n");
      36             :         }else{
      37          44 :                 addEntry(USERS_INTERACTED_OF + deUser,aUser + "\n");
      38             :         }
      39             : 
      40          69 :         if( matches(deUser,aUser)){
      41             :                 //TODO refactor of registering new matches
      42          27 :                 getEntry(MATCHES_OF + deUser, matches_aux);
      43          27 :                 addEntry(MATCHES_OF + deUser, matches_aux  + aUser + "\n");
      44             : 
      45          27 :                 getEntry(NEW_MATCHES_OF + deUser, new_aux);
      46          27 :                 addEntry(NEW_MATCHES_OF + deUser, new_aux + aUser + "\n");
      47             : 
      48          27 :                 getEntry(MATCHES_OF + aUser, matches_aux);
      49          27 :                 addEntry(MATCHES_OF + aUser, matches_aux  + deUser + "\n");
      50             : 
      51          27 :                 getEntry(NEW_MATCHES_OF + aUser, new_aux);
      52          27 :                 addEntry(NEW_MATCHES_OF + aUser, new_aux + deUser + "\n");
      53             : 
      54          69 :         }
      55          69 : }
      56             : 
      57          11 : void LikesDatabaseManager::getMatches(std::string deUser, std::string &usernamesMatched){
      58          11 :         getEntry(MATCHES_OF + deUser, usernamesMatched);
      59          11 :         this->replaceEntry(NEW_MATCHES_OF + deUser, "");
      60          11 : }
      61             : 
      62           7 : void LikesDatabaseManager::getNewMatches(std::string deUser, std::string &usernamesMatched){
      63             :         //lo borra cuando lo pide y cuando pide todos los matches
      64           7 :         getEntry(NEW_MATCHES_OF + deUser, usernamesMatched);
      65           7 :         this->replaceEntry(NEW_MATCHES_OF + deUser, "");
      66           7 : }
      67             : 
      68           9 : void LikesDatabaseManager::getInteractedUsers(std::string deUser, std::string &usernamesInteracted){
      69           9 :         getEntry(USERS_INTERACTED_OF + deUser, usernamesInteracted);
      70          39 : }

Generated by: LCOV version 1.12-4-g04a3c0e