TF-3226 Parsing minInputLength from Autocomplete capability in session

This commit is contained in:
dab246
2024-10-25 15:47:15 +07:00
committed by Dat H. Pham
parent e002be63b5
commit b344062068
7 changed files with 293 additions and 2 deletions
@@ -0,0 +1,31 @@
import 'package:jmap_dart_client/http/converter/unsigned_int_nullable_converter.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:json_annotation/json_annotation.dart';
part 'autocomplete_capability.g.dart';
@JsonSerializable(
explicitToJson: true,
includeIfNull: false,
converters: [
UnsignedIntNullableConverter()
]
)
class AutocompleteCapability extends CapabilityProperties {
final UnsignedInt? minInputLength;
AutocompleteCapability({this.minInputLength});
factory AutocompleteCapability.fromJson(Map<String, dynamic> json)
=> _$AutocompleteCapabilityFromJson(json);
Map<String, dynamic> toJson() => _$AutocompleteCapabilityToJson(this);
static AutocompleteCapability deserialize(Map<String, dynamic> json) {
return AutocompleteCapability.fromJson(json);
}
@override
List<Object?> get props => [minInputLength];
}
+2 -1
View File
@@ -11,4 +11,5 @@ export 'data/datasource_impl/tmail_contact_datasource_impl.dart';
export 'contact/autocomplete/autocomplete_tmail_contact_method.dart';
export 'contact/autocomplete/autocomplete_tmail_contact_response.dart';
export 'contact/model/capability_contact.dart';
export 'contact/model/capability_contact.dart';
export 'contact/model/autocomplete_capability.dart';