step 7 : login, logout (bug disconnect), home screen top info user login
This commit is contained in:
55
lib/repository/auth_repository.dart
Normal file
55
lib/repository/auth_repository.dart
Normal file
@@ -0,0 +1,55 @@
|
||||
import 'package:absensi_sas_flutter/model/logout_response_model.dart';
|
||||
import 'package:google_sign_in/google_sign_in.dart';
|
||||
|
||||
import '../model/auth_model.dart';
|
||||
import 'base_repository.dart';
|
||||
|
||||
class AuthRepository extends BaseRepository {
|
||||
AuthRepository({required super.graphql, required super.dio});
|
||||
|
||||
// login
|
||||
Future<AuthModel> login(
|
||||
String email,
|
||||
String idGoogleSignIn,
|
||||
) async {
|
||||
const String query =
|
||||
r'''mutation($emailParam:String!, $id_google_sign_in_Param:String!){ loginAttendance(email:$emailParam, id_google_sign_in:$id_google_sign_in_Param){ staff_id nip name email phone_number token id_google_sign_in company_id company_name } }''';
|
||||
|
||||
Map<String, dynamic> inpVariables = {
|
||||
"emailParam": email,
|
||||
"id_google_sign_in_Param": idGoogleSignIn
|
||||
};
|
||||
final resp = await postGraphQlMutation(query, inpVariables);
|
||||
// final loginData = AuthModel.fromJson(resp['userLogin']);
|
||||
|
||||
print('obj loginAttendance : ${resp["loginAttendance"]}');
|
||||
print('token : ${resp["loginAttendance"]["token"]}');
|
||||
|
||||
final result = AuthModel(
|
||||
token: resp["loginAttendance"]["token"],
|
||||
model: StaffModel.fromJson(resp["loginAttendance"]),
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
// logout
|
||||
Future<LogoutResponseModel> logout(
|
||||
String email, String idGoogleSignIn) async {
|
||||
const String query =
|
||||
r'''mutation($emailParam:String!, $id_google_sign_in_Param:String!){ logoutAttendance(email:$emailParam, id_google_sign_in:$id_google_sign_in_Param){ staff_id nip name email phone_number token id_google_sign_in company_id company_name } }''';
|
||||
|
||||
Map<String, dynamic> inpVariables = {
|
||||
"emailParam": email,
|
||||
"id_google_sign_in_Param": idGoogleSignIn
|
||||
};
|
||||
final resp = await postGraphQlMutation(query, inpVariables);
|
||||
// final loginData = AuthModel.fromJson(resp['userLogin']);
|
||||
|
||||
// final result = resp['logoutAttendance']['status'];
|
||||
|
||||
final result = LogoutResponseModel(
|
||||
message: resp['logoutAttendance']['message'],
|
||||
status: resp['logoutAttendance']['status']);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ abstract class BaseRepository {
|
||||
throw BaseRepositoryException(message: result.exception.toString());
|
||||
}
|
||||
|
||||
// return result.data!;
|
||||
return result.data!;
|
||||
} catch (e) {
|
||||
throw BaseRepositoryException(message: e.toString());
|
||||
|
||||
Reference in New Issue
Block a user