Add database password change support and fix column name
This commit is contained in:
parent
0d61c50dcc
commit
5233d6e87b
11 changed files with 188 additions and 9 deletions
|
@ -56,7 +56,7 @@ class DatabaseController extends Controller
|
|||
'servers.id as a_serverId',
|
||||
'servers.name as a_serverName'
|
||||
)->join('database_servers', 'database_servers.id', '=', 'databases.db_server')
|
||||
->join('servers', 'databases.server', '=', 'servers.id')
|
||||
->join('servers', 'databases.server_id', '=', 'servers.id')
|
||||
->paginate(20),
|
||||
'dbh' => Models\DatabaseServer::select(
|
||||
'database_servers.*',
|
||||
|
|
|
@ -99,7 +99,7 @@ class ServersController extends Controller
|
|||
->where('server_variables.server_id', $server->id)
|
||||
->get(),
|
||||
'databases' => Models\Database::select('databases.*', 'database_servers.host as a_host', 'database_servers.port as a_port')
|
||||
->where('server', $server->id)
|
||||
->where('server_id', $server->id)
|
||||
->join('database_servers', 'database_servers.id', '=', 'databases.db_server')
|
||||
->get(),
|
||||
'db_servers' => Models\DatabaseServer::all()
|
||||
|
|
|
@ -25,6 +25,7 @@ namespace Pterodactyl\Http\Controllers\Server;
|
|||
|
||||
use Log;
|
||||
use Debugbar;
|
||||
use Pterodactyl\Models;
|
||||
use Pterodactyl\Models\Server;
|
||||
use Pterodactyl\Models\Node;
|
||||
|
||||
|
@ -223,4 +224,28 @@ class AjaxController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
public function postResetDatabasePassword(Request $request, $uuid)
|
||||
{
|
||||
$server = Models\Server::getByUUID($uuid);
|
||||
$database = Models\Database::where('id', $request->input('database'))->where('server_id', $server->id)->firstOrFail();
|
||||
|
||||
$this->authorize('reset-db-password', $server);
|
||||
try {
|
||||
|
||||
$repo = new Repositories\DatabaseRepository;
|
||||
$password = str_random(16);
|
||||
$repo->modifyPassword($request->input('database'), $password);
|
||||
return response($password);
|
||||
} catch (\Pterodactyl\Exceptions\DisplayException $ex) {
|
||||
return response()->json([
|
||||
'error' => $ex->getMessage(),
|
||||
], 503);
|
||||
} catch(\Exception $ex) {
|
||||
Log::error($ex);
|
||||
return response()->json([
|
||||
'error' => 'An unhandled error occured while attempting to modify this database\'s password.'
|
||||
], 503);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ class ServerController extends Controller
|
|||
return view('server.settings', [
|
||||
'server' => $server,
|
||||
'databases' => Models\Database::select('databases.*', 'database_servers.host as a_host', 'database_servers.port as a_port')
|
||||
->where('server', $server->id)
|
||||
->where('server_id', $server->id)
|
||||
->join('database_servers', 'database_servers.id', '=', 'databases.db_server')
|
||||
->get(),
|
||||
'node' => Models\Node::find($server->node),
|
||||
|
|
|
@ -152,6 +152,11 @@ class ServerRoutes {
|
|||
$router->post('set-connection', [
|
||||
'uses' => 'Server\AjaxController@postSetConnection'
|
||||
]);
|
||||
|
||||
$router->post('settings/reset-database-password', [
|
||||
'as' => 'server.ajax.reset-database-password',
|
||||
'uses' => 'Server\AjaxController@postResetDatabasePassword'
|
||||
]);
|
||||
});
|
||||
|
||||
// Assorted AJAX Routes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue