TF-3589 Calendar event attendance status

This commit is contained in:
DatDang
2025-04-03 13:38:51 +07:00
committed by Dat H. Pham
parent 5c163e9676
commit ad05c68453
26 changed files with 208 additions and 471 deletions
@@ -1,36 +0,0 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/email/domain/model/event_action.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_event_attendance_status_state.dart';
class StoreEventAttendanceStatusInteractor {
final EmailRepository _emailRepository;
StoreEventAttendanceStatusInteractor(this._emailRepository);
Stream<Either<Failure, Success>> execute(
Session session,
AccountId accountId,
EmailId emailId,
EventActionType eventActionType
) async* {
try {
yield Right(StoreEventAttendanceStatusLoading());
await _emailRepository.storeEventAttendanceStatus(
session,
accountId,
emailId,
eventActionType);
yield Right(StoreEventAttendanceStatusSuccess(eventActionType));
} catch (e) {
yield Left(StoreEventAttendanceStatusFailure(exception: e));
}
}
}