بازگشت به فهرست ATP →
اسناد پیش‌نویس

اعمال migration قالب

POST /api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/ مشاهده در Swagger

ATP - اعمال migration قالب (POST /api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/)

Endpoint

POST /api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/

هدف آزمون

اعمال نسخه جدید قالب با preview_token و decisions.

شرایط آزمون

  • سرویس core-api در حال اجرا باشد
  • هدر Authorization با access token معتبر

فرآیند آزمون

  1. ارسال درخواست POST به /api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/
  2. دریافت پاسخ HTTP
  3. بررسی کد وضعیت و بدنه JSON

معرفی ویژگی

این endpoint عملیات «اعمال migration قالب» را در API Patent Genie انجام می‌دهد.

  • ورودی معتبر: اعتبارسنجی در مرز API
  • پاسخ استاندارد: قالب JSON یکسان با سایر endpointها
  • کنترل دسترسی: مطابق policy ماژول مربوطه

سناریوی آزمون

سناریو 1: مسیر موفق

  1. ارسال POST /api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

سناریو 2: خطا - درخواست نامعتبر

  1. ارسال درخواست با داده یا شناسه نامعتبر
  2. دریافت کد خطای 4xx
  3. بررسی پیام خطای استاندارد API

سناریو 3: خطا — بدون احراز هویت

  1. ارسال درخواست بدون هدر Authorization
  2. دریافت کد 401
  3. بررسی عدم برگرداندن داده محافظت‌شده

سناریو 4: خطا — منبع یافت نشد

  1. استفاده از UUID نامعتبر یا متعلق به کاربر دیگر
  2. دریافت کد 404
  3. بررسی پیام خطای استاندارد API

قالب API

مولفه نوع نوع داده اجباری توضیحات
target_template_version_id Body uuid بله نسخه مقصد
preview_token Body uuid بله توکن از preview
expected_current_template_version_id Body uuid بله نسخه فعلی برای optimistic concurrency
decisions Body object خیر تصمیم‌های section-level از preview
invention_case_id Path uuid بله شناسه پرونده اختراع
document_id Path uuid بله شناسه سند

Swagger

post:
  summary: اعمال migration قالب
  responses:
    201:
      description: منبع ایجاد شد
    400:
      description: داده ورودی نامعتبر
    401:
      description: احراز هویت نامعتبر

نمونه ورودی

curl -X POST "http://localhost:8000/api/v1/invention-cases/{invention_case_id}/draft-documents/{document_id}/apply-template-version/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json"

نمونه خروجی

{
  "success": true,
  "data": {}
}

Status Codes

  • 201: منبع ایجاد شد
  • 400: داده ورودی نامعتبر
  • 401: احراز هویت نامعتبر

نتیجه مورد انتظار

در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای POST برگردانده می‌شود.

روال صحت‌سنجی

  1. بررسی کد وضعیت HTTP
  2. بررسی فیلد success در بدنه
  3. بررسی عدم افشای داده حساس

توضیحات

  • مسیر باید با پیاده‌سازی فعلی urls.py هم‌خوان باشد