Skip to main content
#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

فرآیند بروزرسانی به شرح زیر است:

  1. دریافت و استخراج داده‌ها: مقادیر ورودی پردازش می‌شوند:
    • برای فیلدهای type، service و object_type مقدار ['title'] برداشته می‌شود.
    • برای فیلد object مقدار ['id'] برداشته می‌شود (با استفاده از عملگر Null Coalescing).
  2. بروزرسانی دیتابیس: دستور UPDATE بر روی جدول application_interface برای رکوردی که id آن برابر با پارامتر مسیر است اجرا می‌شود.
  3. بازیابی مجدد: پس از اعمال تغییرات، رکورد بروزرسانی شده با 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
DB::table(...)->where('id', $id)->update(...)
DB::find($id)
Return Updated Record