This repository has been archived on 2023-11-13. You can view files and clone it, but cannot push or open issues or pull requests.
2021-01-23 19:28:26 -05:00

43 lines
1.2 KiB
Dart

import 'dart:io';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:imagini/blocs/login/events.dart';
import 'package:imagini/blocs/login/states.dart';
import 'package:imagini/services/api/api.dart';
import 'package:imagini/services/api/exceptions.dart';
class LoginBloc extends Bloc<LoginEvents, LoginState> {
final ImaginiAPI imaginiAPI;
Map<String, String> loginResult;
String exampleResult;
LoginBloc({ this.imaginiAPI }) : super(LoginInitState());
@override
Stream<LoginState> mapEventToState(LoginEvents event) async* {
switch (event) {
case LoginEvents.loginResult:
yield LoginLoading();
try {
// exampleResult = await imaginiAPI.exampleApi();
loginResult = await imaginiAPI.loginAPI("admin", "admin");
yield LoginSuccess();
} on SocketException {
yield LoginFailed(
error: ConnectionRefusedException('No Internet'),
);
} on FormatException {
yield LoginFailed(
error: InvalidFormatException('Invalid Response Format'),
);
} catch (e) {
print(e);
yield LoginFailed(
error: UnknownException('Unknown Error'),
);
}
break;
}
}
}