Skip to main content
#P1654

DELETE /v2/core/accommodation/delete

Core Accommodation Delete

این اندپوینت برای حذف کامل یک اقامتگاه (Hotel / Accommodation) از سیستم استفاده می‌شود. عملیات حذف فقط رکورد اصلی جدول hotels را پاک می‌کند و هیچ عمل پاکسازی روی Media یا Mapping انجام نمی‌دهد. پس از حذف، یک SystemLog با تأخیر ۱۰ دقیقه به صف snailJob ارسال می‌شود.

Request Overview

URL: /v2/core/accommodation/delete
Method: 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