preview: fix for shared album

cap
Varun Patil 2022-12-02 21:42:52 -08:00
parent ec19d724c5
commit 1866ce5dfa
2 changed files with 9 additions and 4 deletions

View File

@ -190,11 +190,14 @@ class ApiBase extends Controller
}
$uid = $user->getUID();
if (!$this->timelineQuery->albumHasUserFile($uid, $id)) {
$owner = $this->timelineQuery->albumHasUserFile($uid, $id);
if (!$owner) {
return null;
}
return $this->getOneFileFromFolder($this->rootFolder, $id);
$folder = $this->rootFolder->getUserFolder($owner);
return $this->getOneFileFromFolder($folder, $id);
}
/**

View File

@ -118,11 +118,13 @@ trait TimelineQueryAlbums
/**
* Check if a file belongs to a user through an album.
*
* @return bool|string owner of file
*/
public function albumHasUserFile(string $uid, int $fileId)
{
$query = $this->connection->getQueryBuilder();
$query->select('paf.album_id')->from('photos_albums_files', 'paf')->where(
$query->select('paf.owner')->from('photos_albums_files', 'paf')->where(
$query->expr()->andX(
$query->expr()->eq('paf.file_id', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)),
$query->expr()->orX(
@ -144,7 +146,7 @@ trait TimelineQueryAlbums
$query->expr()->eq('pc.collaborator_id', $query->createNamedParameter($uid)),
));
return false !== $query->executeQuery()->fetchOne();
return $query->executeQuery()->fetchOne();
}
/**