TF-2298 Update expires time when old token has expired
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit fb26afe8f52df6e16476aea8a68f9f92c5c4b001)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
import 'package:fcm/model/fcm_token.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FcmTokenNullableConverter implements JsonConverter<FcmToken?, String?> {
|
||||
const FcmTokenNullableConverter();
|
||||
|
||||
@override
|
||||
FcmToken? fromJson(String? json) => json != null ? FcmToken(json) : null;
|
||||
|
||||
@override
|
||||
String? toJson(FcmToken? object) => object?.value;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
import 'package:fcm/model/firebase_expired_time.dart';
|
||||
import 'package:jmap_dart_client/http/converter/utc_date_converter.dart';
|
||||
import 'package:jmap_dart_client/http/converter/utc_date_nullable_converter.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FirebaseExpiredTimeNullableConverter implements JsonConverter<FirebaseExpiredTime?, String?> {
|
||||
const FirebaseExpiredTimeNullableConverter();
|
||||
|
||||
@override
|
||||
FirebaseExpiredTime? fromJson(String? json) {
|
||||
if (json != null) {
|
||||
return FirebaseExpiredTime(const UTCDateConverter().fromJson(json));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
String? toJson(FirebaseExpiredTime? object) => const UTCDateNullableConverter().toJson(object?.value);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import 'package:fcm/model/firebase_registration_expired_time.dart';
|
||||
import 'package:jmap_dart_client/http/converter/utc_date_converter.dart';
|
||||
import 'package:jmap_dart_client/http/converter/utc_date_nullable_converter.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FirebaseRegistrationExpiredTimeNullableConverter implements JsonConverter<FirebaseRegistrationExpiredTime?, String?> {
|
||||
const FirebaseRegistrationExpiredTimeNullableConverter();
|
||||
|
||||
@override
|
||||
FirebaseRegistrationExpiredTime? fromJson(String? json) {
|
||||
if (json != null) {
|
||||
return FirebaseRegistrationExpiredTime(const UTCDateConverter().fromJson(json));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
String? toJson(FirebaseRegistrationExpiredTime? object) => const UTCDateNullableConverter().toJson(object?.value);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import 'package:fcm/model/firebase_registration_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FirebaseRegistrationIdNullableConverter implements JsonConverter<FirebaseRegistrationId?, String?> {
|
||||
const FirebaseRegistrationIdNullableConverter();
|
||||
|
||||
@override
|
||||
FirebaseRegistrationId? fromJson(String? json) => json != null ? FirebaseRegistrationId(Id(json)) : null;
|
||||
|
||||
@override
|
||||
String? toJson(FirebaseRegistrationId? object) => object?.id.value;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
import 'package:fcm/model/firebase_subscription_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FirebaseSubscriptionIdNullableConverter implements JsonConverter<FirebaseSubscriptionId?, String?> {
|
||||
const FirebaseSubscriptionIdNullableConverter();
|
||||
|
||||
@override
|
||||
FirebaseSubscriptionId? fromJson(String? json) => json != null ? FirebaseSubscriptionId(Id(json)) : null;
|
||||
|
||||
@override
|
||||
String? toJson(FirebaseSubscriptionId? object) => object?.id.value;
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
import 'package:fcm/model/firebase_token.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
class FirebaseTokenNullableConverter implements JsonConverter<FirebaseToken?, String?> {
|
||||
const FirebaseTokenNullableConverter();
|
||||
|
||||
@override
|
||||
FirebaseToken? fromJson(String? json) => json != null ? FirebaseToken(json) : null;
|
||||
|
||||
@override
|
||||
String? toJson(FirebaseToken? object) => object?.value;
|
||||
}
|
||||
+5
-5
@@ -7,14 +7,14 @@ 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 'firebase_subscription_get_method.g.dart';
|
||||
part 'firebase_registration_get_method.g.dart';
|
||||
|
||||
@IdConverter()
|
||||
@PropertiesConverter()
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class FirebaseSubscriptionGetMethod extends GetMethodNoNeedAccountId {
|
||||
class FirebaseRegistrationGetMethod extends GetMethodNoNeedAccountId {
|
||||
|
||||
FirebaseSubscriptionGetMethod() : super();
|
||||
FirebaseRegistrationGetMethod() : super();
|
||||
|
||||
@override
|
||||
MethodName get methodName => MethodName('FirebaseRegistration/get');
|
||||
@@ -28,8 +28,8 @@ class FirebaseSubscriptionGetMethod extends GetMethodNoNeedAccountId {
|
||||
@override
|
||||
List<Object?> get props => [methodName, ids, requiredCapabilities];
|
||||
|
||||
factory FirebaseSubscriptionGetMethod.fromJson(Map<String, dynamic> json) => _$FirebaseSubscriptionGetMethodFromJson(json);
|
||||
factory FirebaseRegistrationGetMethod.fromJson(Map<String, dynamic> json) => _$FirebaseRegistrationGetMethodFromJson(json);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() => _$FirebaseSubscriptionGetMethodToJson(this);
|
||||
Map<String, dynamic> toJson() => _$FirebaseRegistrationGetMethodToJson(this);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import 'package:fcm/model/firebase_registration.dart';
|
||||
import 'package:jmap_dart_client/http/converter/id_converter.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/method/response/get_response.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'firebase_registration_get_response.g.dart';
|
||||
|
||||
@IdConverter()
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class FirebaseRegistrationGetResponse extends GetResponseNoAccountId<FirebaseRegistration> {
|
||||
|
||||
FirebaseRegistrationGetResponse(
|
||||
List<FirebaseRegistration> list,
|
||||
List<Id>? notFound
|
||||
) : super(list, notFound);
|
||||
|
||||
factory FirebaseRegistrationGetResponse.fromJson(Map<String, dynamic> json) =>
|
||||
_$FirebaseRegistrationGetResponseFromJson(json);
|
||||
|
||||
static FirebaseRegistrationGetResponse deserialize(Map<String, dynamic> json) {
|
||||
return FirebaseRegistrationGetResponse.fromJson(json);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => _$FirebaseRegistrationGetResponseToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [list, notFound];
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
import 'package:fcm/model/firebase_subscription.dart';
|
||||
import 'package:jmap_dart_client/http/converter/id_converter.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/method/response/get_response.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'firebase_subscription_get_response.g.dart';
|
||||
|
||||
@IdConverter()
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class FirebaseSubscriptionGetResponse extends GetResponseNoAccountId<FirebaseSubscription> {
|
||||
|
||||
FirebaseSubscriptionGetResponse(
|
||||
List<FirebaseSubscription> list,
|
||||
List<Id>? notFound
|
||||
) : super(list, notFound);
|
||||
|
||||
factory FirebaseSubscriptionGetResponse.fromJson(Map<String, dynamic> json) =>
|
||||
_$FirebaseSubscriptionGetResponseFromJson(json);
|
||||
|
||||
static FirebaseSubscriptionGetResponse deserialize(Map<String, dynamic> json) {
|
||||
return FirebaseSubscriptionGetResponse.fromJson(json);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => _$FirebaseSubscriptionGetResponseToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [list, notFound];
|
||||
}
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
import 'package:fcm/model/firebase_subscription.dart';
|
||||
import 'package:fcm/model/firebase_registration.dart';
|
||||
import 'package:fcm/model/firebase_capability.dart';
|
||||
import 'package:jmap_dart_client/http/converter/id_converter.dart';
|
||||
import 'package:jmap_dart_client/http/converter/set/set_method_properties_converter.dart';
|
||||
@@ -6,9 +6,9 @@ import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart
|
||||
import 'package:jmap_dart_client/jmap/core/method/request/set_method.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/request/request_invocation.dart';
|
||||
|
||||
class FirebaseSubscriptionSetMethod extends SetMethodNoNeedAccountId<FirebaseSubscription> {
|
||||
class FirebaseRegistrationSetMethod extends SetMethodNoNeedAccountId<FirebaseRegistration> {
|
||||
|
||||
FirebaseSubscriptionSetMethod() : super();
|
||||
FirebaseRegistrationSetMethod() : super();
|
||||
|
||||
@override
|
||||
MethodName get methodName => MethodName('FirebaseRegistration/set');
|
||||
+9
-9
@@ -1,13 +1,13 @@
|
||||
import 'package:fcm/model/firebase_subscription.dart';
|
||||
import 'package:fcm/model/firebase_registration.dart';
|
||||
import 'package:jmap_dart_client/http/converter/id_converter.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/error/set_error.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/method/response/set_response.dart';
|
||||
|
||||
class FirebaseSubscriptionSetResponse extends SetResponseNoAccount<FirebaseSubscription> {
|
||||
FirebaseSubscriptionSetResponse({
|
||||
Map<Id, FirebaseSubscription>? created,
|
||||
Map<Id, FirebaseSubscription?>? updated,
|
||||
class FirebaseRegistrationSetResponse extends SetResponseNoAccount<FirebaseRegistration> {
|
||||
FirebaseRegistrationSetResponse({
|
||||
Map<Id, FirebaseRegistration>? created,
|
||||
Map<Id, FirebaseRegistration?>? updated,
|
||||
Set<Id>? destroyed,
|
||||
Map<Id, SetError>? notCreated,
|
||||
Map<Id, SetError>? notUpdated,
|
||||
@@ -21,15 +21,15 @@ class FirebaseSubscriptionSetResponse extends SetResponseNoAccount<FirebaseSubsc
|
||||
notDestroyed: notDestroyed
|
||||
);
|
||||
|
||||
static FirebaseSubscriptionSetResponse deserialize(Map<String, dynamic> json) {
|
||||
return FirebaseSubscriptionSetResponse(
|
||||
static FirebaseRegistrationSetResponse deserialize(Map<String, dynamic> json) {
|
||||
return FirebaseRegistrationSetResponse(
|
||||
created: (json['created'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
|
||||
const IdConverter().fromJson(key),
|
||||
FirebaseSubscription.fromJson(value as Map<String, dynamic>)
|
||||
FirebaseRegistration.fromJson(value as Map<String, dynamic>)
|
||||
)),
|
||||
updated: (json['updated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
|
||||
const IdConverter().fromJson(key),
|
||||
value != null ? FirebaseSubscription.fromJson(value as Map<String, dynamic>) : null
|
||||
value != null ? FirebaseRegistration.fromJson(value as Map<String, dynamic>) : null
|
||||
)),
|
||||
destroyed: (json['destroyed'] as List<dynamic>?)?.map((id) => const IdConverter().fromJson(id)).toSet(),
|
||||
notCreated: (json['notCreated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class FirebaseToken with EquatableMixin {
|
||||
class FcmToken with EquatableMixin {
|
||||
|
||||
final String value;
|
||||
|
||||
FirebaseToken(this.value);
|
||||
FcmToken(this.value);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [value];
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:fcm/converter/device_client_id_nullable_converter.dart';
|
||||
import 'package:fcm/converter/firebase_registration_expired_time_nullable_converter.dart';
|
||||
import 'package:fcm/converter/firebase_registration_id_nullable_converter.dart';
|
||||
import 'package:fcm/converter/fcm_token_nullable_converter.dart';
|
||||
import 'package:fcm/converter/type_name_converter.dart';
|
||||
import 'package:fcm/model/device_client_id.dart';
|
||||
import 'package:fcm/model/firebase_registration_expired_time.dart';
|
||||
import 'package:fcm/model/firebase_registration_id.dart';
|
||||
import 'package:fcm/model/fcm_token.dart';
|
||||
import 'package:fcm/model/type_name.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'firebase_registration.g.dart';
|
||||
|
||||
@DeviceClientIdNullableConverter()
|
||||
@FirebaseRegistrationIdNullableConverter()
|
||||
@FcmTokenNullableConverter()
|
||||
@FirebaseRegistrationExpiredTimeNullableConverter()
|
||||
@TypeNameConverter()
|
||||
@JsonSerializable(explicitToJson: true, includeIfNull: false)
|
||||
class FirebaseRegistration with EquatableMixin {
|
||||
|
||||
final FirebaseRegistrationId? id;
|
||||
final FcmToken? token;
|
||||
final DeviceClientId? deviceClientId;
|
||||
final FirebaseRegistrationExpiredTime? expires;
|
||||
final List<TypeName>? types;
|
||||
|
||||
FirebaseRegistration({
|
||||
this.id,
|
||||
this.token,
|
||||
this.deviceClientId,
|
||||
this.expires,
|
||||
this.types
|
||||
});
|
||||
|
||||
factory FirebaseRegistration.fromJson(Map<String, dynamic> json) => _$FirebaseRegistrationFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$FirebaseRegistrationToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, token, deviceClientId, expires, types];
|
||||
}
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
|
||||
|
||||
class FirebaseExpiredTime with EquatableMixin {
|
||||
class FirebaseRegistrationExpiredTime with EquatableMixin {
|
||||
|
||||
final UTCDate value;
|
||||
|
||||
FirebaseExpiredTime(this.value);
|
||||
FirebaseRegistrationExpiredTime(this.value);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [value];
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
|
||||
class FirebaseSubscriptionId with EquatableMixin {
|
||||
class FirebaseRegistrationId with EquatableMixin {
|
||||
|
||||
final Id id;
|
||||
|
||||
FirebaseSubscriptionId(this.id);
|
||||
FirebaseRegistrationId(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:fcm/converter/device_client_id_nullable_converter.dart';
|
||||
import 'package:fcm/converter/firebase_expired_time_nullable_converter.dart';
|
||||
import 'package:fcm/converter/firebase_subscription_id_nullable_converter.dart';
|
||||
import 'package:fcm/converter/firebase_token_nullable_converter.dart';
|
||||
import 'package:fcm/converter/type_name_converter.dart';
|
||||
import 'package:fcm/model/device_client_id.dart';
|
||||
import 'package:fcm/model/firebase_expired_time.dart';
|
||||
import 'package:fcm/model/firebase_subscription_id.dart';
|
||||
import 'package:fcm/model/firebase_token.dart';
|
||||
import 'package:fcm/model/type_name.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'firebase_subscription.g.dart';
|
||||
|
||||
@DeviceClientIdNullableConverter()
|
||||
@FirebaseSubscriptionIdNullableConverter()
|
||||
@FirebaseTokenNullableConverter()
|
||||
@FirebaseExpiredTimeNullableConverter()
|
||||
@TypeNameConverter()
|
||||
@JsonSerializable(explicitToJson: true, includeIfNull: false)
|
||||
class FirebaseSubscription with EquatableMixin {
|
||||
|
||||
final FirebaseSubscriptionId? id;
|
||||
final FirebaseToken? token;
|
||||
final DeviceClientId? deviceClientId;
|
||||
final FirebaseExpiredTime? expires;
|
||||
final List<TypeName>? types;
|
||||
|
||||
FirebaseSubscription({
|
||||
this.id,
|
||||
this.token,
|
||||
this.deviceClientId,
|
||||
this.expires,
|
||||
this.types
|
||||
});
|
||||
|
||||
factory FirebaseSubscription.fromJson(Map<String, dynamic> json) => _$FirebaseSubscriptionFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$FirebaseSubscriptionToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, token, deviceClientId, expires, types];
|
||||
}
|
||||
Reference in New Issue
Block a user