Replace Library::GetEbookByIdentifier with Ebook::GetByIdentifier

The new method throws an exception instead of returning null.
This commit is contained in:
Mike Colagrosso 2024-04-25 22:58:01 -06:00 committed by Alex Cabal
parent 7350891cd5
commit 572fd90fed
2 changed files with 25 additions and 26 deletions

View file

@ -607,16 +607,15 @@ class Ebook{
}
public function CreateOrUpdate(): void{
$existingEbook = Library::GetEbookByIdentifier($this->Identifier);
if($existingEbook === null){
$this->Create();
return;
}
try{
$existingEbook = Ebook::GetByIdentifier($this->Identifier);
$this->EbookId = $existingEbook->EbookId;
$this->Save();
}
catch(Exceptions\EbookNotFoundException){
$this->Create();
}
}
private function InsertTagStrings(): void{
$tags = [];
@ -936,6 +935,24 @@ class Ebook{
// ORM METHODS
// ***********
public static function GetByIdentifier(?string $identifier): ?Ebook{
if($identifier === null){
throw new Exceptions\EbookNotFoundException('Invalid identifier: ' . $identifier);
}
$result = Db::Query('
SELECT *
from Ebooks
where Identifier = ?
', [$identifier], 'Ebook');
if(sizeof($result) == 0){
throw new Exceptions\EbookNotFoundException('Invalid identifier: ' . $identifier);
}
return $result[0];
}
public function Create(): void{
$this->Validate();

View file

@ -673,24 +673,6 @@ class Library{
}
}
public static function GetEbookByIdentifier(?string $identifier): ?Ebook{
if($identifier === null){
return null;
}
$result = Db::Query('
SELECT *
from Ebooks
where Identifier = ?
', [$identifier], 'Ebook');
if(sizeof($result) == 0){
return null;
}
return $result[0];
}
/**
* @throws Exceptions\AppException
*/