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:
@@ -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;
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user