perf: ️ Miglioramento funzione di test

- Divisi silenziatori (success e error)
- Rimosso success dalla risposta del backend (ci si deve riferire solo ai codici errore per sapere se una richiesta ha avuto esito positivo o negativo)
This commit is contained in:
Maicol Battistini 2021-11-12 14:08:12 +01:00
parent c31f9b7d3f
commit ffea235e0a
No known key found for this signature in database
GPG Key ID: 4FDB0F87CDB1D34A
2 changed files with 12 additions and 25 deletions

View File

@ -5,9 +5,9 @@ namespace App\Http\Controllers;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\Response;
class SetupController extends Controller
{
@ -15,7 +15,7 @@ class SetupController extends Controller
* Verifica la connessione al database secondo i parametri indicati nella richiesta.
* Restituisce un array di permessi mancanti in caso la connessione avvenga con successo, oppure null in caso contrario.
*/
final public function testDatabase(Request $request): JsonResponse
final public function testDatabase(Request $request): Response|JsonResponse
{
$database_name = $request->input('database_name');
@ -79,12 +79,10 @@ class SetupController extends Controller
}
if (count($requirements) === 0) {
return response()->json([
'success' => true,
]);
return response()->noContent();
}
return \response()->json([
'success' => false,
return response()->json([
'error' => __("L'utente del database non ha i seguenti permessi necessari: ", $requirements),
], Response::HTTP_BAD_REQUEST);
}

View File

@ -218,14 +218,13 @@ export default class SetupPage extends Page {
window.location.href = window.route('app.language', {language: event.target.value});
}
async testDatabase(silent = false): boolean {
async testDatabase(silentSuccess = false, silentError = false): boolean {
const form = $('form');
let response;
try {
response = await redaxios.options(window.route('setup.test'), {data: getFormData(form)});
await redaxios.options(window.route('setup.test'), {data: getFormData(form)});
} catch (error) {
if (!silent) {
if (!silentError) {
const alert = $('#test-connection-alert-error');
alert.find('.content').text(__('Si è verificato un errore durante la connessione al'
+ ' database: :error', {error: error.data.error}));
@ -234,20 +233,10 @@ export default class SetupPage extends Page {
return false;
}
if (response.data.success) {
if (!silent) {
document.querySelector('#test-connection-alert-success')
.show();
}
return true;
if (!silentSuccess) {
document.querySelector('#test-connection-alert-success')
.show();
}
if (!silent) {
const alert = $('#test-connection-alert-error');
alert.find('.content').text(__('Si è verificato un errore durante la connessione al'
+ ' database: :error', {error: response.data.error}));
alert.get(0).show();
}
return false;
return true;
}
}