Files
GSFV2/gsf/lib/repository/services/sign_in_service.dart
2024-04-22 23:50:28 -07:00

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;
}
}
}