email actions + sent list + action list + archive list + trash list
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
import axios from "../config/axios";
|
||||
import { BulkActionRequest } from "../pages/received/types/Types";
|
||||
|
||||
// Bulk action for multiple messages
|
||||
export const bulkAction = async (request: BulkActionRequest) => {
|
||||
const { data } = await axios.post(`/email/messages/bulk-action`, request);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Mark message as seen
|
||||
export const markMessageAsSeen = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/seen`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Move message to archive
|
||||
export const moveMessageToArchive = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/archive`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Move message to favorite
|
||||
export const moveMessageToFavorite = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/favorite`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Move message to trash
|
||||
export const moveMessageToTrash = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/trash`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Delete message permanently (only for trash mailbox)
|
||||
export const deleteMessagePermanently = async (messageId: number) => {
|
||||
const { data } = await axios.delete(`/email/messages/${messageId}`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Send email
|
||||
export const sendEmail = async (emailData: unknown) => {
|
||||
const { data } = await axios.post(`/email/send`, emailData);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Update draft
|
||||
export const updateDraft = async (messageId: number, draftData: unknown) => {
|
||||
const { data } = await axios.patch(
|
||||
`/email/messages/drafts/${messageId}`,
|
||||
draftData
|
||||
);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Delete draft
|
||||
export const deleteDraft = async (messageId: number) => {
|
||||
const { data } = await axios.delete(`/email/messages/drafts/${messageId}`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Send draft
|
||||
export const sendDraft = async (messageId: number) => {
|
||||
const { data } = await axios.post(`/email/messages/drafts/${messageId}/send`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Unfavorite message
|
||||
export const unfavoriteMessage = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/unfavorite`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Unarchive message
|
||||
export const unarchiveMessage = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/unarchive`);
|
||||
return data;
|
||||
};
|
||||
|
||||
// Restore message from trash
|
||||
export const restoreMessage = async (messageId: number) => {
|
||||
const { data } = await axios.patch(`/email/messages/${messageId}/restore`);
|
||||
return data;
|
||||
};
|
||||
Reference in New Issue
Block a user