Skip to main content
#P1708

DELETE /v2/mail/trash/delete

Mail: Permanent Delete (Trash)

این اندپوینت برای حذف فیزیکی و دائمی یک ایمیل استفاده می‌شود.
معمولاً زمانی فراخوانی می‌شود که کاربر بخواهد آیتمی را از پوشه "زباله‌دان" (Trash) به طور کامل پاک کند. برخلاف اندپوینت‌های قبلی که فقط برچسب (Type) را تغییر می‌دادند، این متد رکورد را از دیتابیس حذف می‌کند (Hard Delete).

Request Overview

URL: /v2/mail/trash/delete
Method: DELETE
Controller: MailController@mailTrashDelete
Middleware Stack: authWithJwt

Access Control

  • دسترسی معتبر JWT.

Body/Query Parameters

Field Type Description
mail_id integer (الزامی) شناسه ایمیل مورد نظر برای حذف.
type string (الزامی) مشخص‌کننده جدول مبدا.
مقادیر مورد انتظار:
  • inbox: حذف از جدول mail_inbox
  • sent: حذف از جدول mail_sent

Logic Details

مراحل پردازش به شرح زیر است:

  1. انتخاب جدول پویا: نام جدول هدف با ترکیب پیشوند mail_ و پارامتر type ساخته می‌شود (مثلاً mail_inbox یا mail_sent).
  2. حذف رکورد: دستور DELETE روی جدول انتخاب شده با شرط id = mail_id اجرا می‌شود.
  3. نکته امنیتی/فنی: از آنجا که نام جدول به صورت پویا ساخته می‌شود، فرانت‌اند باید دقیقاً مقدار inbox یا sent را ارسال کند. ارسال مقادیر اشتباه ممکن است منجر به خطای SQL یا تلاش برای حذف از جداول نادرست شود.

Response Structure

پاسخ موفق

  • Status Code: 200 OK
  • Body:
    {
      "status": true,
      "time": 1670180000
    }

پاسخ خطا

  • Status Code: 400 Bad Request (در صورت بروز خطا در دیتابیس)

Flowchart

Start (DELETE /trash/delete)
Determine Table Name
Table = "mail_" + request.type
(e.g., mail_inbox / mail_sent)
Hard Delete Query
DELETE FROM {Table}
WHERE id = request.mail_id
Return Success