Users can now choose whether or not to save response results

This commit is contained in:
Ankit Mahato
2023-05-04 12:49:34 +05:30
parent 464e6e8c20
commit 26207a9fc7
3 changed files with 12 additions and 7 deletions

View File

@ -139,7 +139,7 @@ class RequestModel {
);
}
Map<String, dynamic> toJson() {
Map<String, dynamic> toJson({bool includeResponse = true}) {
return {
"id": id,
"method": method.name,
@ -150,9 +150,9 @@ class RequestModel {
"requestParams": rowsToMap(requestParams),
"requestBodyContentType": requestBodyContentType.name,
"requestBody": requestBody,
"responseStatus": responseStatus,
"message": message,
"responseModel": responseModel?.toJson(),
"responseStatus": includeResponse ? responseStatus : null,
"message": includeResponse ? message : null,
"responseModel": includeResponse ? responseModel?.toJson() : null,
};
}

View File

@ -188,10 +188,15 @@ class CollectionStateNotifier extends StateNotifier<List<RequestModel>?> {
}
Future<void> saveData() async {
final saveResponse =
ref.read(settingsProvider.select((value) => value.saveResponses));
final ids = getIds();
await hiveHandler.setIds(ids);
for (var e in state!) {
await hiveHandler.setRequestModel(e.id, e.toJson());
await hiveHandler.setRequestModel(
e.id,
e.toJson(includeResponse: saveResponse),
);
}
await hiveHandler.removeUnused();
}

View File

@ -64,8 +64,8 @@ class _SettingsPageState extends ConsumerState<SettingsPage> {
CheckboxListTile(
contentPadding: EdgeInsets.zero,
title: const Text("Save Responses"),
subtitle: const Text(
"Saves disk space & clears all previous responses on App start"),
subtitle:
const Text("Save disk space by not storing API responses"),
value: settings.saveResponses,
onChanged: (value) {
ref