#P1656
POST /v2/core/accommodation/supplier/store
Core Accommodation Supplier Store
این اندپوینت برای ایجاد یک Supplier جدید (نوع colleague) و اتصال آن به یک اقامتگاه استفاده میشود. این عملیات شامل ایجاد رکورد جدید در جدول colleagues با سریال اختصاصی و سپس ثبت ارتباط در mapping_colleagues است.
Request Overview
URL:
/v2/core/accommodation/supplier/storeMethod: 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.fadata.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