Files
outbo-2-stgclone/evg-outbo-web/src/API/drafts.ts
T
2024-11-27 13:18:16 +01:00

58 lines
1.6 KiB
TypeScript
Executable File

import API from './axiosConfig';
import { DesignStageResponse, DesignStageFileRequest, DesignStageFileResponse } from 'interfaces/API/draft';
import objectToFormDataConverter from 'helpers/objectToFormDataConverter';
import { AxiosResponse } from 'axios';
const getDraftById = async (draftId: number): Promise<DesignStageResponse | null> => {
try {
const response = await API.get<DesignStageResponse>(`/drafts/${draftId}/`);
return response.data;
} catch (err) {
return null;
}
};
const addDraftFile = async (draftId: number, data: DesignStageFileRequest): Promise<DesignStageFileResponse | null> => {
try {
const formData = objectToFormDataConverter(data);
const response = await API.post<DesignStageFileResponse>(`/drafts/${draftId}/files/`, formData);
return response.data;
} catch (err) {
return null;
}
};
const acceptDraft = async (draftId: number): Promise<DesignStageResponse | null> => {
try {
const response = await API.patch<DesignStageResponse>(`/drafts/${draftId}/`, { accept: true });
return response.data;
} catch (err) {
return null;
}
};
const openDraft = async (draftId: number) => {
try {
const response = await API.get<AxiosResponse>(`/draft-files/${draftId}/open-file/`);
return response.data;
} catch (err) {
return null;
}
};
export default {
openDraft,
getDraftById,
addDraftFile,
acceptDraft,
};
// export const fetchDrafts = async (productId: number): Promise<DraftResponse[] | []> => {
// try {
// const response = await API.get<DraftResponse[]>('');
// return response.data;
// } catch (err) {
// console.error(err);
// return [];
// }
// };