TF-4233 Check label id is null

This commit is contained in:
dab246
2026-01-23 11:27:52 +07:00
committed by Dat H. Pham
parent 5a0929bff2
commit 6551750bd2
2 changed files with 16 additions and 1 deletions
@@ -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';
}
@@ -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,
);