11import axios from "axios" ;
2- import { getAppRoot } from "onload/loadConfig" ;
3- import { errorMessageAsString , rethrowSimple } from "utils/simple-error" ;
42
5- import { toSimple } from "./model" ;
3+ import { updateWorkflow , type WorkflowSummary } from "@/api/workflows" ;
4+ import { getAppRoot } from "@/onload/loadConfig" ;
5+ import { errorMessageAsString , rethrowSimple } from "@/utils/simple-error" ;
6+
7+ import { toSimple , type Workflow } from "./model" ;
68
79/** Workflow data request helper **/
8- export async function getVersions ( id ) {
10+ export async function getVersions ( id : string ) {
911 try {
1012 const { data } = await axios . get ( `${ getAppRoot ( ) } api/workflows/${ id } /versions` ) ;
1113 return data ;
@@ -14,7 +16,11 @@ export async function getVersions(id) {
1416 }
1517}
1618
17- export async function getModule ( request_data , stepId , setLoadingState ) {
19+ export async function getModule (
20+ request_data : Record < string , any > ,
21+ stepId : number ,
22+ setLoadingState : ( stepId : number , loading : boolean , error ?: string ) => void
23+ ) {
1824 setLoadingState ( stepId , true ) ;
1925 try {
2026 const { data } = await axios . post ( `${ getAppRoot ( ) } api/workflows/build_module` , request_data ) ;
@@ -26,7 +32,7 @@ export async function getModule(request_data, stepId, setLoadingState) {
2632 }
2733}
2834
29- export async function refactor ( id , actions , dryRun = false ) {
35+ export async function refactor ( id : string , actions : Record < string , any > , dryRun = false ) {
3036 try {
3137 const requestData = {
3238 actions : actions ,
@@ -40,7 +46,7 @@ export async function refactor(id, actions, dryRun = false) {
4046 }
4147}
4248
43- export async function loadWorkflow ( { id, version = null } ) {
49+ export async function loadWorkflow ( { id, version = null } : { id : string ; version ?: number | null } ) {
4450 try {
4551 const versionQuery = Number . isInteger ( version ) ? `version=${ version } ` : "" ;
4652 const { data } = await axios . get ( `${ getAppRoot ( ) } workflow/load_workflow?_=true&id=${ id } &${ versionQuery } ` ) ;
@@ -51,11 +57,16 @@ export async function loadWorkflow({ id, version = null }) {
5157 }
5258}
5359
54- export async function saveWorkflow ( workflow ) {
60+ // TODO: The backend return will be typed as the update response
61+ type WorkflowSummaryExtended = WorkflowSummary & {
62+ version : number ;
63+ annotation : string ;
64+ } ;
65+ export async function saveWorkflow ( workflow : Record < string , any > ) {
5566 if ( workflow . hasChanges ) {
5667 try {
57- const requestData = { workflow : toSimple ( workflow . id , workflow ) , from_tool_form : true } ;
58- const { data } = await axios . put ( ` ${ getAppRoot ( ) } api/workflows/ ${ workflow . id } ` , requestData ) ;
68+ const requestData = { ... toSimple ( workflow . id , workflow as Workflow ) , from_tool_form : true } ;
69+ const data = ( await updateWorkflow ( workflow . id , requestData ) ) as WorkflowSummaryExtended ;
5970 workflow . name = data . name ;
6071 workflow . hasChanges = false ;
6172 workflow . stored = true ;
@@ -71,7 +82,7 @@ export async function saveWorkflow(workflow) {
7182 return { } ;
7283}
7384
74- export async function getToolPredictions ( requestData ) {
85+ export async function getToolPredictions ( requestData : Record < string , any > ) {
7586 try {
7687 const { data } = await axios . post ( `${ getAppRoot ( ) } api/workflows/get_tool_predictions` , requestData ) ;
7788 return data ;
0 commit comments