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

وضعیت فعلی prior-art

GET /api/v1/invention-cases/{invention_case_id}/prior-art/ مشاهده در Swagger

ATP - وضعیت فعلی prior-art (GET /api/v1/invention-cases/{invention_case_id}/prior-art/)

Endpoint

GET /api/v1/invention-cases/{invention_case_id}/prior-art/

هدف آزمون

projection فعلی جستجو و گزارش prior-art برای UI.

شرایط آزمون

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

فرآیند آزمون

  1. ارسال درخواست GET به /api/v1/invention-cases/{invention_case_id}/prior-art/
  2. دریافت پاسخ HTTP
  3. بررسی کد وضعیت و بدنه JSON

معرفی ویژگی

خلاصه وضعیت بدون خواندن artifact سنگین S3. شامل sub_state، capabilities (can_start_search، can_start_report، ...) و آخرین execution status است.

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

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

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

  1. ارسال GET /api/v1/invention-cases/{invention_case_id}/prior-art/
  2. دریافت پاسخ موفق
  3. بررسی ساختار پاسخ

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

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

سناریو 3: قبل از شروع search

  1. context ready ولی search نزده
  2. بررسی sub_state="not_started"
  3. بررسی can_start_search=true

سناریو 4: run stale

  1. snapshot جدید بعد از search قبلی
  2. بررسی is_stale=true
  3. بررسی نیاز به search مجدد

قالب API

مولفه نوع نوع داده اجباری توضیحات
invention_case_id Path uuid بله شناسه پرونده اختراع

Swagger

get:
  summary: وضعیت فعلی prior-art
  responses:
    200:
      description: عملیات موفق
    401:
      description: احراز هویت نامعتبر یا ناقص

نمونه ورودی

curl -X GET "http://localhost:8000/api/v1/invention-cases/{invention_case_id}/prior-art/" \
  -H "Authorization: Bearer <access>" \
  -H "Content-Type: application/json"

نمونه خروجی

{
  "success": true,
  "data": {
    "prior_art": {
      "sub_state": "search_complete",
      "run_id": "...",
      "latest_search_status": "completed",
      "latest_report_status": null,
      "reference_count": 18,
      "capabilities": { "can_start_report": true }
    },
    "run": { "id": "...", "is_current": true, "context_snapshot_version": 2 }
  }
}

Status Codes

  • 200: عملیات موفق
  • 401: احراز هویت نامعتبر یا ناقص

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

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

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

  1. بررسی 200
  2. بررسی capabilities با context readiness
  3. بررسی is_stale پس از snapshot جدید

توضیحات

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