2024-04-29 14:29:04 -04:00
< ? php
namespace App\Http\Controllers\Api\Remote\Servers ;
2025-08-11 22:21:52 +02:00
use App\Enums\ContainerStatus ;
2026-04-20 17:25:54 +02:00
use App\Exceptions\Http\HttpForbiddenException ;
2025-09-24 13:34:19 +02:00
use App\Http\Controllers\Controller ;
2024-04-29 14:29:04 -04:00
use App\Models\Server ;
use Illuminate\Http\JsonResponse ;
2026-04-20 17:25:54 +02:00
use Illuminate\Http\Request ;
2024-04-29 14:29:04 -04:00
class ServerContainersController extends Controller
{
/**
* Updates the server container ' s status on the Panel
*/
2026-04-20 17:25:54 +02:00
public function status ( Request $request , Server $server ) : JsonResponse
2024-04-29 14:29:04 -04:00
{
2026-07-09 09:55:11 -04:00
throw_unless ( $server -> node -> is ( $request -> attributes -> get ( 'node' )), new HttpForbiddenException ( 'Requesting node does not have permission to access this server.' ));
2026-04-20 17:25:54 +02:00
2025-08-11 22:21:52 +02:00
$status = ContainerStatus :: tryFrom ( $request -> json ( 'data.new_state' )) ? ? ContainerStatus :: Missing ;
2024-04-29 14:29:04 -04:00
2025-08-09 23:53:45 +02:00
cache () -> put ( " servers. $server->uuid .status " , $status , now () -> addHour ());
2024-04-29 14:29:04 -04:00
return new JsonResponse ([]);
}
}