Remove daemon transfer repository

This commit is contained in:
Lance Pioch 2024-03-16 14:35:13 -04:00
parent 41c3f1336a
commit 4ea5341e97
3 changed files with 25 additions and 36 deletions

View File

@ -2,6 +2,9 @@
namespace App\Http\Controllers\Api\Remote\Servers;
use App\Models\Server;
use App\Repositories\Daemon\DaemonRepository;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
use App\Models\Allocation;
@ -10,7 +13,7 @@ use App\Models\ServerTransfer;
use Illuminate\Database\ConnectionInterface;
use App\Http\Controllers\Controller;
use App\Repositories\Eloquent\ServerRepository;
use App\Repositories\Daemon\DaemonServerRepository;
use Lcobucci\JWT\Token\Plain;
use Symfony\Component\HttpKernel\Exception\ConflictHttpException;
use App\Exceptions\Http\Connection\DaemonConnectionException;
@ -22,10 +25,29 @@ class ServerTransferController extends Controller
public function __construct(
private ConnectionInterface $connection,
private ServerRepository $repository,
private DaemonServerRepository $daemonServerRepository
private DaemonRepository $daemonRepository,
) {
}
private function notify(DaemonRepository $repository, Server $server, Plain $token): void
{
try {
$repository->getHttpClient()->post('/api/transfer', [
'json' => [
'server_id' => $server->uuid,
'url' => $server->node->getConnectionAddress() . "/api/servers/$server->uuid/archive",
'token' => 'Bearer ' . $token->toString(),
'server' => [
'uuid' => $server->uuid,
'start_on_completion' => false,
],
],
]);
} catch (GuzzleException $exception) {
throw new DaemonConnectionException($exception);
}
}
/**
* The daemon notifies us about a transfer failure.
*

View File

@ -1,33 +0,0 @@
<?php
namespace App\Repositories\Daemon;
use App\Models\Node;
use Lcobucci\JWT\Token\Plain;
use GuzzleHttp\Exception\GuzzleException;
use App\Exceptions\Http\Connection\DaemonConnectionException;
class DaemonTransferRepository extends DaemonRepository
{
/**
* @throws \App\Exceptions\Http\Connection\DaemonConnectionException
*/
public function notify(Node $targetNode, Plain $token): void
{
try {
$this->getHttpClient()->post(sprintf('/api/servers/%s/transfer', $this->server->uuid), [
'json' => [
'server_id' => $this->server->uuid,
'url' => $targetNode->getConnectionAddress() . '/api/transfers',
'token' => 'Bearer ' . $token->toString(),
'server' => [
'uuid' => $this->server->uuid,
'start_on_completion' => false,
],
],
]);
} catch (GuzzleException $exception) {
throw new DaemonConnectionException($exception);
}
}
}

View File

@ -7,7 +7,7 @@ parameters:
- app/
# Level 9 is the highest level
level: 1
level: 2
# ignoreErrors:
# - '#PHPDoc tag @var#'