Init login feature add data layer

This commit is contained in:
dab246
2021-07-27 12:54:46 +07:00
committed by Dat H. Pham
parent f17d6630a5
commit 2fca01a405
9 changed files with 208 additions and 0 deletions
@@ -0,0 +1,22 @@
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/login/data/datasource/atuthentitcation_datasource.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/network/login_api.dart';
class AuthenticationDataSourceImpl extends AuthenticationDataSource {
final LoginAPI loginAPI;
AuthenticationDataSourceImpl(this.loginAPI);
@override
Future<User> authenticationUser(Uri baseUrl, UserName userName, Password password) {
return Future.sync(() async {
final userResponse = await loginAPI.authenticationUser(baseUrl, AccountRequest(userName, password));
return userResponse.toUser();
}).catchError((error) {
throw error;
});
}
}