mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-04 20:30:35 +00:00
Added logs for save server database
This commit is contained in:
parent
df3034165e
commit
bb3f155971
4 changed files with 79 additions and 52 deletions
|
@ -201,34 +201,34 @@ class ServersProvider with ChangeNotifier {
|
|||
}
|
||||
}
|
||||
|
||||
Future<bool> createServer(Server server) async {
|
||||
Future<dynamic> createServer(Server server) async {
|
||||
final saved = await saveServerIntoDb(server);
|
||||
if (saved == true) {
|
||||
if (saved == null) {
|
||||
if (server.defaultServer == true) {
|
||||
final defaultServer = await setDefaultServer(server);
|
||||
if (defaultServer == true) {
|
||||
if (defaultServer == null) {
|
||||
_serversList.add(server);
|
||||
notifyListeners();
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
return defaultServer;
|
||||
}
|
||||
}
|
||||
else {
|
||||
_serversList.add(server);
|
||||
notifyListeners();
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
return saved;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> setDefaultServer(Server server) async {
|
||||
Future<dynamic> setDefaultServer(Server server) async {
|
||||
final updated = await setDefaultServerDb(server.id);
|
||||
if (updated == true) {
|
||||
if (updated == null) {
|
||||
List<Server> newServers = _serversList.map((s) {
|
||||
if (s.id == server.id) {
|
||||
s.defaultServer = true;
|
||||
|
@ -241,16 +241,16 @@ class ServersProvider with ChangeNotifier {
|
|||
}).toList();
|
||||
_serversList = newServers;
|
||||
notifyListeners();
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
return updated;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> editServer(Server server) async {
|
||||
Future<dynamic> editServer(Server server) async {
|
||||
final result = await editServerDb(server);
|
||||
if (result == true) {
|
||||
if (result == null) {
|
||||
List<Server> newServers = _serversList.map((s) {
|
||||
if (s.id == server.id) {
|
||||
return server;
|
||||
|
@ -261,10 +261,10 @@ class ServersProvider with ChangeNotifier {
|
|||
}).toList();
|
||||
_serversList = newServers;
|
||||
notifyListeners();
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -380,29 +380,29 @@ class ServersProvider with ChangeNotifier {
|
|||
}
|
||||
}
|
||||
|
||||
Future<bool> saveServerIntoDb(Server server) async {
|
||||
Future<dynamic> saveServerIntoDb(Server server) async {
|
||||
try {
|
||||
return await _dbInstance!.transaction((txn) async {
|
||||
await txn.rawInsert(
|
||||
'INSERT INTO servers (id, name, connectionMethod, domain, path, port, user, password, defaultServer, authToken, runningOnHa) VALUES ("${server.id}", "${server.name}", "${server.connectionMethod}", "${server.domain}", ${server.path != null ? "${server.path}" : null}, ${server.port}, "${server.user}", "${server.password}", 0, "${server.authToken}", ${convertFromBoolToInt(server.runningOnHa)})',
|
||||
);
|
||||
return true;
|
||||
return null;
|
||||
});
|
||||
} catch (e) {
|
||||
return false;
|
||||
return e;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> editServerDb(Server server) async {
|
||||
Future<dynamic> editServerDb(Server server) async {
|
||||
try {
|
||||
return await _dbInstance!.transaction((txn) async {
|
||||
await txn.rawUpdate(
|
||||
'UPDATE servers SET name = "${server.name}", connectionMethod = "${server.connectionMethod}", domain = "${server.domain}", path = ${server.path != null ? "${server.path}" : null}, port = ${server.port}, user = "${server.user}", password = "${server.password}", authToken = "${server.authToken}", runningOnHa = ${convertFromBoolToInt(server.runningOnHa)} WHERE id = "${server.id}"',
|
||||
);
|
||||
return true;
|
||||
return null;
|
||||
});
|
||||
} catch (e) {
|
||||
return false;
|
||||
return e;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -419,7 +419,7 @@ class ServersProvider with ChangeNotifier {
|
|||
}
|
||||
}
|
||||
|
||||
Future<bool> setDefaultServerDb(String id) async {
|
||||
Future<dynamic> setDefaultServerDb(String id) async {
|
||||
try {
|
||||
return await _dbInstance!.transaction((txn) async {
|
||||
await txn.rawUpdate(
|
||||
|
@ -428,10 +428,10 @@ class ServersProvider with ChangeNotifier {
|
|||
await txn.rawUpdate(
|
||||
'UPDATE servers SET defaultServer = 1 WHERE id = "$id"',
|
||||
);
|
||||
return true;
|
||||
return null;
|
||||
});
|
||||
} catch (e) {
|
||||
return false;
|
||||
return e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import 'package:adguard_home_manager/widgets/custom_radio_toggle.dart';
|
|||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/functions/encode_base64.dart';
|
||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||
import 'package:adguard_home_manager/models/app_log.dart';
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
import 'package:adguard_home_manager/models/server.dart';
|
||||
import 'package:adguard_home_manager/config/system_overlay_style.dart';
|
||||
|
@ -274,7 +275,7 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
if (result['result'] == 'success') {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user, serverObj.password);
|
||||
final serverCreated = await serversProvider.createServer(serverObj);
|
||||
if (serverCreated == true) {
|
||||
if (serverCreated == null) {
|
||||
serversProvider.setServerStatusLoad(0);
|
||||
final serverStatus = await getServerStatus(serverObj);
|
||||
if (serverStatus['result'] == 'success') {
|
||||
|
@ -288,6 +289,13 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
Navigator.pop(context);
|
||||
}
|
||||
else {
|
||||
appConfigProvider.addLog(
|
||||
AppLog(
|
||||
type: 'save_connection_db',
|
||||
dateTime: DateTime.now(),
|
||||
message: serverCreated.toString()
|
||||
)
|
||||
);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionNotCreated),
|
||||
|
@ -375,13 +383,20 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
if (result['result'] == 'success') {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user, serverObj.password);
|
||||
final serverSaved = await serversProvider.editServer(serverObj);
|
||||
if (serverSaved == true) {
|
||||
if (serverSaved == null) {
|
||||
Navigator.pop(context);
|
||||
}
|
||||
else {
|
||||
appConfigProvider.addLog(
|
||||
AppLog(
|
||||
type: 'edit_connection_db',
|
||||
dateTime: DateTime.now(),
|
||||
message: serverSaved.toString()
|
||||
)
|
||||
);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionNotUpdated),
|
||||
content: Text(AppLocalizations.of(context)!.connectionNotCreated),
|
||||
backgroundColor: Colors.red,
|
||||
)
|
||||
);
|
||||
|
|
|
@ -5,6 +5,8 @@ import 'package:provider/provider.dart';
|
|||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/models/server.dart';
|
||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
|
||||
class DeleteModal extends StatelessWidget {
|
||||
|
@ -18,24 +20,25 @@ class DeleteModal extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
void removeServer() async {
|
||||
final deleted = await serversProvider.removeServer(serverToDelete);
|
||||
Navigator.pop(context);
|
||||
if (deleted == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionRemoved),
|
||||
backgroundColor: Colors.green,
|
||||
)
|
||||
showSnacbkar(
|
||||
context: context,
|
||||
appConfigProvider: appConfigProvider,
|
||||
label: AppLocalizations.of(context)!.connectionRemoved,
|
||||
color: Colors.green
|
||||
);
|
||||
}
|
||||
else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionCannotBeRemoved),
|
||||
backgroundColor: Colors.red,
|
||||
)
|
||||
showSnacbkar(
|
||||
context: context,
|
||||
appConfigProvider: appConfigProvider,
|
||||
label: AppLocalizations.of(context)!.connectionCannotBeRemoved,
|
||||
color: Colors.red
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// ignore_for_file: use_build_context_synchronously
|
||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:expandable/expandable.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
@ -8,6 +9,7 @@ import 'package:adguard_home_manager/widgets/servers_list/delete_modal.dart';
|
|||
import 'package:adguard_home_manager/widgets/add_server_modal.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/models/app_log.dart';
|
||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||
import 'package:adguard_home_manager/models/server.dart';
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
|
@ -127,32 +129,39 @@ class _ServersListState extends State<ServersList> with SingleTickerProviderStat
|
|||
else {
|
||||
process.close();
|
||||
appConfigProvider.addLog(result['log']);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.cannotConnect),
|
||||
backgroundColor: Colors.red,
|
||||
)
|
||||
showSnacbkar(
|
||||
context: context,
|
||||
appConfigProvider: appConfigProvider,
|
||||
label: AppLocalizations.of(context)!.cannotConnect,
|
||||
color: Colors.red
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void setDefaultServer(Server server) async {
|
||||
final result = await serversProvider.setDefaultServer(server);
|
||||
if (result == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionDefaultSuccessfully),
|
||||
backgroundColor: Colors.green,
|
||||
)
|
||||
if (result == null) {
|
||||
showSnacbkar(
|
||||
context: context,
|
||||
appConfigProvider: appConfigProvider,
|
||||
label: AppLocalizations.of(context)!.connectionDefaultSuccessfully,
|
||||
color: Colors.green
|
||||
);
|
||||
}
|
||||
else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.connectionDefaultFailed),
|
||||
backgroundColor: Colors.red,
|
||||
appConfigProvider.addLog(
|
||||
AppLog(
|
||||
type: 'set_default_server',
|
||||
dateTime: DateTime.now(),
|
||||
message: result.toString()
|
||||
)
|
||||
);
|
||||
showSnacbkar(
|
||||
context: context,
|
||||
appConfigProvider: appConfigProvider,
|
||||
label: AppLocalizations.of(context)!.connectionDefaultFailed,
|
||||
color: Colors.red
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue