Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions lib/features/mongodb/mongo_collections_view.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'dart:math' show min;

Expand Down Expand Up @@ -177,10 +179,10 @@ class _MongoCollectionsViewState extends material.State<MongoCollectionsView> {
);
_newCollController.clear();
await _load();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to create collection: $e';
_error = failureMessage('Failed to create collection', e, where: 'MongoCollectionsView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand All @@ -203,10 +205,10 @@ class _MongoCollectionsViewState extends material.State<MongoCollectionsView> {
name,
);
await _load();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to drop collection: $e';
_error = failureMessage('Failed to drop collection', e, where: 'MongoCollectionsView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down
14 changes: 8 additions & 6 deletions lib/features/mongodb/mongo_databases_view.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter/material.dart' as material;
import 'package:querya_desktop/core/theme/querya_ui_colors.dart';
Expand Down Expand Up @@ -136,7 +138,7 @@ class _MongoDatabasesViewState extends State<MongoDatabasesView> {
_isLoading = false;
});
}
} catch (e) {
} catch (e, st) {
final fallback = _connection?.effectiveDatabase;
if (fallback != null &&
fallback.isNotEmpty &&
Expand All @@ -152,7 +154,7 @@ class _MongoDatabasesViewState extends State<MongoDatabasesView> {
}
if (mounted) {
setState(() {
_error = 'Failed to list databases: $e';
_error = failureMessage('Failed to list databases', e, where: 'MongoDatabasesView', stack: st, driver: DatabaseDriver.mongodb);
_isLoading = false;
});
}
Expand Down Expand Up @@ -181,10 +183,10 @@ class _MongoDatabasesViewState extends State<MongoDatabasesView> {
);
_newDbController.clear();
await _loadDatabases();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to create database: $e';
_error = failureMessage('Failed to create database', e, where: 'MongoDatabasesView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand All @@ -209,10 +211,10 @@ class _MongoDatabasesViewState extends State<MongoDatabasesView> {
{'dropDatabase': 1},
);
await _loadDatabases();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to drop database: $e';
_error = failureMessage('Failed to drop database', e, where: 'MongoDatabasesView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down
14 changes: 8 additions & 6 deletions lib/features/mongodb/mongo_document_editor.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'dart:async' show unawaited;

Expand Down Expand Up @@ -112,9 +114,9 @@ class _MongoDocumentEditorState extends material.State<MongoDocumentEditor> {
setState(() {
_dirty = false;
});
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() => _error = 'Failed to reload: $e');
setState(() => _error = failureMessage('Failed to reload', e, where: 'MongoDocumentEditor', stack: st, driver: DatabaseDriver.mongodb));
}
}
}
Expand Down Expand Up @@ -196,11 +198,11 @@ class _MongoDocumentEditorState extends material.State<MongoDocumentEditor> {
Future.delayed(const Duration(seconds: 3), () {
if (mounted) setState(() => _success = null);
});
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_saving = false;
_error = 'Failed to save: $e';
_error = failureMessage('Failed to save', e, where: 'MongoDocumentEditor', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down Expand Up @@ -234,11 +236,11 @@ class _MongoDocumentEditorState extends material.State<MongoDocumentEditor> {
);
if (!mounted) return;
widget.onDocumentDeleted?.call();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_deleting = false;
_error = 'Failed to delete: $e';
_error = failureMessage('Failed to delete', e, where: 'MongoDocumentEditor', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down
10 changes: 6 additions & 4 deletions lib/features/mongodb/mongo_documents_view.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'dart:async' show unawaited;

Expand Down Expand Up @@ -297,10 +299,10 @@ class _MongoDocumentsViewState extends material.State<MongoDocumentsView> {
doc,
);
await _load();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to insert: $e';
_error = failureMessage('Failed to insert', e, where: 'MongoDocumentsView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down Expand Up @@ -356,10 +358,10 @@ class _MongoDocumentsViewState extends material.State<MongoDocumentsView> {
{'_id': id},
);
await _load();
} catch (e) {
} catch (e, st) {
if (mounted) {
setState(() {
_error = 'Failed to delete: $e';
_error = failureMessage('Failed to delete', e, where: 'MongoDocumentsView', stack: st, driver: DatabaseDriver.mongodb);
});
}
}
Expand Down
15 changes: 10 additions & 5 deletions lib/features/mongodb/mongo_indexes_view.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'dart:async' show unawaited;

Expand Down Expand Up @@ -176,12 +178,15 @@ class _MongoIndexesViewState extends material.State<MongoIndexesView> {
variant: AppToastVariant.success,
);
unawaited(_load());
} catch (e) {
} catch (e, st) {
if (!mounted) return;
showAppToast(
context: context,
message: 'Failed to drop index: $e',
variant: AppToastVariant.error,
reportError(
context,
e,
stack: st,
where: 'MongoIndexesView',
action: 'Failed to drop index',
driver: DatabaseDriver.mongodb,
);
}
}
Expand Down
6 changes: 4 additions & 2 deletions lib/features/mongodb/mongodb_connection_form.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:querya_desktop/shared/report_error.dart';
import 'package:querya_desktop/core/database/database_error_mapper.dart';
import 'package:flutter/widgets.dart';
import 'dart:async';

Expand Down Expand Up @@ -321,8 +323,8 @@ class _MongoConnectionFormContentState
if (mounted) {
_showTestResult(result.ok ? 'success' : (result.error ?? 'failed'));
}
} catch (e) {
if (mounted) _showTestResult('error: $e');
} catch (e, st) {
if (mounted) _showTestResult(failureMessage('error', e, where: 'MongoConnectionForm', stack: st, driver: DatabaseDriver.mongodb));
}
}

Expand Down
Loading