TF-836: Create module forward

This commit is contained in:
ManhNTX
2022-08-16 10:56:06 +07:00
committed by Dat H. Pham
parent 12acee9f3a
commit 14d70cc1ab
13 changed files with 404 additions and 0 deletions
@@ -0,0 +1,39 @@
import 'package:forward/forward/capability_forward.dart';
import 'package:forward/forward/converter/rule_filter_id_coverter.dart';
import 'package:jmap_dart_client/http/converter/account_id_converter.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/http/converter/properties_converter.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
import 'package:jmap_dart_client/jmap/core/method/request/get_method.dart';
import 'package:jmap_dart_client/jmap/core/request/request_invocation.dart';
import 'package:jmap_dart_client/jmap/core/request/result_reference.dart';
import 'package:json_annotation/json_annotation.dart';
part 'get_forward_method.g.dart';
@IdConverter()
@ForwardIdConverter()
@AccountIdConverter()
@PropertiesConverter()
@JsonSerializable(explicitToJson: true)
class GetForwardMethod extends GetMethod {
GetForwardMethod(AccountId accountId) : super(accountId);
@override
MethodName get methodName => MethodName('Forward/get');
@override
Set<CapabilityIdentifier> get requiredCapabilities => {
CapabilityIdentifier.jmapCore,
capabilityForward,
};
@override
List<Object?> get props => [methodName, accountId, ids, requiredCapabilities];
factory GetForwardMethod.fromJson(Map<String, dynamic> json) => _$GetForwardMethodFromJson(json);
@override
Map<String, dynamic> toJson() => _$GetForwardMethodToJson(this);
}
@@ -0,0 +1,30 @@
import 'package:forward/forward/tmail_forward.dart';
import 'package:jmap_dart_client/http/converter/account_id_converter.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/http/converter/state_converter.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/method/response/get_response.dart';
import 'package:jmap_dart_client/jmap/core/state.dart';
import 'package:json_annotation/json_annotation.dart';
part 'get_forward_response.g.dart';
@StateConverter()
@AccountIdConverter()
@IdConverter()
@JsonSerializable()
class GetForwardResponse extends GetResponse<TmailForward> {
GetForwardResponse(AccountId accountId, State state, List<TmailForward> list, List<Id>? notFound) : super(accountId, state, list, notFound);
factory GetForwardResponse.fromJson(Map<String, dynamic> json) => _$GetForwardResponseFromJson(json);
static GetForwardResponse deserialize(Map<String, dynamic> json) {
return GetForwardResponse.fromJson(json);
}
Map<String, dynamic> toJson() => _$GetForwardResponseToJson(this);
@override
List<Object?> get props => [accountId, state, list, notFound];
}