callFunction method

Future<Result> callFunction({
  1. required String functionName,
  2. required Map<String, dynamic>? data,
  3. int durationSeconds = 30,
})
override

Implementation

Future<Result> callFunction({
  required final String functionName,
  required final Map<String, dynamic>? data,
  final int durationSeconds = 30,
}) async {
  try {
    final HttpsCallable callable = FirebaseFunctions.instance.httpsCallable(
        functionName,
        options: HttpsCallableOptions(
            timeout: Duration(seconds: durationSeconds)));

    final HttpsCallableResult result = await callable.call(data);

    return Result.success(obj: result.data);
  } catch (e, stacktrace) {
    return Result.error(
        log: Log(
          msg: e.toString(),
          stacktrace: stacktrace,
        ));
  }
}