52 lines
1.3 KiB
Dart
52 lines
1.3 KiB
Dart
import 'package:aman_kassa_flutter/core/base/base_service.dart';
|
|
import 'package:aman_kassa_flutter/core/models/Message.dart';
|
|
import 'package:aman_kassa_flutter/core/models/Response.dart';
|
|
import 'package:aman_kassa_flutter/core/models/user.dart';
|
|
import 'package:aman_kassa_flutter/core/models/authResponse.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
import 'ApiService.dart';
|
|
|
|
class AuthenticationService extends BaseService {
|
|
final ApiService _api;
|
|
|
|
AuthenticationService({ApiService api}) : _api = api;
|
|
|
|
User _currentUser;
|
|
User get currentUser => _currentUser;
|
|
|
|
Future<AuthBody> loginWithEmail({
|
|
@required String email,
|
|
@required String password,
|
|
}) async {
|
|
try {
|
|
AuthBody result = await _api.authenticate(email, password);
|
|
if (result.user != null) {
|
|
_currentUser = result.user;
|
|
}
|
|
return result;
|
|
} catch (e) {
|
|
print(e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
Future<bool> isUserLoggedIn(String token) async {
|
|
Response<Message> session = await _api.isActive(token);
|
|
if ("OK" == session.body.message) {
|
|
//_session = session;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
Future<bool> logout(String token) async {
|
|
Response<Message> session = await _api.logout(token);
|
|
if ("logout" == session.body.message) {
|
|
//_session = session;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|