Untitled

 avatar
unknown
plain_text
2 years ago
1.9 kB
5
Indexable
import 'package:ceramic_quotation/app/constant/app_string.dart';
import 'package:ceramic_quotation/app/model/login_model/login_model.dart';
import 'package:ceramic_quotation/app/model/login_model/login_request_model.dart';
import 'package:ceramic_quotation/app/routes/app_pages.dart';
import 'package:ceramic_quotation/app/utils/app_prefrence.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import '../../../common/progress_indicator.dart';
import '../../../constant/status_objects.dart';
import '../login_service/login_service.dart';

class LoginController extends GetxController {
  bool passwordVisible = false;
  final TextEditingController passwordController = TextEditingController();
  final TextEditingController emailController = TextEditingController();
  Either<Failure, LoginModel>? loginResponse;

  LoginModel? loginModel;

  getSignIn(LoginRequestModel? loginRequestModel) async {
    try {
      loginModel = await LoginService().loginRequest(loginRequestModel);
      if (loginModel!.status == 200) {
        AppPreference.set(AppString.token, loginModel!.token);
        print(AppString.tokenSet + AppPreference.getString(AppString.token));
        Get.snackbar(
          AppString.success,
          loginModel!.msg.toString(),
          snackPosition: SnackPosition.BOTTOM,
        );
        reset();
        loginModel?.data!.type == AppString.admin
            ? Get.toNamed(Routes.masterPanel)
            : Get.toNamed(Routes.home);
      } else {
        hideLoadingIndicator();
        Get.snackbar(
          AppString.failed,
          loginModel!.msg.toString(),
          snackPosition: SnackPosition.BOTTOM,
        );
      }
    } catch (e) {
      rethrow;
    }
    return loginModel;
  }

  reset() {
    passwordController.clear();
    emailController.clear();
    update();
  }
}
Editor is loading...