#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.
جمعبندی
مسیر ویرایش گواهینامه قابلاعتماد و سریع است؛ لازم است کنترل دقیق نقش در سطح شعبه حفظ شود.