2020-06-24 13:49:06 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Invoice Ninja (https://invoiceninja.com)
|
|
|
|
*
|
|
|
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
|
|
*
|
|
|
|
* @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com)
|
|
|
|
*
|
|
|
|
* @license https://opensource.org/licenses/AAL
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Repositories;
|
|
|
|
|
|
|
|
use App\Models\Document;
|
2020-07-08 14:02:16 +02:00
|
|
|
use App\Utils\Ninja;
|
2020-06-24 13:49:06 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Class for document repository.
|
|
|
|
*/
|
|
|
|
class DocumentRepository extends BaseRepository
|
|
|
|
{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the class name.
|
|
|
|
*
|
|
|
|
* @return string The class name.
|
|
|
|
*/
|
|
|
|
public function getClassName()
|
|
|
|
{
|
|
|
|
return Document::class;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function delete($document)
|
|
|
|
{
|
|
|
|
$document->deleteFile();
|
|
|
|
$document->forceDelete();
|
|
|
|
}
|
|
|
|
|
2020-06-24 14:12:43 +02:00
|
|
|
public function restore($document)
|
2020-06-24 13:49:06 +02:00
|
|
|
{
|
2020-06-24 14:12:43 +02:00
|
|
|
if (! $document->trashed()) {
|
|
|
|
return;
|
|
|
|
}
|
2020-06-24 13:49:06 +02:00
|
|
|
|
2020-06-24 14:12:43 +02:00
|
|
|
$document->restore();
|
|
|
|
|
|
|
|
if (class_exists($className)) {
|
2020-07-08 14:02:16 +02:00
|
|
|
event(new $className($document, $document->company, Ninja::eventVars()));
|
2020-06-24 14:12:43 +02:00
|
|
|
}
|
2020-06-24 13:49:06 +02:00
|
|
|
}
|
|
|
|
}
|