. */ namespace SP\Domain\Account\In; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\Infrastructure\Database\QueryResult; /** * Class AccountFavoriteRepository * * @package SP\Infrastructure\Account\Repositories */ interface AccountToFavoriteRepositoryInterface { /** * Obtener un array con los Ids de cuentas favoritas * * @param $id int El Id de usuario * * @return QueryResult * @throws ConstraintException * @throws QueryException */ public function getForUserId(int $id): QueryResult; /** * 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 int * @throws ConstraintException * @throws QueryException */ public function add(int $accountId, int $userId): int; /** * 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 ConstraintException * @throws QueryException */ public function delete(int $accountId, int $userId): int; }