use createservice action

This commit is contained in:
2025-04-08 23:02:13 +01:00
parent 38db883b4c
commit a2a3e9002d

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Actions\Services\CreateService;
use App\Enums\ServiceCategory; use App\Enums\ServiceCategory;
use App\Enums\ServiceType; use App\Enums\ServiceType;
use App\Models\Server; use App\Models\Server;
@@ -22,7 +23,6 @@ class ServiceController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
// dd($request->all());
$request->validate([ $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'category' => ['required', Rule::enum(ServiceCategory::class)], 'category' => ['required', Rule::enum(ServiceCategory::class)],
@@ -33,5 +33,24 @@ class ServiceController extends Controller
} }
}], }],
]); ]);
$server = Server::findOrFail($request->route('server'));
$response = app(CreateService::class)->execute(
server: $server,
name: $request->name,
category: $request->enum('category', ServiceCategory::class),
type: $request->enum('type', ServiceType::class),
version: $request->version,
);
$service = $response['service'];
$defaultPassword = $response['defaultPassword'];
return redirect()->route('servers.show', $server)->with([
'success' => 'Service created successfully',
'defaultPassword' => $defaultPassword,
'service' => $service,
]);
} }
} }