Skip to main content
#P1487

PUT /api/v2/base/certificate

Route Info

Method Endpoint Controller Purpose
PUT /api/v2/base/certificate V2BaseController@updateCertificate ویرایش داده‌های گواهی‌نامه براساس شناسه و شعبه کاربر.

منطق عملکرد

تابع updateCertificate داده‌های موجود گواهی را بروزرسانی می‌کند. تغییرات شامل عنوان، صادرکننده، تاریخ انقضا یا مسیر فایل است و با DB::update() در همان رکورد انجام می‌شود.

ورودی‌ها

  • id (integer, required): شناسه گواهی.
  • branch (integer): شعبه مالک گواهی.
  • title, exporter, expiration, document, content: فیلدهای قابل ویرایش.

خروجی

{
  "meta": {"timestamp": 1750669277},
  "payload": true
}

امنیت

  • JWT الزامی.
  • دسترسی محدود به شعبه خودش.
  • نقش مجاز: CertificateEditor.

کارایی

  • عملیات ساده و سریع در یک کوئری.
  • پیشنهاد استفاده از DB::transaction برای Atomicity.

وابستگی‌ها

  • use Illuminate\Support\Facades\DB;
  • use Carbon\Carbon;

خطاها

کد شرح
404 گواهی‌نامه یافت نشد.
400 داده نامعتبر یا پارامتر ناقص.

پیشنهاد امنیتی

  • تأیید مالکیت رکورد بر اساس branch.
  • ذخیره نسخه قبل در جدول certificate_revisions.

پیشنهاد عملکردی

  • افزودن trigger برای لاگ تغییرات.
  • بروزرسانی کش Redis در صورت موفقیت.

ممیزی

نوع لاگ: UpdateCertificate، سطح: Important.

جمع‌بندی

مسیر ویرایش گواهی‌نامه قابل‌اعتماد و سریع است؛ لازم است کنترل دقیق نقش در سطح شعبه حفظ شود.