Require user when querying album name from DB

Signed-off-by: Christian McHugh <mchugh19@hotmail.com>
This commit is contained in:
Christian McHugh 2023-12-07 18:31:29 +00:00
parent 7b9c80e63e
commit e388b708fe
3 changed files with 8 additions and 6 deletions

View File

@ -113,16 +113,18 @@ class AlbumMapper {
/**
* @param string $albumName
* @param string $userName
* @return AlbumInfo
*/
public function getByName(string $albumName): ?AlbumInfo {
public function getByName(string $albumName, string $userName): ?AlbumInfo {
$query = $this->connection->getQueryBuilder();
$query->select("album_id", "user", "location", "created", "last_added_photo")
$query->select("album_id", "location", "created", "last_added_photo")
->from("photos_albums")
->where($query->expr()->eq('name', $query->createNamedParameter($albumName)));
->where($query->expr()->eq('name', $query->createNamedParameter($albumName)))
->andWhere($query->expr()->eq('user', $query->createNamedParameter($userName)));
$row = $query->executeQuery()->fetch();
if ($row) {
return new AlbumInfo((int)$row['album_id'], $row['user'], $albumName, $row['location'], (int)$row['created'], (int)$row['last_added_photo']);
return new AlbumInfo((int)$row['album_id'], $userName, $albumName, $row['location'], (int)$row['created'], (int)$row['last_added_photo']);
} else {
return null;
}

View File

@ -83,7 +83,7 @@ class AlbumAddCommand extends Command {
return 1;
}
$album = $this->albumMapper->getByName($albumString);
$album = $this->albumMapper->getByName($albumString, $userString);
if (!$album) {
throw new \Exception("Album $albumString was not found");
}

View File

@ -71,7 +71,7 @@ class AlbumCreateCommand extends Command {
}
$userID = $user->getUID();
$album = $this->albumMapper->getByName($albumString);
$album = $this->albumMapper->getByName($albumString, $userString);
if ($album) {
throw new \Exception("Album $albumString already exists and cannot be created.");
}