Files
parcer/src/api/workflow.ts
2025-01-01 23:31:37 +05:30

79 lines
2.4 KiB
TypeScript

import { WhereWhatPair, WorkflowFile } from "maxun-core";
import { emptyWorkflow } from "../shared/constants";
import { default as axios, AxiosResponse } from "axios";
import { apiUrl } from "../apiConfig";
export const getActiveWorkflow = async (id: string): Promise<WorkflowFile> => {
try {
const response = await axios.get(`${apiUrl}/workflow/${id}`)
if (response.status === 200) {
return response.data;
} else {
throw new Error('Something went wrong when fetching a recorded workflow');
}
} catch (error: any) {
console.log(error);
return emptyWorkflow;
}
};
export const getParamsOfActiveWorkflow = async (id: string): Promise<string[] | null> => {
try {
const response = await axios.get(`${apiUrl}/workflow/params/${id}`)
if (response.status === 200) {
return response.data;
} else {
throw new Error('Something went wrong when fetching the parameters of the recorded workflow');
}
} catch (error: any) {
console.log(error);
return null;
}
};
export const deletePair = async (index: number): Promise<WorkflowFile> => {
try {
const response = await axios.delete(`${apiUrl}/workflow/pair/${index}`);
if (response.status === 200) {
return response.data;
} else {
throw new Error('Something went wrong when fetching an updated workflow');
}
} catch (error: any) {
console.log(error);
return emptyWorkflow;
}
};
export const AddPair = async (index: number, pair: WhereWhatPair): Promise<WorkflowFile> => {
try {
const response = await axios.post(`${apiUrl}/workflow/pair/${index}`, {
pair,
}, { headers: { 'Content-Type': 'application/json' } });
if (response.status === 200) {
return response.data;
} else {
throw new Error('Something went wrong when fetching an updated workflow');
}
} catch (error: any) {
console.log(error);
return emptyWorkflow;
}
};
export const UpdatePair = async (index: number, pair: WhereWhatPair): Promise<WorkflowFile> => {
try {
const response = await axios.put(`${apiUrl}/workflow/pair/${index}`, {
pair,
}, { headers: { 'Content-Type': 'application/json' } });
if (response.status === 200) {
return response.data;
} else {
throw new Error('Something went wrong when fetching an updated workflow');
}
} catch (error: any) {
console.log(error);
return emptyWorkflow;
}
};