TF-2384 Merge Token with TokenOIDC to avoid confusion

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 9951d47a11bef36362cd2a5ad679a8a1fcaf022c)
This commit is contained in:
dab246
2023-12-24 18:57:34 +07:00
committed by Dat H. Pham
parent 293c58b239
commit 499141cdaa
12 changed files with 59 additions and 65 deletions
+3 -3
View File
@@ -4,12 +4,12 @@ import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:model/account/authentication_type.dart';
import 'package:model/account/password.dart';
import 'package:model/oidc/token.dart';
import 'package:model/oidc/token_oidc.dart';
class AccountRequest with EquatableMixin {
final UserName? userName;
final Password? password;
final Token? token;
final TokenOIDC? token;
final AuthenticationType authenticationType;
AccountRequest({
@@ -19,7 +19,7 @@ class AccountRequest with EquatableMixin {
this.authenticationType = AuthenticationType.none,
});
factory AccountRequest.withOidc({required Token token}) {
factory AccountRequest.withOidc({required TokenOIDC token}) {
return AccountRequest(
token: token,
authenticationType: AuthenticationType.oidc
@@ -0,0 +1,13 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:model/oidc/token_id.dart';
class TokenIdConverter implements JsonConverter<TokenId, String> {
const TokenIdConverter();
@override
TokenId fromJson(String json) => TokenId(json);
@override
String toJson(TokenId tokenId) => tokenId.uuid;
}
-33
View File
@@ -1,33 +0,0 @@
import 'package:core/utils/app_logger.dart';
import 'package:equatable/equatable.dart';
import 'package:model/oidc/token_id.dart';
class Token with EquatableMixin {
final String token;
final TokenId tokenId;
final String refreshToken;
final DateTime? expiredTime;
const Token(this.token, this.tokenId, this.refreshToken, {this.expiredTime});
@override
List<Object?> get props => [token, tokenId, refreshToken, expiredTime];
}
extension TokenExtension on Token {
bool isTokenValid() => token.isNotEmpty && tokenId.uuid.isNotEmpty;
bool get isExpired {
if (expiredTime != null) {
final now = DateTime.now();
log('TokenExtension::isExpired(): TIME_NOW: $now');
log('TokenExtension::isExpired(): EXPIRED_DATE: $expiredTime');
return expiredTime!.isBefore(now);
}
return false;
}
String get tokenIdHash => tokenId.uuid.hashCode.toString();
}
+21 -5
View File
@@ -1,8 +1,14 @@
import 'package:core/utils/app_logger.dart';
import 'package:equatable/equatable.dart';
import 'package:model/oidc/token.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:model/oidc/converter/token_id_converter.dart';
import 'package:model/oidc/token_id.dart';
part 'token_oidc.g.dart';
@TokenIdConverter()
@JsonSerializable(includeIfNull: false, explicitToJson: true)
class TokenOIDC with EquatableMixin {
final String token;
@@ -17,6 +23,10 @@ class TokenOIDC with EquatableMixin {
{this.expiredTime}
);
factory TokenOIDC.fromJson(Map<String, dynamic> json) => _$TokenOIDCFromJson(json);
Map<String, dynamic> toJson() => _$TokenOIDCToJson(this);
@override
List<Object?> get props => [token, tokenId, expiredTime, refreshToken];
}
@@ -25,9 +35,15 @@ extension TokenOIDCExtension on TokenOIDC {
bool isTokenValid() => token.isNotEmpty && tokenId.uuid.isNotEmpty;
Token toToken() {
return Token(token, tokenId, refreshToken, expiredTime: expiredTime);
}
String get tokenIdHash => tokenId.uuid.hashCode.toString();
bool get isExpired {
if (expiredTime != null) {
final now = DateTime.now();
log('TokenOIDC::isExpired(): TIME_NOW: $now');
log('TokenOIDC::isExpired(): EXPIRED_DATE: $expiredTime');
return expiredTime!.isBefore(now);
}
return false;
}
}