new changes
This commit is contained in:
56
panel-api/app/Modules/Server/ServerController.php
Normal file
56
panel-api/app/Modules/Server/ServerController.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Modules\Server;
|
||||
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class ServerController extends Controller
|
||||
{
|
||||
public function __construct(private readonly ServerRepository $servers)
|
||||
{
|
||||
}
|
||||
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$tenantId = (string) $request->attributes->get('tenant_id', '');
|
||||
return response()->json([
|
||||
'data' => $this->servers->listByTenant($tenantId),
|
||||
'meta' => ['tenant_id' => $tenantId],
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(Request $request): JsonResponse
|
||||
{
|
||||
$tenantId = (string) $request->attributes->get('tenant_id', '');
|
||||
$server = $this->servers->create([
|
||||
'tenant_id' => $tenantId,
|
||||
'name' => (string) $request->input('name', ''),
|
||||
'id' => (string) $request->input('id', ''),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'data' => $server,
|
||||
], 201);
|
||||
}
|
||||
|
||||
public function show(string $server): JsonResponse
|
||||
{
|
||||
return response()->json([
|
||||
'data' => ['id' => $server],
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(Request $request, string $server): JsonResponse
|
||||
{
|
||||
return response()->json([
|
||||
'data' => ['id' => $server, 'status' => 'updated'],
|
||||
]);
|
||||
}
|
||||
|
||||
public function destroy(string $server): JsonResponse
|
||||
{
|
||||
return response()->json([], 204);
|
||||
}
|
||||
}
|
||||
25
panel-api/app/Modules/Server/ServerRepository.php
Normal file
25
panel-api/app/Modules/Server/ServerRepository.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Modules\Server;
|
||||
|
||||
class ServerRepository
|
||||
{
|
||||
/**
|
||||
* Placeholder persistence adapter.
|
||||
* Replace with Eloquent model queries in full Laravel bootstrap.
|
||||
*/
|
||||
public function listByTenant(string $tenantId): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function create(array $attributes): array
|
||||
{
|
||||
return [
|
||||
'id' => $attributes['id'] ?? null,
|
||||
'tenant_id' => $attributes['tenant_id'] ?? null,
|
||||
'name' => $attributes['name'] ?? null,
|
||||
'status' => 'provisioning',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user