From 6551750bd2e8d927921ca1ddd385939da0957eae Mon Sep 17 00:00:00 2001 From: dab246 Date: Fri, 23 Jan 2026 11:27:52 +0700 Subject: [PATCH] TF-4233 Check label id is null --- .../labels/domain/exceptions/label_exceptions.dart | 5 +++++ .../handle_label_action_type_extension.dart | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/features/labels/domain/exceptions/label_exceptions.dart b/lib/features/labels/domain/exceptions/label_exceptions.dart index c361c1e31..cffa93769 100644 --- a/lib/features/labels/domain/exceptions/label_exceptions.dart +++ b/lib/features/labels/domain/exceptions/label_exceptions.dart @@ -2,3 +2,8 @@ class LabelKeywordIsNull implements Exception { @override String toString() => 'Label keyword is null'; } + +class LabelIdIsNull implements Exception { + @override + String toString() => 'Label id is null'; +} diff --git a/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart b/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart index e128c06ed..98c44a01e 100644 --- a/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart +++ b/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart @@ -5,6 +5,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:labels/extensions/list_label_extension.dart'; import 'package:labels/model/label.dart'; import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart'; +import 'package:tmail_ui_user/features/labels/domain/exceptions/label_exceptions.dart'; import 'package:tmail_ui_user/features/labels/domain/model/edit_label_request.dart'; import 'package:tmail_ui_user/features/labels/domain/state/edit_label_state.dart'; import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart'; @@ -73,8 +74,17 @@ extension HandleLabelActionTypeExtension on LabelController { Stream.value(Left(EditLabelFailure(InteractorNotInitialized()))), ); } else { + final labelId = selectedLabel.id; + + if (labelId == null) { + consumeState( + Stream.value(Left(EditLabelFailure(LabelIdIsNull()))), + ); + return; + } + final labelRequest = EditLabelRequest( - labelId: selectedLabel.id!, + labelId: labelId, labelKeyword: selectedLabel.keyword, newLabel: newLabel, );