public function fillImageEntity(string $viewkey)
{
$imageData = $this->builder()
->where('viewkey', $viewkey)
->get()
->getRowArray();
$image = new \App\Entities\Image();
$image->fill($imageData);
$image->setDislikeCount($viewkey);
$image->setLikeCount($viewkey);
$image->setViewCount($viewkey);
$image->setFavoriteCount($viewkey);
$image->setCommentCount($viewkey);
$image->setRating($viewkey);
$image->setUserDisliked($viewkey);
$image->setUserLiked($viewkey);
$image->setUserViewed($viewkey);
$image->setUserFavorited($viewkey);
$image->setUserCommented($viewkey);
$image->setUserSubscribed($imageData['uploader']);
return $image;
}
public function getEntireGallery()
{
$images = $this->builder()
->orderBy('modified_at', 'DESC')
->get()
->getResultArray();
foreach ($images as $image) {
$gallery[$image['id']] = $this->fillImageEntity($image['viewkey']);
}
return $gallery;