execute method

  1. @override
Future<String> execute({
  1. required String functionId,
  2. String? params,
  3. bool isAsync = false,
})
override

Implementation

@override
Future<String> execute({required String functionId, String? params, bool isAsync = false}) async {
  await initialize();
  String connectionStr = '"projectId":"${myConfig!.serverConfig.dbConnInfo.projectId}",';
  connectionStr += '"databaseId":"${myConfig!.serverConfig.dbConnInfo.appId}",';
  connectionStr += '"endPoint":"${myConfig!.serverConfig.dbConnInfo.databaseURL}",';
  connectionStr += '"apiKey":"${myConfig!.serverConfig.dbConnInfo.apiKey}"';
  String realParams = '';
  if (params == null) {
    realParams = '{$connectionStr}';
  } else {
    if (0 == params.indexOf("{")) {
      realParams = '{$connectionStr,${params.substring(1)}';
    } else {
      throw const HycopException(message: "params should start with '{'");
    }
  }
  logger.info('$functionId executed with $realParams');

  //final result =
  //    await functions!.createExecution(functionId: functionId, data: realParams, xasync: false);
  final result =
      await functions!.createExecution(functionId: functionId, body: realParams, xasync: false);
  logger.info('$functionId finished, ${result.responseBody}, ${result.responseStatusCode}');

  return result.responseBody;
}