Skip to main content
#P1656

POST /v2/core/accommodation/supplier/store

Core Accommodation Supplier Store

این اندپوینت برای ایجاد یک Supplier جدید (نوع colleague) و اتصال آن به یک اقامتگاه استفاده می‌شود. این عملیات شامل ایجاد رکورد جدید در جدول colleagues با سریال اختصاصی و سپس ثبت ارتباط در mapping_colleagues است.

Request Overview

URL: /v2/core/accommodation/supplier/store
Method: POST
Controller: CoreController@supplierAccommodation
Middleware Stack: authWithJwt → core

Access Control

  • JWT معتبر
  • در middleware core، فقط زمانی اجازه داده می‌شود که operator.branch == "[0]"

Request Body Schema

Field Type Required Description
data object yes اطلاعات کامل Supplier
accommodation_id integer yes ID اقامتگاه که Supplier به آن متصل می‌شود

Structure of data

Field Type Description
title.fa string نام فارسی Supplier
title.en string نام انگلیسی Supplier
logo string|null آدرس یا مسیر لوگو

Insert Logic

1. ایجاد رکورد colleague

  • رکورد در جدول colleagues درج می‌شود.
  • branch ثابت و برابر 2 است.
  • serial با فراخوانی:
    StaticController::getSerialId('colleague', 2)
    تولید می‌شود.
  • foundation = 1
  • category = 5
  • type = 1
  • فیلدهای office و office_en از:
    • data.title.fa
    • data.title.en
  • فیلد logo مقداردهی می‌شود.
  • created_at و updated_at هر دو با Carbon::now()->toDateTimeString() مقدار می‌گیرند.

2. درج در mapping_colleagues

  • colleague = ID رکورد ایجادشده
  • accommodation = مقدار ارسال‌شده در accommodation_id

Serial Generation Logic (colleague)

فراخوانی زیر انجام می‌شود:

StaticController::getSerialId('colleague', 2)

منطق:

  • جدول: colleagues
  • Query: بر اساس branch = 2
  • اگر رکورد وجود داشته باشد → serial آخر + 1
  • اگر هیچ رکوردی نباشد → مقدار اولیه = 2

Response (Success)

{
  "status": true,
  "time": 1710000000,
  "message": "1023 | Supplier stored!"
}
  

Response (Error)

{
  "status": false,
  "code": "1003",
  "message": "(Exception message)",
  "trace": [...]
}
  

Flowchart

Validate JWT & Core Access
Read data + accommodation_id
Generate colleague serial (getSerialId)
Insert colleague into colleagues table
Insert mapping to mapping_colleagues
Return success JSON