/** * Deletes a database server from the system if it is empty. * @param int $server The ID of the Database Server. * @return */ public function delete($server) { $dbh = Models\DatabaseServer::findOrFail($server); $databases = Models\Database::where('db_server', $dbh->id)->count(); if ($databases > 0) { throw new DisplayException('You cannot delete a database server that has active databases attached to it.'); } return $dbh->delete(); }
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); } }