Update database creation (#775)

Updates database creation flow to account for new database host to many nodes change.
This commit is contained in:
Charles 2024-12-06 22:46:36 -05:00 committed by GitHub
parent 7e7f0be7df
commit 4ad2997566
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View File

@ -707,7 +707,8 @@ class EditServer extends EditRecord
->label('Database Host')
->required()
->placeholder('Select Database Host')
->relationship('node.databaseHosts', 'name')
->relationship('node.databaseHosts', 'name',
fn (Builder $query, Server $server) => $query->whereRelation('nodes', 'nodes.id', $server->node_id))
->default(fn () => (DatabaseHost::query()->first())?->id)
->selectablePlaceholder(false),
TextInput::make('database')

View File

@ -14,6 +14,7 @@ use Filament\Actions\CreateAction;
use Filament\Facades\Filament;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Forms\Get;
@ -103,6 +104,11 @@ class ListDatabases extends ListRecords
Grid::make()
->columns(3)
->schema([
Select::make('database_host_id')
->label('Database Host')
->required()
->placeholder('Select Database Host')
->options(fn () => $server->node->databaseHosts->mapWithKeys(fn (DatabaseHost $databaseHost) => [$databaseHost->id => $databaseHost->name])),
TextInput::make('database')
->columnSpan(2)
->label('Database Name')
@ -119,8 +125,6 @@ class ListDatabases extends ListRecords
if (empty($data['database'])) {
$data['database'] = str_random(12);
}
$data['database_host_id'] = DatabaseHost::where('node_id', $server->node_id)->first()->id;
$data['database'] = 's'. $server->id . '_' . $data['database'];
$service->create($server, $data);