TF-2858 Implement update event attendance status keywords property in email api

This commit is contained in:
dab246
2024-05-17 17:11:41 +07:00
committed by Dat H. Pham
parent 42ead79d67
commit c47013fadf
4 changed files with 93 additions and 0 deletions
@@ -1,6 +1,8 @@
import 'package:equatable/equatable.dart';
import 'package:flutter/cupertino.dart';
import 'package:jmap_dart_client/jmap/core/patch_object.dart';
import 'package:model/extensions/keyword_identifier_extension.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
enum EventActionType {
@@ -18,6 +20,40 @@ enum EventActionType {
return AppLocalizations.of(context).no;
}
}
PatchObject generateEventAttendanceStatusActionPath() {
switch(this) {
case EventActionType.yes:
return PatchObject({
KeyWordIdentifierExtension.acceptedEventAttendance.generatePath(): true,
KeyWordIdentifierExtension.tentativelyAcceptedEventAttendance.generatePath(): null,
KeyWordIdentifierExtension.rejectedEventAttendance.generatePath(): null,
});
case EventActionType.maybe:
return PatchObject({
KeyWordIdentifierExtension.acceptedEventAttendance.generatePath(): null,
KeyWordIdentifierExtension.tentativelyAcceptedEventAttendance.generatePath(): true,
KeyWordIdentifierExtension.rejectedEventAttendance.generatePath(): null,
});
case EventActionType.no:
return PatchObject({
KeyWordIdentifierExtension.acceptedEventAttendance.generatePath(): null,
KeyWordIdentifierExtension.tentativelyAcceptedEventAttendance.generatePath(): null,
KeyWordIdentifierExtension.rejectedEventAttendance.generatePath(): true,
});
}
}
String getToastMessageSuccess(BuildContext context) {
switch(this) {
case EventActionType.yes:
return AppLocalizations.of(context).youWillAttendThisMeeting;
case EventActionType.maybe:
return AppLocalizations.of(context).youMayAttendThisMeeting;
case EventActionType.no:
return AppLocalizations.of(context).youWillNotAttendThisMeeting;
}
}
}
class EventAction with EquatableMixin {