#P1708
DELETE /v2/mail/trash/delete
Mail: Permanent Delete (Trash)
این اندپوینت برای حذف فیزیکی و دائمی یک ایمیل استفاده میشود.
معمولاً زمانی فراخوانی میشود که کاربر بخواهد آیتمی را از پوشه "زبالهدان" (Trash) به طور کامل پاک کند. برخلاف اندپوینتهای قبلی که فقط برچسب (Type) را تغییر میدادند، این متد رکورد را از دیتابیس حذف میکند (Hard Delete).
Request Overview
URL:
/v2/mail/trash/deleteMethod: DELETE
Controller: MailController@mailTrashDelete
Middleware Stack: authWithJwt
Access Control
- دسترسی معتبر JWT.
Body/Query Parameters
| Field | Type | Description |
|---|---|---|
| mail_id | integer | (الزامی) شناسه ایمیل مورد نظر برای حذف. |
| type | string | (الزامی) مشخصکننده جدول مبدا. مقادیر مورد انتظار:
|
Logic Details
مراحل پردازش به شرح زیر است:
- انتخاب جدول پویا: نام جدول هدف با ترکیب پیشوند
mail_و پارامترtypeساخته میشود (مثلاًmail_inboxیاmail_sent). - حذف رکورد: دستور
DELETEروی جدول انتخاب شده با شرطid = mail_idاجرا میشود. - نکته امنیتی/فنی: از آنجا که نام جدول به صورت پویا ساخته میشود، فرانتاند باید دقیقاً مقدار
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)
Table = "mail_" + request.type
(e.g., mail_inbox / mail_sent)
↓
Hard Delete Query
DELETE FROM {Table}
WHERE id = request.mail_id
DELETE FROM {Table}
WHERE id = request.mail_id
↓
Return Success