91 lines
2.8 KiB
Dart
91 lines
2.8 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get_storage/get_storage.dart';
|
|
import 'package:gsp_app/repository/endpoints.dart';
|
|
import 'package:gsp_app/views/theme.dart';
|
|
import 'package:http/http.dart';
|
|
|
|
import '../../views/components/const.dart';
|
|
|
|
// import '../test/dropdwon.dart';
|
|
|
|
// import '../home/home_page.dart';
|
|
|
|
class SignInController extends GetxController {
|
|
final emailController = TextEditingController().obs;
|
|
final passwordController = TextEditingController().obs;
|
|
final box = GetStorage();
|
|
final RxBool loading = false.obs;
|
|
|
|
@override
|
|
void dispose() {
|
|
emailController.value.dispose();
|
|
passwordController.value.dispose();
|
|
super.dispose();
|
|
}
|
|
|
|
Future<void> loginApi() async {
|
|
loading.value = true;
|
|
try {
|
|
final response = await post(
|
|
Uri.parse(Endpoints.login),
|
|
// headers: {'token': token, 'content-type': 'application/json'},
|
|
body: {
|
|
'email_id': emailController.value.text,
|
|
'password': passwordController.value.text,
|
|
},
|
|
);
|
|
var data = jsonDecode(response.body);
|
|
|
|
SignInData.data = data["status"];
|
|
SignInData.token = data["authorisation"]["token"];
|
|
SignInData.name = data['authorisation']['user_data']['full_name'];
|
|
SignInData.status = data['authorisation']['user_data']['status'];
|
|
SignInData.mobileNumber =
|
|
data['authorisation']['user_data']['contact_number'];
|
|
SignInData.emailId = data['authorisation']['user_data']['email_id'];
|
|
debugPrint(' token genrated ${SignInData.token}');
|
|
|
|
if (data["status"] == true) {
|
|
Get.snackbar(
|
|
'Congratulation!',
|
|
data['message'],
|
|
snackPosition: SnackPosition.BOTTOM,
|
|
backgroundColor: ColorConstants.kPrimaryColor,
|
|
);
|
|
loading.value = false;
|
|
emailController.value.clear();
|
|
passwordController.value.clear();
|
|
box.write('token',
|
|
data['authorisation']['token']); // user token store in localStorage
|
|
box.write(
|
|
'userName',
|
|
data['authorisation']['user_data']
|
|
['full_name']); //usre name store in
|
|
|
|
var userData = box.read('userName');
|
|
|
|
debugPrint('user data $userData');
|
|
} else if (data["status"] == 401) {
|
|
Get.snackbar(
|
|
'Log in Failed',
|
|
data["message"],
|
|
snackPosition: SnackPosition.BOTTOM,
|
|
backgroundColor: ColorConstants.kErroColor,
|
|
);
|
|
loading.value = false;
|
|
}
|
|
} catch (e) {
|
|
Get.snackbar(
|
|
'Excepetion',
|
|
'something went wrong, please check you credentails.',
|
|
snackPosition: SnackPosition.BOTTOM,
|
|
backgroundColor: ColorConstants.kErroColor,
|
|
);
|
|
loading.value = false;
|
|
}
|
|
}
|
|
}
|