Blame data/BlueprintApi.js

Packit Service eebd6f
import NotificationsApi from "./NotificationsApi";
Packit Service eebd6f
import * as composer from "../core/composer";
Packit Service eebd6f
Packit Service eebd6f
class BlueprintApi {
Packit Service eebd6f
  constructor() {
Packit Service eebd6f
    this.blueprint = undefined;
Packit Service eebd6f
  }
Packit Service eebd6f
Packit Service eebd6f
  handleCommitBlueprint(blueprint) {
Packit Service eebd6f
    return composer
Packit Service eebd6f
      .newBlueprint(this.postedBlueprintData(blueprint))
Packit Service eebd6f
      .then(() => {
Packit Service eebd6f
        NotificationsApi.closeNotification(undefined, "committing");
Packit Service eebd6f
        NotificationsApi.displayNotification(blueprint.name, "committed");
Packit Service eebd6f
      })
Packit Service eebd6f
      .catch((e) => {
Packit Service eebd6f
        console.log(`Error committing blueprint: ${e}`);
Packit Service eebd6f
        NotificationsApi.closeNotification(undefined, "committing");
Packit Service eebd6f
        NotificationsApi.displayNotification(blueprint.name, "commitFailed");
Packit Service eebd6f
      });
Packit Service eebd6f
  }
Packit Service eebd6f
Packit Service eebd6f
  postedBlueprintData(blueprint) {
Packit Service eebd6f
    const blueprintData = {
Packit Service eebd6f
      name: blueprint.name,
Packit Service eebd6f
      description: blueprint.description,
Packit Service eebd6f
      version: blueprint.version,
Packit Service eebd6f
      modules: blueprint.modules,
Packit Service eebd6f
      packages: blueprint.packages,
Packit Service eebd6f
      groups: blueprint.groups !== undefined ? blueprint.groups : [],
Packit Service eebd6f
    };
Packit Service eebd6f
    if (blueprint.customizations !== undefined) {
Packit Service eebd6f
      blueprintData.customizations = blueprint.customizations;
Packit Service eebd6f
    }
Packit Service eebd6f
    return blueprintData;
Packit Service eebd6f
  }
Packit Service eebd6f
Packit Service eebd6f
  reloadBlueprintDetails(blueprint) {
Packit Service eebd6f
    // retrieve blueprint details that were updated during save (i.e. version)
Packit Service eebd6f
    // and reload details in UI
Packit Service eebd6f
    return composer
Packit Service eebd6f
      .depsolveBlueprint(blueprint.name.replace(/\s/g, "-"))
Packit Service eebd6f
      .then((data) => {
Packit Service eebd6f
        return { ...blueprint, version: data.blueprints[0].blueprint.version };
Packit Service eebd6f
      })
Packit Service eebd6f
      .catch((e) => {
Packit Service eebd6f
        console.log(`Error fetching blueprint details: ${e}`);
Packit Service eebd6f
      });
Packit Service eebd6f
  }
Packit Service eebd6f
}
Packit Service eebd6f
Packit Service eebd6f
export default new BlueprintApi();