feat:物料存入数据库

This commit is contained in:
2026-09-30 10:03:18 -07:00
parent f6302e89b5
commit d83dddfdd2
3 changed files with 2 additions and 9 deletions
-1
View File
@@ -90,7 +90,6 @@ class ComponentProvider:
status="resolved" if matches else "not_found", status="resolved" if matches else "not_found",
components=matches, components=matches,
catalog_version=catalog.version, catalog_version=catalog.version,
source=catalog.source,
message="已找到组件定义" if matches else "已查询组件目录,未找到匹配的组件", message="已找到组件定义" if matches else "已查询组件目录,未找到匹配的组件",
) )
-3
View File
@@ -81,7 +81,6 @@ class ComponentCatalog(ExtensibleModel):
version: NonBlankString = Field( version: NonBlankString = Field(
description="前端组件目录版本,后续用于检查是否与前端匹配" description="前端组件目录版本,后续用于检查是否与前端匹配"
) )
source: NonBlankString = Field(description="真实定义来源,例如前端组件注册文件路径")
components: list[ComponentDefinition] components: list[ComponentDefinition]
@model_validator(mode="after") @model_validator(mode="after")
@@ -106,7 +105,6 @@ class ComponentResult(ExtensibleModel):
status: Literal["resolved", "not_found", "unsupported"] status: Literal["resolved", "not_found", "unsupported"]
components: list[ComponentDefinition] = Field(default_factory=list) components: list[ComponentDefinition] = Field(default_factory=list)
catalog_version: NonBlankString | None = None catalog_version: NonBlankString | None = None
source: NonBlankString | None = None
message: NonBlankString message: NonBlankString
def to_planner_context(self) -> JsonObject: def to_planner_context(self) -> JsonObject:
@@ -114,7 +112,6 @@ class ComponentResult(ExtensibleModel):
return { return {
"status": self.status, "status": self.status,
"catalog_version": self.catalog_version, "catalog_version": self.catalog_version,
"source": self.source,
"message": self.message, "message": self.message,
"components": [ "components": [
ComponentSummary( ComponentSummary(
+2 -5
View File
@@ -1,4 +1,4 @@
"""物料目录的 MongoDB 存储:每个组件一条记录,目录版本和来源放在元数据记录中""" """物料目录的 MongoDB 存储:每个组件一条记录,目录版本放在元数据记录中"""
from loguru import logger from loguru import logger
from pymongo.asynchronous.database import AsyncDatabase from pymongo.asynchronous.database import AsyncDatabase
@@ -28,7 +28,6 @@ class MongoMaterialRepository:
return ComponentCatalog.model_validate( return ComponentCatalog.model_validate(
{ {
"version": meta["version"], "version": meta["version"],
"source": meta["source"],
"components": components, "components": components,
} }
) )
@@ -46,9 +45,7 @@ class MongoMaterialRepository:
await self._materials.delete_many({}) await self._materials.delete_many({})
if documents: if documents:
await self._materials.insert_many(documents) await self._materials.insert_many(documents)
await self._materials.insert_one( await self._materials.insert_one({"_id": META_ID, "version": catalog.version})
{"_id": META_ID, "version": catalog.version, "source": catalog.source}
)
async def warm_material_cache(db: AsyncDatabase | None) -> ComponentCatalog | None: async def warm_material_cache(db: AsyncDatabase | None) -> ComponentCatalog | None: