change all actions

This commit is contained in:
hamid zarghami
2025-07-20 16:47:01 +03:30
parent 1106952e22
commit 9eed4ede94
22 changed files with 309 additions and 127 deletions
+54 -21
View File
@@ -3,43 +3,68 @@ 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);
const { data } = await axios.post(
`/email/messages/bulk-action?mailbox=${request.mailbox}`,
request
);
return data;
};
// Mark message as seen
export const markMessageAsSeen = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/seen`);
export const markMessageAsSeen = async (messageId: number, mailbox: string) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/seen?mailbox=${mailbox}`
);
return data;
};
// Move message to archive
export const moveMessageToArchive = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/archive`);
export const moveMessageToArchive = async (
messageId: number,
mailbox: string
) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/archive?mailbox=${mailbox}`
);
return data;
};
// Move message to favorite
export const moveMessageToFavorite = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/favorite`);
export const moveMessageToFavorite = async (
messageId: number,
mailbox: string
) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/favorite?mailbox=${mailbox}`
);
return data;
};
// Move message to trash
export const moveMessageToTrash = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/trash`);
export const moveMessageToTrash = async (
messageId: number,
mailbox: string
) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/trash?mailbox=${mailbox}`
);
return data;
};
// Delete message permanently (only for trash mailbox)
export const deleteMessagePermanently = async (messageId: number) => {
const { data } = await axios.delete(`/email/messages/${messageId}`);
export const deleteMessagePermanently = async (
messageId: number,
mailbox: string
) => {
const { data } = await axios.delete(
`/email/messages/${messageId}?mailbox=${mailbox}`
);
return data;
};
// Send email
export const sendEmail = async (emailData: unknown) => {
const { data } = await axios.post(`/email/send`, emailData);
export const sendEmail = async (messageId: number) => {
const { data } = await axios.post(`/email/send?messageId=${messageId}`);
return data;
};
@@ -53,8 +78,10 @@ export const updateDraft = async (messageId: number, draftData: unknown) => {
};
// Delete draft
export const deleteDraft = async (messageId: number) => {
const { data } = await axios.delete(`/email/messages/drafts/${messageId}`);
export const deleteDraft = async (messageId: number, mailbox: string) => {
const { data } = await axios.delete(
`/email/messages/drafts/${messageId}?mailbox=${mailbox}`
);
return data;
};
@@ -65,19 +92,25 @@ export const sendDraft = async (messageId: number) => {
};
// Unfavorite message
export const unfavoriteMessage = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/unfavorite`);
export const unfavoriteMessage = async (messageId: number, mailbox: string) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/unfavorite?mailbox=${mailbox}`
);
return data;
};
// Unarchive message
export const unarchiveMessage = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/unarchive`);
export const unarchiveMessage = async (messageId: number, mailbox: string) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/unarchive?mailbox=${mailbox}`
);
return data;
};
// Restore message from trash
export const restoreMessage = async (messageId: number) => {
const { data } = await axios.patch(`/email/messages/${messageId}/restore`);
export const restoreMessage = async (messageId: number, mailbox: string) => {
const { data } = await axios.patch(
`/email/messages/${messageId}/restore?mailbox=${mailbox}`
);
return data;
};