diff options
Diffstat (limited to 'lib/screens/login/login_screen_presenter.dart')
-rw-r--r-- | lib/screens/login/login_screen_presenter.dart | 19 |
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())); + } +} |