TF-34 Add data layer login for fix bug mock data user

This commit is contained in:
dab246
2021-08-25 13:12:17 +07:00
committed by Dat H. Pham
parent b3e1534de3
commit cae1252fc8
16 changed files with 227 additions and 58 deletions
@@ -5,20 +5,20 @@ import 'dart:io';
import 'package:core/core.dart';
import 'package:dio/dio.dart';
import 'package:tmail_ui_user/features/login/data/model/request/account_request.dart';
import 'package:tmail_ui_user/features/login/data/model/response/user_response.dart';
import 'package:tmail_ui_user/features/login/data/model/response/user_profile_response.dart';
class LoginAPI {
final DioClient _dioClient;
LoginAPI(this._dioClient);
Future<UserResponse> authenticationUser(Uri baseUrl, AccountRequest accountRequest) async {
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 UserResponse.fromJson(resultJson);
return UserProfileResponse.fromJson(resultJson);
}
Map<String, dynamic> _buildHeaderRequestParam(String authorizationHeader) {