ui(server): fix used backup count (#3526)

* ui(server): fix used backup count

* ui(server): refactor backup count code
This commit is contained in:
Matthew Penner 2021-08-04 21:34:00 -06:00 committed by GitHub
parent 7e91a33a67
commit 10b357b71e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 41 additions and 32 deletions

View file

@ -12,6 +12,7 @@ use Illuminate\Auth\Access\AuthorizationException;
use Pterodactyl\Services\Backups\DeleteBackupService;
use Pterodactyl\Services\Backups\DownloadLinkService;
use Pterodactyl\Services\Backups\InitiateBackupService;
use Pterodactyl\Repositories\Eloquent\BackupRepository;
use Pterodactyl\Repositories\Wings\DaemonBackupRepository;
use Pterodactyl\Transformers\Api\Client\BackupTransformer;
use Pterodactyl\Http\Controllers\Api\Client\ClientApiController;
@ -20,34 +21,21 @@ use Pterodactyl\Http\Requests\Api\Client\Servers\Backups\StoreBackupRequest;
class BackupController extends ClientApiController
{
/**
* @var \Pterodactyl\Services\Backups\InitiateBackupService
*/
private $initiateBackupService;
/**
* @var \Pterodactyl\Services\Backups\DeleteBackupService
*/
private $deleteBackupService;
/**
* @var \Pterodactyl\Services\Backups\DownloadLinkService
*/
private $downloadLinkService;
/**
* @var \Pterodactyl\Repositories\Wings\DaemonBackupRepository
*/
private $repository;
private InitiateBackupService $initiateBackupService;
private DeleteBackupService $deleteBackupService;
private DownloadLinkService $downloadLinkService;
private DaemonBackupRepository $daemonRepository;
private BackupRepository $repository;
/**
* BackupController constructor.
*/
public function __construct(
DaemonBackupRepository $repository,
DaemonBackupRepository $daemonRepository,
DeleteBackupService $deleteBackupService,
InitiateBackupService $initiateBackupService,
DownloadLinkService $downloadLinkService
DownloadLinkService $downloadLinkService,
BackupRepository $repository
) {
parent::__construct();
@ -55,10 +43,11 @@ class BackupController extends ClientApiController
$this->initiateBackupService = $initiateBackupService;
$this->deleteBackupService = $deleteBackupService;
$this->downloadLinkService = $downloadLinkService;
$this->daemonRepository = $daemonRepository;
}
/**
* Returns all of the backups for a given server instance in a paginated
* Returns all the backups for a given server instance in a paginated
* result set.
*
* @throws \Illuminate\Auth\Access\AuthorizationException
@ -73,6 +62,9 @@ class BackupController extends ClientApiController
return $this->fractal->collection($server->backups()->paginate($limit))
->transformWith($this->getTransformer(BackupTransformer::class))
->addMeta([
'backup_count' => $this->repository->getNonFailedBackups($server)->count(),
])
->toArray();
}
@ -242,7 +234,7 @@ class BackupController extends ClientApiController
// actions against it via the Panel API.
$server->update(['status' => Server::STATUS_RESTORING_BACKUP]);
$this->repository->setServer($server)->restore($backup, $url ?? null, $request->input('truncate'));
$this->daemonRepository->setServer($server)->restore($backup, $url ?? null, $request->input('truncate'));
});
return new JsonResponse([], JsonResponse::HTTP_NO_CONTENT);