Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 21 additions & 20 deletions lib/jmap/core/capability/core_capability.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/http/converter/collation_identifier_converter.dart';
import 'package:jmap_dart_client/http/converter/unsigned_int_converter.dart';
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/sort/collation_identifier.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
Expand All @@ -9,27 +9,28 @@ import 'package:json_annotation/json_annotation.dart';
part 'core_capability.g.dart';

@CollationIdentifierConverter()
@UnsignedIntConverter()
@JsonSerializable()
@UnsignedIntNullableConverter()
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class CoreCapability extends CapabilityProperties with EquatableMixin {
final UnsignedInt maxSizeUpload;
final UnsignedInt maxConcurrentUpload;
final UnsignedInt maxSizeRequest;
final UnsignedInt maxConcurrentRequests;
final UnsignedInt maxCallsInRequest;
final UnsignedInt maxObjectsInGet;
final UnsignedInt maxObjectsInSet;
final Set<CollationIdentifier> collationAlgorithms;
final UnsignedInt? maxSizeUpload;
final UnsignedInt? maxConcurrentUpload;
final UnsignedInt? maxSizeRequest;
final UnsignedInt? maxConcurrentRequests;
final UnsignedInt? maxCallsInRequest;
final UnsignedInt? maxObjectsInGet;
final UnsignedInt? maxObjectsInSet;
final Set<CollationIdentifier>? collationAlgorithms;

CoreCapability(
this.maxSizeUpload,
this.maxConcurrentUpload,
this.maxSizeRequest,
this.maxConcurrentRequests,
this.maxCallsInRequest,
this.maxObjectsInGet,
this.maxObjectsInSet,
this.collationAlgorithms);
CoreCapability({
this.maxSizeUpload,
this.maxConcurrentUpload,
this.maxSizeRequest,
this.maxConcurrentRequests,
this.maxCallsInRequest,
this.maxObjectsInGet,
this.maxObjectsInSet,
this.collationAlgorithms
});

factory CoreCapability.fromJson(Map<String, dynamic> json) => _$CoreCapabilityFromJson(json);

Expand Down
89 changes: 55 additions & 34 deletions lib/jmap/core/capability/core_capability.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/jmap/core/capability/default_capability.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';

class DefaultCapability extends CapabilityProperties with EquatableMixin {
final Map<String, dynamic> properties;
final Map<String, dynamic>? properties;

DefaultCapability(this.properties);

Expand Down
24 changes: 14 additions & 10 deletions lib/jmap/core/capability/mail_capability.dart
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/http/converter/unsigned_int_converter.dart';
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 'mail_capability.g.dart';

@UnsignedIntConverter()
@UnsignedIntNullableConverter()
@JsonSerializable()
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class MailCapability extends CapabilityProperties with EquatableMixin {

final UnsignedInt? maxMailboxesPerEmail;
final UnsignedInt? maxMailboxDepth;
final UnsignedInt maxSizeMailboxName;
final UnsignedInt maxSizeAttachmentsPerEmail;
final Set<String> emailQuerySortOptions;
final bool mayCreateTopLevelMailbox;

MailCapability(
final UnsignedInt? maxSizeMailboxName;
final UnsignedInt? maxKeywordsPerEmail;
final UnsignedInt? maxSizeAttachmentsPerEmail;
final Set<String>? emailQuerySortOptions;
final Set<String>? emailsListSortOptions;
final bool? mayCreateTopLevelMailbox;

MailCapability({
this.maxMailboxesPerEmail,
this.maxMailboxDepth,
this.maxSizeMailboxName,
this.maxKeywordsPerEmail,
this.maxSizeAttachmentsPerEmail,
this.emailQuerySortOptions,
this.emailsListSortOptions,
this.mayCreateTopLevelMailbox,
);
});

factory MailCapability.fromJson(Map<String, dynamic> json) => _$MailCapabilityFromJson(json);

Expand All @@ -41,8 +43,10 @@ class MailCapability extends CapabilityProperties with EquatableMixin {
maxMailboxesPerEmail,
maxMailboxDepth,
maxSizeMailboxName,
maxKeywordsPerEmail,
maxSizeAttachmentsPerEmail,
emailQuerySortOptions,
emailsListSortOptions,
mayCreateTopLevelMailbox
];
}
80 changes: 52 additions & 28 deletions lib/jmap/core/capability/mail_capability.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 5 additions & 6 deletions lib/jmap/core/capability/submission_capability.dart
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/http/converter/unsigned_int_converter.dart';
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 'submission_capability.g.dart';

@UnsignedIntConverter()
@JsonSerializable()
@UnsignedIntNullableConverter()
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class SubmissionCapability extends CapabilityProperties with EquatableMixin {
final UnsignedInt maxDelayedSend;
final Set<String> submissionExtensions;
final UnsignedInt? maxDelayedSend;
final Map<String, List<String>>? submissionExtensions;

SubmissionCapability(this.maxDelayedSend, this.submissionExtensions);
SubmissionCapability({this.maxDelayedSend, this.submissionExtensions});

factory SubmissionCapability.fromJson(Map<String, dynamic> json) => _$SubmissionCapabilityFromJson(json);

Expand Down
39 changes: 25 additions & 14 deletions lib/jmap/core/capability/submission_capability.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions lib/jmap/core/capability/vacation_capability.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions lib/jmap/core/capability/websocket_capability.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import 'package:json_annotation/json_annotation.dart';

part 'websocket_capability.g.dart';

@JsonSerializable()
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class WebSocketCapability extends CapabilityProperties {
final bool supportsPush;
final Uri url;
final bool? supportsPush;
final Uri? url;

WebSocketCapability(this.supportsPush, this.url);
WebSocketCapability({this.supportsPush, this.url});

factory WebSocketCapability.fromJson(Map<String, dynamic> json) => _$WebSocketCapabilityFromJson(json);

Expand Down
Loading