/**
  * Removes an album by its associated id
  * 
  * @param string $albumId
  * @return boolean
  */
 private function removeAlbumById($albumId)
 {
     $this->albumMapper->deleteById($albumId);
     $this->removeWebPage($albumId);
     // Grab all photos associated with target album id
     $photosIds = $this->photoMapper->fetchPhotoIdsByAlbumId($albumId);
     // Do batch removal if album has at least one photo
     if (!empty($photosIds)) {
         foreach ($photosIds as $photoId) {
             // Remove a photo
             $this->imageManager->delete($photoId) && $this->photoMapper->deleteById($photoId);
         }
     }
     $this->albumPhoto->delete($albumId);
     return true;
 }
 /**
  * Deletes a photo by its associated id
  * 
  * @param string $id
  * @return boolean
  */
 private function delete($id)
 {
     return $this->imageManager->delete($id) && $this->photoMapper->deleteById($id);
 }