mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 18:04:08 +02:00
remove demo file if saving fails
This commit is contained in:
parent
86ffe80044
commit
eb3c909a93
3 changed files with 37 additions and 4 deletions
|
|
@ -43,4 +43,11 @@ class DemoStore {
|
|||
unlink($demo->getPath());
|
||||
}
|
||||
}
|
||||
|
||||
public function removeByName(string $name): void {
|
||||
$path = $this->generatePath($name);
|
||||
if (file_exists($path)) {
|
||||
unlink($path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,10 +83,15 @@ class UploadProvider extends BaseProvider {
|
|||
return $error;
|
||||
}
|
||||
|
||||
$storedDemo = $this->store->store($demoFile, $hash . '_' . $name);
|
||||
$upload = new Upload($name, $red, $blu, $user->getId(), $hash);
|
||||
try {
|
||||
$storedDemo = $this->store->store($demoFile, $hash . '_' . $name);
|
||||
$upload = new Upload($name, $red, $blu, $user->getId(), $hash);
|
||||
|
||||
$id = $this->demoSaver->saveDemo($parsed, $header, $storedDemo, $upload);
|
||||
$id = $this->demoSaver->saveDemo($parsed, $header, $storedDemo, $upload);
|
||||
} catch (\Exception $e) {
|
||||
$this->store->removeByName($name);
|
||||
return 'Error while saving demo: ' . $e->getMessage();
|
||||
}
|
||||
|
||||
return 'STV available at: ' . $this->baseUrl . '/' . $id;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue