Future deployTemplate()

in ui/lib/modules/catalog/data/build_service.dart [37:84]


  Future<BuildDetails> deployTemplate(String accessToken, String projectId, Template template,
      Map<String, dynamic> templateParameters) async {
    String result = "";
    BuildDetails? buildDetails;
    try {
      if (serverEnabled) {
        Map<String, String> requestHeaders = await getRequestHeaders();

        var endpointPath = '/v1/builds';

        var url = getUrl(endpointPath);

        var catalogSource = "gcp";

        if (template.sourceUrl.contains("community")) {
          catalogSource = "community";
        }

        var body = json.encode({
          "project_id": projectId,
          "template_id": "${template.id}",
          "cloudProvisionConfigUrl": "${template.cloudProvisionConfigUrl}",
          "params": templateParameters,
          "catalogSource": catalogSource,
          "catalogUrl": "",
          "accessToken": accessToken
        });

        var response = await http
            .post(url, headers: requestHeaders, body: body)
            .timeout(Duration(seconds: 10));

        // if (response.statusCode == 500) {
        //   return null;
        // }

        result = response.body;
      } else {
        sharedBuilds.BuildsService buildsService = new sharedBuilds.BuildsService(accessToken);
        buildDetails = await buildsService.startBuild(projectId, templateParameters,
            template.cloudProvisionConfigUrl, "POST");
      }
    } catch (e) {
      print(e);
    }

    return buildDetails!;
  }