Files
operationSystem-front/src/apis/Mail.js
2025-05-15 17:43:20 +09:00

156 lines
3.7 KiB
JavaScript

//운영서비스 관리 - 메일 api 연결
import { Axios } from '../utils';
// 메일 리스트 조회
export const MailView = async (token, mailTitle, content, sendType, sendStatus, mailType, receiveType, sendDate, endDate, order, size, currentPage) => {
try {
const res = await Axios.get(
`/api/v1/mail/list?mail_title=${mailTitle}&content=${content}&send_type=${sendType}&send_status=${sendStatus}&mail_type=${mailType}&receive_type=${receiveType}&start_dt=${sendDate}&end_dt=${endDate}&orderby=${order}&page_no=${currentPage}
&page_size=${size}`,
{
headers: { Authorization: `Bearer ${token}` },
},
);
return res.data.data;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailView Error', e);
}
}
};
// 메일 상세보기
export const MailDetailView = async (token, id) => {
try {
const res = await Axios.get(`/api/v1/mail/detail/${id}`, {
headers: { Authorization: `Bearer ${token}` },
});
return res.data.data.detail;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailDetailView Error', e);
}
}
};
export const MailCaliumTotalView = async (token) => {
try {
const res = await Axios.get(`/api/v1/mail/calium`, {
headers: { Authorization: `Bearer ${token}` },
});
return res.data.data.stock_calium;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailCaliumTotalView Error', e);
}
}
};
// 우편 단일 등록
export const MailSingleRegist = async (token, params) => {
try {
const res = await Axios.post(`/api/v1/mail`, params, {
headers: { Authorization: `Bearer ${token}` },
});
return res.data;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailRegist Error', e);
}
}
};
// 우편 수정
export const MailModify = async (token, id, params) => {
try {
const res = await Axios.put(`/api/v1/mail/${id}`, params, {
headers: { Authorization: `Bearer ${token}` },
});
return res.data;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailModify Error', e);
}
}
};
// 우편 삭제
export const MailDelete = async (token, params, id) => {
try {
const res = await Axios.delete(`/api/v1/mail/delete`, {
headers: { Authorization: `Bearer ${token}` },
data: { list: params },
});
return res.data;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailDelete Error', e);
}
}
};
// 우편 다운로드
export const MailExcelDown = async (token, filename) => {
try {
await Axios.get(`/api/v1/mail/excel-down?file=${filename}`, {
headers: { Authorization: `Bearer ${token}` },
responseType: 'blob',
}).then(response => {
const href = URL.createObjectURL(response.data);
const link = document.createElement('a');
link.href = href;
link.setAttribute('download', `${filename}`);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(href);
});
} catch (e) {
if (e instanceof Error) {
throw new Error('MailExcelDown Error', e);
}
}
};
// 우편 업로드
export const MailMultiRegsit = async (token, file) => {
const exelFile = new FormData();
exelFile.append('file', file);
try {
const res = await Axios.post(`/api/v1/mail/excel-upload`, exelFile, {
headers: {
'Content-Type': 'multipart/form-data',
Authorization: `Bearer ${token}`,
},
});
return res;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailMultiRegsit', e);
}
}
};
// 우편 아이템 확인
export const MailIsItem = async (token, params) => {
try {
const res = await Axios.post(`/api/v1/mail/item`, params, {
headers: { Authorization: `Bearer ${token}` },
});
return res.data;
} catch (e) {
if (e instanceof Error) {
throw new Error('MailItemCheck Error', e);
}
}
};