Skip to content

Commit 21d15bc

Browse files
tddang-linagorahoangdat
authored andcommitted
Add calendar event capability properties
1 parent 76e83e4 commit 21d15bc

File tree

4 files changed

+66
-0
lines changed

4 files changed

+66
-0
lines changed

lib/http/converter/capabilities_converter.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:built_collection/built_collection.dart';
2+
import 'package:jmap_dart_client/jmap/core/capability/calendar_event_capability.dart';
23
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
34
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';
45
import 'package:jmap_dart_client/jmap/core/capability/core_capability.dart';
@@ -22,6 +23,7 @@ class CapabilitiesConverter {
2223
CapabilityIdentifier.jmapMail: MailCapability.deserialize,
2324
CapabilityIdentifier.jmapCore: CoreCapability.deserialize,
2425
CapabilityIdentifier.jmapSubmission: SubmissionCapability.deserialize,
26+
CapabilityIdentifier.jamesCalendarEvent: CalendarEventCapability.deserialize,
2527
CapabilityIdentifier.jmapVacationResponse: VacationCapability.deserialize,
2628
CapabilityIdentifier.jmapWebSocket: WebSocketCapability.deserialize,
2729
CapabilityIdentifier.jmapMdn: MdnCapability.deserialize
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';
2+
import 'package:json_annotation/json_annotation.dart';
3+
4+
part 'calendar_event_capability.g.dart';
5+
6+
@JsonSerializable(includeIfNull: false)
7+
class CalendarEventCapability extends CapabilityProperties {
8+
final List<String>? replySupportedLanguage;
9+
10+
CalendarEventCapability({this.replySupportedLanguage});
11+
12+
factory CalendarEventCapability.fromJson(Map<String, dynamic> json)
13+
=> _$CalendarEventCapabilityFromJson(json);
14+
15+
Map<String, dynamic> toJson() => _$CalendarEventCapabilityToJson(this);
16+
17+
static CalendarEventCapability deserialize(Map<String, dynamic> json) {
18+
return CalendarEventCapability.fromJson(json);
19+
}
20+
21+
@override
22+
List<Object?> get props => [replySupportedLanguage];
23+
}

lib/jmap/core/capability/calendar_event_capability.g.dart

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/jmap/core/session/session_test.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart';
44
import 'package:jmap_dart_client/http/converter/capabilities_converter.dart';
55
import 'package:jmap_dart_client/jmap/account_id.dart';
66
import 'package:jmap_dart_client/jmap/core/account/account.dart';
7+
import 'package:jmap_dart_client/jmap/core/capability/calendar_event_capability.dart';
78
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
89
import 'package:jmap_dart_client/jmap/core/capability/core_capability.dart';
910
import 'package:jmap_dart_client/jmap/core/capability/default_capability.dart';
@@ -30,6 +31,12 @@ void main() {
3031
"maxDelayedSend": 0,
3132
"submissionExtensions": {}
3233
},
34+
"com:linagora:params:calendar:event": {
35+
"replySupportedLanguage": [
36+
"en",
37+
"fr"
38+
]
39+
},
3340
"urn:ietf:params:jmap:core": {
3441
"maxSizeUpload": 20971520,
3542
"maxConcurrentUpload": 4,
@@ -116,6 +123,7 @@ void main() {
116123
},
117124
"primaryAccounts": {
118125
"urn:ietf:params:jmap:submission": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
126+
"com:linagora:params:calendar:event": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
119127
"urn:ietf:params:jmap:websocket": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
120128
"urn:ietf:params:jmap:core": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
121129
"urn:ietf:params:jmap:mail": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
@@ -138,6 +146,9 @@ void main() {
138146
maxDelayedSend: UnsignedInt(0),
139147
submissionExtensions: {}
140148
),
149+
CapabilityIdentifier.jamesCalendarEvent: CalendarEventCapability(
150+
replySupportedLanguage: ["en", "fr"]
151+
),
141152
CapabilityIdentifier.jmapCore: CoreCapability(
142153
maxSizeUpload: UnsignedInt(20971520),
143154
maxConcurrentUpload: UnsignedInt(4),
@@ -204,6 +215,7 @@ void main() {
204215
},
205216
{
206217
CapabilityIdentifier.jmapSubmission: AccountId(Id('29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6')),
218+
CapabilityIdentifier.jamesCalendarEvent: AccountId(Id('29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6')),
207219
CapabilityIdentifier.jmapWebSocket: AccountId(Id('29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6')),
208220
CapabilityIdentifier.jmapCore: AccountId(Id('29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6')),
209221
CapabilityIdentifier.jmapMail: AccountId(Id('29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6')),

0 commit comments

Comments
 (0)