Remove LoginAPI, because it does not belongs to JMAP server
This commit is contained in:
committed by
Dat H. Pham
parent
5fd305d102
commit
afe6095c7e
@@ -22,11 +22,11 @@ import 'package:tmail_ui_user/features/composer/domain/state/search_email_addres
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/save_email_addresses_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/search_email_address_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/constants/email_constants.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/email_content_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/attachment_file.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/email_content_extension.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/message_content.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
@@ -217,9 +217,7 @@ class ComposerController extends BaseController {
|
||||
final generateEmailId = EmailId(Id(_uuid.v1()));
|
||||
final outboxMailboxId = composerArguments.value!.mapMailboxId[PresentationMailbox.roleOutbox];
|
||||
final listFromEmailAddress = {
|
||||
EmailAddress(
|
||||
composerArguments.value!.userProfile.getNameDisplay(),
|
||||
composerArguments.value!.userProfile.getEmailAddress())
|
||||
EmailAddress(null, composerArguments.value!.userProfile.email)
|
||||
};
|
||||
final generatePartId = PartId(_uuid.v1());
|
||||
final generateBlobId = Id(_uuid.v1());
|
||||
|
||||
+5
-9
@@ -9,8 +9,8 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/prefix_email_address_extension.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
typedef OnOpenExpandAddressActionClick = void Function();
|
||||
typedef OnSuggestionEmailAddress = Future<List<EmailAddress>> Function(String word);
|
||||
@@ -88,14 +88,10 @@ class EmailAddressComposerWidgetBuilder {
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
if (_userProfile?.getFullName().isNotEmpty == true)
|
||||
Text(
|
||||
'${_userProfile?.getFullName()}',
|
||||
style: TextStyle(fontWeight: FontWeight.w500, fontSize: 14, color: AppColor.nameUserColor)),
|
||||
if (_userProfile?.getEmailAddress()?.isNotEmpty == true)
|
||||
Text(
|
||||
'<${_userProfile?.getEmailAddress()}>',
|
||||
style: TextStyle(fontSize: 14, color: AppColor.nameUserColor))
|
||||
Text(
|
||||
'<${_userProfile?.email}>',
|
||||
style: TextStyle(fontSize: 14, color: AppColor.nameUserColor)
|
||||
)
|
||||
],
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/datasource/authentication_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/login_api.dart';
|
||||
|
||||
class AuthenticationDataSourceImpl extends AuthenticationDataSource {
|
||||
|
||||
final LoginAPI loginAPI;
|
||||
|
||||
AuthenticationDataSourceImpl(this.loginAPI);
|
||||
AuthenticationDataSourceImpl();
|
||||
|
||||
@override
|
||||
Future<UserProfile> authenticationUser(Uri baseUrl, UserName userName, Password password) {
|
||||
return Future.sync(() async {
|
||||
final userProfileResponse = await loginAPI.authenticationUser(baseUrl, AccountRequest(userName, password));
|
||||
return userProfileResponse.toUserProfile();
|
||||
}).catchError((error) {
|
||||
throw error;
|
||||
return Future.sync(() {
|
||||
return UserProfile(userName.userName);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:core/core.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:model/model.dart';
|
||||
|
||||
class LoginAPI {
|
||||
final DioClient _dioClient;
|
||||
|
||||
LoginAPI(this._dioClient);
|
||||
|
||||
Future<UserProfileResponse> authenticationUser(Uri baseUrl, AccountRequest accountRequest) async {
|
||||
final basicAuth = 'Basic ' + base64Encode(utf8.encode('${accountRequest.userName.userName}:${accountRequest.password.value}'));
|
||||
final resultJson = await _dioClient.post(
|
||||
Endpoint.authentication.generateAuthenticationUrl(baseUrl),
|
||||
options: Options(headers: _buildHeaderRequestParam(basicAuth)),
|
||||
data: accountRequest.toJson());
|
||||
return UserProfileResponse.fromJson(resultJson);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _buildHeaderRequestParam(String authorizationHeader) {
|
||||
final headerParam = _dioClient.getHeaders();
|
||||
headerParam[HttpHeaders.authorizationHeader] = authorizationHeader;
|
||||
return headerParam;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ import 'package:get/get.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/datasource/authentication_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/datasource_impl/authentication_datasource_impl.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/login_api.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/authentication_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/credential_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/repository/authentication_repository.dart';
|
||||
@@ -14,7 +13,7 @@ import 'package:tmail_ui_user/features/login/presentation/login_controller.dart'
|
||||
class LoginBindings extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => AuthenticationDataSourceImpl(Get.find<LoginAPI>()));
|
||||
Get.lazyPut(() => AuthenticationDataSourceImpl());
|
||||
Get.lazyPut<AuthenticationDataSource>(() => Get.find<AuthenticationDataSourceImpl>());
|
||||
|
||||
Get.lazyPut(() => CredentialRepositoryImpl(Get.find<SharedPreferences>()));
|
||||
|
||||
@@ -42,21 +42,11 @@ class UserInformationWidgetBuilder {
|
||||
title: Transform(
|
||||
transform: Matrix4.translationValues(0.0, 0.0, 0.0),
|
||||
child: Text(
|
||||
_userProfile != null ? _userProfile!.getNameDisplay() : '',
|
||||
_userProfile != null ? _userProfile!.email : '',
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(fontSize: 16, color: AppColor.nameUserColor, fontWeight: FontWeight.w500),
|
||||
)),
|
||||
subtitle: (_userProfile != null && !_userProfile!.isUserEmpty())
|
||||
? Transform(
|
||||
transform: Matrix4.translationValues(0.0, 4.0, 0.0),
|
||||
child: Text(
|
||||
_userProfile!.getEmailAddress() ?? '',
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(fontSize: 12, color: AppColor.emailUserColor, fontWeight: FontWeight.w500),
|
||||
))
|
||||
: null,
|
||||
trailing: Transform(
|
||||
transform: Matrix4.translationValues(0.0, 0.0, 0.0),
|
||||
child: IconButton(
|
||||
|
||||
Reference in New Issue
Block a user