Skip to content
Snippets Groups Projects

Icshwi 11561 removing some async calls

Merged Imre Toth requested to merge ICSHWI-11561_Removing_some_async_calls into develop
22 files
+ 1862
2400
Compare changes
  • Side-by-side
  • Inline
Files
22
+ 65
14
const jobMessages = {
new: "job has just been created",
pending: "job dependencies are running",
waiting: "job is queued on job server",
running: "job is running",
failed: "job failed",
successful: "job was successful",
error: "job had an error",
canceled: "job was canceled"
};
const typeMap = {
DEPLOY: "Deployment",
UNDEPLOY: "Undeployment",
START: "Start Command",
STOP: "Stop Command"
};
export class AWXJobDetails {
constructor(job) {
constructor(operationType, job) {
this.operationType = operationType;
this.job = job;
}
@@ -14,6 +33,41 @@ export class AWXJobDetails {
wasSuccessful() {
return this.job?.status === "successful";
}
typeLabel() {
return typeMap[this.operationType];
}
status() {
const status = this.job?.status.toLowerCase();
if (["error, failed, canceled"].includes(status)) {
return "failed";
} else if (["pending", "waiting"].includes(status)) {
return "queued";
} else if (["new"].includes(status)) {
return "created";
} else {
return status;
}
}
message() {
const stem = `The ${this.typeLabel()} `;
const info = jobMessages[this.job?.status.toLowerCase()];
const message = stem + info;
return message;
}
severity() {
const status = this.job?.status;
if (["failed", "error", "canceled"].includes(status)) {
return "error";
} else if ("successful".includes(status)) {
return "success";
} else {
return "info";
}
}
}
export class DeploymentInfoDetails {
@@ -34,22 +88,15 @@ export class DeploymentInfoDetails {
}
}
const jobMessages = {
new: "job has just been created",
pending: "job dependencies are running",
waiting: "job is queued on job server",
running: "job is running",
failed: "job failed",
successful: "job was successful",
error: "job had an error",
canceled: "job was canceled"
};
export class DeploymentStatus {
constructor(deployment, deploymentJob) {
this.deployment = deployment;
this.deploymentJob = deploymentJob;
this.deploymentHelper = new DeploymentInfoDetails(deployment);
this.jobHelper = new AWXJobDetails(deploymentJob);
this.jobHelper = new AWXJobDetails(
deployment?.undeployment ? "UNDEPLOY" : "DEPLOY",
deploymentJob
);
}
isFinished() {
@@ -112,7 +159,9 @@ export class AWXCommandDetails {
}
isFinished() {
return ["failed", "canceled", "successful"].includes(this.job?.status);
return ["error", "failed", "canceled", "successful"].includes(
this.job?.status
);
}
wasSuccessful() {
@@ -138,7 +187,9 @@ export class AdHocCommand {
}
isFinished() {
return ["failed", "canceled", "successful"].includes(this.command?.status);
return ["error", "failed", "canceled", "successful"].includes(
this.command?.status
);
}
wasSuccessful() {
Loading