mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-04 20:30:35 +00:00
Added logs screen and list
This commit is contained in:
parent
e657b2e626
commit
1235d6c75e
10 changed files with 666 additions and 2 deletions
|
@ -5,6 +5,7 @@ import 'dart:convert';
|
|||
import 'dart:io';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
import 'package:adguard_home_manager/models/logs.dart';
|
||||
import 'package:adguard_home_manager/models/app_log.dart';
|
||||
import 'package:adguard_home_manager/models/server_status.dart';
|
||||
import 'package:adguard_home_manager/models/clients.dart';
|
||||
|
@ -355,4 +356,73 @@ Future requestAllowedBlockedClientsHosts(Server server, Map<String, List<String>
|
|||
} catch (e) {
|
||||
return {'result': 'error'};
|
||||
}
|
||||
}
|
||||
|
||||
Future getLogs({
|
||||
required Server server,
|
||||
required int count,
|
||||
int? offset
|
||||
}) async {
|
||||
final result = await getRequest(
|
||||
urlPath: '/querylog?limit=$count${offset != null ? '&offset=$offset' : ''}',
|
||||
server: server
|
||||
);
|
||||
|
||||
if (result.statusCode == 200) {
|
||||
return {
|
||||
'result': 'success',
|
||||
'data': LogsData.fromJson(jsonDecode(result.body))
|
||||
};
|
||||
}
|
||||
else {
|
||||
return {
|
||||
'result': 'error',
|
||||
'log': AppLog(
|
||||
type: 'logs',
|
||||
dateTime: DateTime.now(),
|
||||
message: 'error_code_not_expected',
|
||||
statusCode: result.statusCode,
|
||||
resBody: result.body
|
||||
)
|
||||
};
|
||||
}
|
||||
try {
|
||||
} on SocketException {
|
||||
return {
|
||||
'result': 'no_connection',
|
||||
'log': AppLog(
|
||||
type: 'logs',
|
||||
dateTime: DateTime.now(),
|
||||
message: 'SocketException'
|
||||
)
|
||||
};
|
||||
} on TimeoutException {
|
||||
return {
|
||||
'result': 'no_connection',
|
||||
'log': AppLog(
|
||||
type: 'logs',
|
||||
dateTime: DateTime.now(),
|
||||
message: 'TimeoutException'
|
||||
)
|
||||
};
|
||||
} on HandshakeException {
|
||||
return {
|
||||
'result': 'ssl_error',
|
||||
'message': 'HandshakeException',
|
||||
'log': AppLog(
|
||||
type: 'logs',
|
||||
dateTime: DateTime.now(),
|
||||
message: 'TimeoutException'
|
||||
)
|
||||
};
|
||||
} catch (e) {
|
||||
return {
|
||||
'result': 'error',
|
||||
'log': AppLog(
|
||||
type: 'logs',
|
||||
dateTime: DateTime.now(),
|
||||
message: e.toString()
|
||||
)
|
||||
};
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue