From afd41b425aadb55d8a4600ef154e044ff5b541a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=84=B1=EA=B2=BD?= Date: Mon, 14 Sep 2026 17:11:24 +0900 Subject: [PATCH] =?UTF-8?q?feat(shared,frontend):=20InfoField/FactData?= =?UTF-8?q?=EC=97=90=20=EC=9A=94=EC=95=BD=20=ED=95=84=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 전체 orval 재생성은 이 브랜치의 다른 미완료 백엔드 작업(야놀자·맛집· 지역가이드 등)까지 끌어와 무관한 대규모 diff가 생겨서, summary 필드에 필요한 최소 변경만 손으로 반영했다(orval이 만들 결과와 동일한 모양). --- solution/frontend/src/api/generated/model/factData.ts | 2 ++ .../frontend/src/api/generated/model/factDataSummary.ts | 8 ++++++++ solution/frontend/src/api/generated/model/index.ts | 1 + solution/shared/src/types/builder.ts | 3 +++ 4 files changed, 14 insertions(+) create mode 100644 solution/frontend/src/api/generated/model/factDataSummary.ts diff --git a/solution/frontend/src/api/generated/model/factData.ts b/solution/frontend/src/api/generated/model/factData.ts index fd6ca73..8400570 100644 --- a/solution/frontend/src/api/generated/model/factData.ts +++ b/solution/frontend/src/api/generated/model/factData.ts @@ -6,6 +6,7 @@ */ import type { FactDataUnitId } from './factDataUnitId'; import type { FactDataValue } from './factDataValue'; +import type { FactDataSummary } from './factDataSummary'; import type { FactDataUnit } from './factDataUnit'; import type { SourceType } from './sourceType'; import type { FactDataSourceUrl } from './factDataSourceUrl'; @@ -21,6 +22,7 @@ export interface FactData { unit_id?: FactDataUnitId; key: string; value?: FactDataValue; + summary?: FactDataSummary; unit?: FactDataUnit; source_type: SourceType; source_url?: FactDataSourceUrl; diff --git a/solution/frontend/src/api/generated/model/factDataSummary.ts b/solution/frontend/src/api/generated/model/factDataSummary.ts new file mode 100644 index 0000000..b24231c --- /dev/null +++ b/solution/frontend/src/api/generated/model/factDataSummary.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v7.21.0 🍺 + * Do not edit manually. + * Web4Ai API + * OpenAPI spec version: 0.1.0 + */ + +export type FactDataSummary = string | null; diff --git a/solution/frontend/src/api/generated/model/index.ts b/solution/frontend/src/api/generated/model/index.ts index 2e38a7b..2be8f8a 100644 --- a/solution/frontend/src/api/generated/model/index.ts +++ b/solution/frontend/src/api/generated/model/index.ts @@ -19,6 +19,7 @@ export * from './factData'; export * from './factDataCollectedAt'; export * from './factDataExpiresAt'; export * from './factDataSourceUrl'; +export * from './factDataSummary'; export * from './factDataUnit'; export * from './factDataUnitId'; export * from './factDataValue'; diff --git a/solution/shared/src/types/builder.ts b/solution/shared/src/types/builder.ts index d06bf7f..a0741f9 100644 --- a/solution/shared/src/types/builder.ts +++ b/solution/shared/src/types/builder.ts @@ -15,6 +15,9 @@ export interface InfoField { id: string; label: string; value: string; + /** 캔버스 미리보기용 축약문. intro/room_intro 원문이 길 때만 백엔드가 채워 보낸다(응답 전용, + * place_facts 에는 저장되지 않는다). 없으면 값이 짧거나 요약에 실패한 것 — 원문(value)으로 폴백한다. */ + summary?: string; /** 수집됐지만 사장님 확인이 필요한 값(백엔드 FactStatus.UNVERIFIED / PENDING_OWNER 대응). */ requiresVerification: boolean; /** [맞아요] 또는 수정 승인을 거쳤는가(VERIFIED / CORRECTED 대응). */