#P1654
DELETE /v2/core/accommodation/delete
Core Accommodation Delete
این اندپوینت برای حذف کامل یک اقامتگاه (Hotel / Accommodation) از سیستم استفاده میشود. عملیات حذف فقط رکورد اصلی جدول hotels را پاک میکند و هیچ عمل پاکسازی روی Media یا Mapping انجام نمیدهد. پس از حذف، یک SystemLog با تأخیر ۱۰ دقیقه به صف snailJob ارسال میشود.
Request Overview
URL:
/v2/core/accommodation/deleteMethod: DELETE
Controller: CoreController@deleteAccommodation
Middleware Stack: authWithJwt → core
Access Control
- JWT معتبر (authWithJwt)
- اجازه دسترسی فقط در صورت
operator.branch == "[0]"(middleware: core)
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID اقامتگاه برای حذف |
پارامتر id باید بهصورت QueryParam یا BodyParam (بسته به ساختار درخواست) ارسال شود.
Delete Logic
- حذف رکورد اصلی اقامتگاه از جدول
hotels - هیچگونه عملیات پاکسازی روی:
- Media (لوگو، گالری)
- mapping_accommodations
- Redis یا Cache
- پس از حذف، یک SystemLog با نوع
DeleteAccommodationثبت و به صف ارسال میشود.
SystemLog Payload
{
"type": "DeleteAccommodation",
"data": null,
"goal": ,
"by": operator.id,
"agent": HTTP_USER_AGENT,
"ip": client_ip,
"datetime": now()
}
Response (Success)
{
"status": true,
"time": 1710000000,
"message": "1402 | Accommodation deleted!"
}
Response (Error)
{
"status": false,
"code": "1003",
"message": "(Exception message)",
"trace": [...]
}
Flowchart
AuthWithJWT → Validate Token
↓
Core Access Check → operator.branch == "[0]"
↓
Read id From Request
↓
DELETE FROM hotels WHERE id = ?
↓
Dispatch SystemLog(DeleteAccommodation) + delay(10m)
↓
Return Success JSON