init method

Future<LoginModel> init({
  1. required String? clientId,
  2. required String? redirectUri,
  3. required String? tenantId,
  4. required String? resourceId,
})

Implementation

Future<LoginModel> init(
    {required String? clientId,
    required String? redirectUri,
    required String? tenantId,
    required String? resourceId}) async {
  if (clientId == null) {
    return const LoginModel(true, "Client id is missing", "");
  } else if (redirectUri == null) {
    return const LoginModel(true, "Redirect URI is missing", "");
  } else if (tenantId == null) {
    return const LoginModel(true, "Tenant ID is missing", "");
  } else if (resourceId == null) {
    return const LoginModel(true, "Resource ID is missing", "");
  } else {
    dynamic result = await methodChannel.invokeMethod(
        'init',
        json.encode({
          "client_id": clientId,
          "redirect_uri": redirectUri,
          "tenant_id": tenantId,
          "resource_id": resourceId
        }));
    Map map = json.decode(result);
    if (map.keys.any((element) => element == 'token')) {
      return LoginModel(map['error'], map["message"], map["token"]);
    } else {
      return LoginModel(map['error'], map["message"], "");
    }
  }
}