route()->parameter('server'); return [ 'database' => [ 'required', 'alpha_dash', 'min:1', 'max:48', Rule::unique('databases')->where(function (Builder $query) use ($server) { $query->where('server_id', $server->id)->where('database', $this->databaseName()); }), ], 'remote' => 'required|string|regex:/^[0-9%.]{1,15}$/', 'host' => 'required|integer|exists:database_hosts,id', ]; } public function validated(): array { return [ 'database' => $this->input('database'), 'remote' => $this->input('remote'), 'database_host_id' => $this->input('host'), ]; } public function attributes(): array { return [ 'host' => 'Database Host Server ID', 'remote' => 'Remote Connection String', 'database' => 'Database Name', ]; } public function databaseName(): string { $server = $this->route()->parameter('server'); Assert::isInstanceOf($server, Server::class); return DatabaseManagementService::generateUniqueDatabaseName($this->input('database'), $server->id); } }