diff --git a/app/Actions/Services/CreateService.php b/app/Actions/Services/CreateService.php index 5cb9bd6..3397e12 100644 --- a/app/Actions/Services/CreateService.php +++ b/app/Actions/Services/CreateService.php @@ -31,5 +31,7 @@ class CreateService $defaultPassword = Str::random(16); dispatch(new DeployService($service, $defaultPassword)); + + return ['defaultPassword' => $defaultPassword, 'service' => $service]; } } diff --git a/app/Console/Commands/CreateServiceCommand.php b/app/Console/Commands/CreateServiceCommand.php new file mode 100644 index 0000000..3de9435 --- /dev/null +++ b/app/Console/Commands/CreateServiceCommand.php @@ -0,0 +1,44 @@ +components->ask('Enter the server ID'); + $server = Server::find($serverId); + + if (!$server) { + $this->components->error('Server not found'); + return; + } + + $serviceType = $this->components->choice('select the service you want to install', [ + 'postgres-17' + ]); + + $serviceName = $this->components->ask('Enter the service name'); + + $service = app(CreateService::class)->execute( + server: $server, + name: $serviceName, + category: ServiceCategory::DATABASE, + type: ServiceType::POSTGRES, + version: '17', + driverName: $serviceType, + ); + + $this->components->info('Service created successfully'); + dump($service); + } +} diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index 79d61f9..f4a8acb 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -103,7 +103,7 @@ class ServerController extends Controller $server = $organisation->servers()->findOrFail($request->route('server')); return inertia('servers/Show', [ - 'server' => $server, + 'server' => $server->load('services'), ]); } }