. */ namespace SP\Repositories\Account; use SP\Repositories\Repository; use SP\Storage\DbWrapper; use SP\Storage\QueryData; /** * Class AccountFavoriteRepository * * @package SP\Repositories\Account */ class AccountFavoriteRepository extends Repository { /** * Obtener un array con los Ids de cuentas favoritas * * @param $id int El Id de usuario * @return array */ public function getForUserId($id) { $queryData = new QueryData(); $queryData->setQuery('SELECT accountId, userId FROM AccountToFavorite WHERE userId = ?'); $queryData->addParam($id); $queryData->setUseKeyPair(true); return DbWrapper::getResultsArray($queryData, $this->db); } /** * Añadir una cuenta a la lista de favoritos * * @param $accountId int El Id de la cuenta * @param $userId int El Id del usuario * @return bool * @throws \SP\Core\Exceptions\SPException */ public function add($accountId, $userId) { $queryData = new QueryData(); $queryData->setQuery('INSERT INTO AccountToFavorite SET accountId = ?, userId = ?'); $queryData->addParam($accountId); $queryData->addParam($userId); $queryData->setOnErrorMessage(__u('Error al añadir favorito')); return DbWrapper::getQuery($queryData, $this->db); } /** * Eliminar una cuenta de la lista de favoritos * * @param $accountId int El Id de la cuenta * @param $userId int El Id del usuario * @return int * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ public function delete($accountId, $userId) { $queryData = new QueryData(); $queryData->setQuery('DELETE FROM AccountToFavorite WHERE accountId = ? AND userId = ?'); $queryData->addParam($accountId); $queryData->addParam($userId); $queryData->setOnErrorMessage(__u('Error al eliminar favorito')); DbWrapper::getQuery($queryData, $this->db); return $this->db->getNumRows(); } }