#P1753
PUT /v2/core/application_interface/{id}
Update Application Interface
این اندپوینت برای ویرایش اطلاعات یک رابط نرمافزاری موجود استفاده میشود. با ارسال شناسه رکورد و دادههای جدید، سیستم رکورد را بروزرسانی میکند. همانند متد ثبت، پارامترهای دستهبندی باید به صورت آبجکت ارسال شوند تا سیستم بتواند مقادیر مورد نیاز (Title یا ID) را از آنها استخراج کند.
Request Overview
URL:
/v2/core/application_interface/{id}Method: PUT
Controller: CoreController@updateApplicationInterface
Middleware: authWithJwt
Access Control
- نیاز به توکن احراز هویت (JWT) دارد.
- شناسه ارسالی در URL باید معتبر باشد.
Path Parameters
| Field | Type | Description |
|---|---|---|
| id | integer | (الزامی) شناسه رکورد مورد نظر برای ویرایش. |
Body Parameters
ساختار بادی درخواست مشابه متد ثبت (Store) است:
| Field | Type | Description |
|---|---|---|
| branch | integer | شناسه شعبه. |
| type | object | باید شامل کلید title باشد. مقدار این کلید در دیتابیس ذخیره میشود. |
| service | object | باید شامل کلید title باشد. |
| object_type | object | باید شامل کلید title باشد (مثلاً colleague). |
| object | object | null | باید شامل کلید id باشد. اگر نال باشد یا ارسال نشود، مقدار دیتابیس NULL میشود. |
| url, username, password, data | string | اطلاعات اتصال و تنظیمات (رشته ساده). |
| priority, status | integer | اولویت و وضعیت فعال بودن. |
Logic Details
فرآیند بروزرسانی به شرح زیر است:
- دریافت و استخراج دادهها: مقادیر ورودی پردازش میشوند:
- برای فیلدهای
type،serviceوobject_typeمقدار['title']برداشته میشود. - برای فیلد
objectمقدار['id']برداشته میشود (با استفاده از عملگر Null Coalescing).
- برای فیلدهای
- بروزرسانی دیتابیس: دستور
UPDATEبر روی جدولapplication_interfaceبرای رکوردی کهidآن برابر با پارامتر مسیر است اجرا میشود. - بازیابی مجدد: پس از اعمال تغییرات، رکورد بروزرسانی شده با
find($id)فراخوانی میشود تا تغییرات منعکس شده و دادهها بازگردانده شوند.
Response Structure
نمونه Body ارسالی (JSON)
{
"branch": 1,
"type": { "id": "api", "title": "api" },
"service": { "id": "parto", "title": "parto" },
"object_type": { "id": "branch", "title": "branch" },
"object": { "id": 2 },
"url": "https://new-api.com",
"username": "admin",
"password": "newpass",
"data": "{}",
"priority": 5,
"status": 1
}
نمونه پاسخ موفق (200 OK)
{
"payload": {
"id": 105,
"branch": 1,
"type": "api",
"service": "parto",
"object_type": "branch",
"object": 2,
"url": "https://new-api.com",
"username": "admin",
"password": "newpass",
"data": "{}",
"priority": 5,
"status": 1,
"created_at": "2024-01-01...",
"updated_at": null
},
"meta": {
"timestamp": 1733753000
}
}
Flowchart
Start Request (PUT {id})
↓
Extract Properties:
type['title'], service['title']
object['id'] ?? null
type['title'], service['title']
object['id'] ?? null
↓
DB::table(...)->where('id', $id)->update(...)
↓
DB::find($id)
↓
Return Updated Record