generateApiCallCode method

Future<void> generateApiCallCode({
  1. required String apiMethod,
  2. required String apiEndPoint,
  3. required String apiName,
})

Implementation

Future<void> generateApiCallCode({
  required String apiMethod,
  required String apiEndPoint,
  required String apiName,
}) async {
  try {
    late String method;
    if (apiMethod == kGetApiCall) {
      method = kGet;
    }
    if (apiMethod == kPostApiCall) {
      method = kPost;
    }
    if (apiMethod == kMultipartApiCall) {
      method = kMultipart;
    }
    Utility.stdoutWrite(text: kEnterFeatureName);
    String featureChoice = stdin.readLineSync()!.toLowerCase();
    String requestModelName = await AddAPICallUtil().generateRequestModel(
      featureName: featureChoice,
      apiName: apiName,
      apiMethodType: method,
    );

    String responseModelName = await AddAPICallUtil().generateResponseModel(
      featureName: featureChoice,
      apiName: apiName,
      apiMethodType: method,
    );

    Utility.stdoutWrite(text: kAddShimmerOrNot);
    String shimmerChoice = stdin.readLineSync()!.toLowerCase();

    await addAPICall(
      apiType: method.toLowerCase(),
      endPoint: apiEndPoint,
      apiName: apiName,
      featureName: featureChoice,
      responseModelName: responseModelName,
      shimmerChoice: shimmerChoice,
      requestModelName: requestModelName,
      apiMethodName: method,
    );
    Utility.successPrinter(
      text: '$kAddedApiTo $featureChoice $kFeatureString',
    );
  } catch (e) {
    Utility.errorPrinter(text: '$kError $e');
    exit(1);
  }
}