diff --git a/app/Http/Controllers/ServiceController.php b/app/Http/Controllers/ServiceController.php index 102a411..13829c3 100644 --- a/app/Http/Controllers/ServiceController.php +++ b/app/Http/Controllers/ServiceController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Actions\Services\CreateService; use App\Enums\ServiceCategory; use App\Enums\ServiceType; use App\Models\Server; @@ -22,7 +23,6 @@ class ServiceController extends Controller public function store(Request $request) { - // dd($request->all()); $request->validate([ 'name' => ['required', 'string', 'max:255'], '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, + ]); } }