flowviz
Version:
A framework which provides seamless integration with other phylogenetic tools and frameworks, while allowing workflow scheduling and execution, through the Apache Airflow workflow system.
86 lines (77 loc) • 1.62 kB
JavaScript
import Request from "./request";
import httpOptions from "./httpOptions";
class WorkflowService {
constructor(baseUrl) {
this.baseUrl = `${baseUrl}/workflow`;
}
getWorkflows(onError, onSuccess, loading) {
return Request(
this.baseUrl,
httpOptions.getAuth(),
onError,
onSuccess,
loading
);
}
getWorkflow(workflowName, onError, onSuccess, loading) {
return Request(
`${this.baseUrl}/${workflowName}`,
httpOptions.getAuth(),
onError,
onSuccess,
loading
);
}
getWorkflowRun(workflowName, runId, onError, onSuccess, loading) {
return Request(
`${this.baseUrl}/${workflowName}/${runId}`,
httpOptions.getAuth(),
onError,
onSuccess,
loading
);
}
getWorkflowDagRunTaskInstance(
workflowName,
runId,
taskId,
onError,
onSuccess,
loading
) {
return Request(
`${this.baseUrl}/${workflowName}/${runId}/tasks/${taskId}`,
httpOptions.getAuth(),
onError,
onSuccess,
loading
);
}
getWorkflowDagRunTaskInstanceLog(
workflowName,
runId,
taskId,
logNumber,
onError,
onSuccess,
loading
) {
return Request(
`${this.baseUrl}/${workflowName}/${runId}/tasks/${taskId}/logs/${logNumber}`,
httpOptions.getAuth(),
onError,
onSuccess,
loading
);
}
postWorkflow(body, onError, onSuccess, loading) {
return Request(
this.baseUrl,
httpOptions.postAuth(body),
onError,
onSuccess,
loading
);
}
}
export default WorkflowService;