|
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();
|