signInWithMobileAndPassword method

Future signInWithMobileAndPassword(
  1. String mobileNumber,
  2. String password,
  3. int isdCode
)

Implementation

Future signInWithMobileAndPassword(
    String mobileNumber, String password, int isdCode) async {
  GraphQLClient _client = graphQLConfiguration.clientToQuery();

  var signInGql = """
         query login(\$mobileNumber: String, \$password: String, \$isdCode: Int) {
            login(mobileNumber: \$mobileNumber, password: \$password, isdCode: \$isdCode) {
              _id
              __typename
            }
          }
          """;

  final vble = {
    "mobileNumber": mobileNumber,
    "password": password,
    "isdCode": isdCode
  };
  QueryResult result = await _client.query(QueryOptions(
    document: gql(signInGql),
    variables: vble,
    fetchPolicy: FetchPolicy.networkOnly,
  ));
  if (!result.hasException) {
    var signInModel = result.data!['login'];

    if (signInModel != null && signInModel.length > 0) {
      signInWithPassword = userByIdFromJson(signInModel);
      return signInWithPassword;
    }
  }
  return null;
}