#P1750
GET /v2/core/application_interface/{id}
P. Show Application Interface (Single Item)
این اندپوینت برای دریافت جزئیات کامل یک رابط نرمافزاری خاص استفاده میشود. با ارسال شناسه (ID) رکورد، سیستم اطلاعات آن را از دیتابیس استخراج کرده و پس از استانداردسازی فیلدها و غنیسازی اطلاعات (مانند اطلاعات همکار)، خروجی را بازمیگرداند.
Request Overview
URL:
/v2/core/application_interface/{id}Method: GET
Controller: CoreController@showApplicationInterface
Middleware: authWithJwt
Access Control
- نیاز به توکن احراز هویت (JWT) دارد.
- شناسه ارسالی باید در جدول
application_interfaceموجود باشد.
Path Parameters
| Field | Type | Description |
|---|---|---|
| id | integer | (الزامی) شناسه منحصر به فرد (Primary Key) رکورد در جدول رابطهای نرمافزاری. |
Logic Details
منطق پردازش این متد به شرح زیر است:
- جستجو در دیتابیس: ابتدا با استفاده از
DB::table('application_interface')->find($id)رکورد مورد نظر بازیابی میشود. - بررسی نوع آبجکت (Object Expansion):
- اگر
object_typeبرابر باcolleagueباشد، سیستم شناسه موجود در فیلدobjectرا برداشته و اطلاعات همکار (نام، نام خانوادگی، سریال، دفتر و وضعیت) را از مدلColleagueجستجو میکند. - نتیجه جایگزین مقدار عددی فیلد
objectمیشود.
- اگر
- استانداردسازی فرمت (Data Formatting):
- فیلدهای
object_type،serviceوtypeکه به صورت رشته ساده هستند، به آرایهای شاملidوtitleتبدیل میشوند تا ساختار پاسخ یکپارچه باشد (Front-end friendly).
- فیلدهای
- خروجی: داده نهایی درون آبجکت
payloadقرار گرفته و ارسال میشود.
Response Structure
نمونه پاسخ موفق (200 OK)
{
"payload": {
"id": 105,
"branch": 1,
"service": {
"id": "nira",
"title": "nira"
},
"type": {
"id": "api",
"title": "api"
},
"object_type": {
"id": "colleague",
"title": "colleague"
},
"object": {
"id": 50,
"first_name": "Ali",
"last_name": "Rezaei",
"office": 1,
"status": 1,
"serial": "12345"
},
"status": 1,
"created_at": "2024-01-01 12:00:00"
},
"meta": {
"timestamp": 1733748000
}
}
Flowchart
Start Request (GET {id})
↓
DB::find($id)
↓
Is object_type == 'colleague'?
↙ (Yes)
Fetch Colleague Data
& Replace Object
& Replace Object
↘ (No)
Keep Original Object ID
↓
Format Fields:
Convert Strings to {id, title} Structure
Convert Strings to {id, title} Structure
↓
Return JSON Payload