aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/screens/login/login_screen_presenter.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/screens/login/login_screen_presenter.dart')
-rw-r--r--lib/screens/login/login_screen_presenter.dart19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/screens/login/login_screen_presenter.dart b/lib/screens/login/login_screen_presenter.dart
new file mode 100644
index 0000000..fc5da4f
--- /dev/null
+++ b/lib/screens/login/login_screen_presenter.dart
@@ -0,0 +1,19 @@
+import 'package:beam_messenger/data/rest_ds.dart';
+import 'package:beam_messenger/models/user.dart';
+
+abstract class LoginScreenContract {
+ void onLoginSuccess(User user);
+ void onLoginError(String errorTxt);
+}
+
+class LoginScreenPresenter {
+ LoginScreenContract _view;
+ RestDatasource api = new RestDatasource();
+ LoginScreenPresenter(this._view);
+
+ doLogin(String email, String password) {
+ api.login(email, password).then((User user) {
+ _view.onLoginSuccess(user);
+ }).catchError((Exception error) => _view.onLoginError(error.toString()));
+ }
+}