[ADD]mcp market: Obtain the list of MCP services from MCP Market Source - ModelScope
This commit is contained in:
@@ -8,6 +8,8 @@ from .file_schema import File, FileCreate, FileUpdate
|
||||
from .tenant_schema import Tenant, TenantCreate, TenantUpdate
|
||||
from .chunk_schema import ChunkCreate, ChunkUpdate, ChunkRetrieve
|
||||
from .knowledgeshare_schema import KnowledgeShare, KnowledgeShareCreate
|
||||
from .mcp_market_schema import McpMarketCreate, McpMarketUpdate, McpMarket
|
||||
from .mcp_market_config_schema import McpMarketConfigCreate, McpMarketConfigUpdate, McpMarketConfig
|
||||
from .order_schema import CreateOrderRequest, OrderResponse, ExternalOrderResponse
|
||||
from .app_schema import (
|
||||
AppChatRequest,
|
||||
@@ -78,6 +80,12 @@ __all__ = [
|
||||
"ChunkRetrieve",
|
||||
"KnowledgeShare",
|
||||
"KnowledgeShareCreate",
|
||||
"McpMarketCreate",
|
||||
"McpMarketUpdate",
|
||||
"McpMarket",
|
||||
"McpMarketConfigCreate",
|
||||
"McpMarketConfigUpdate",
|
||||
"McpMarketConfig",
|
||||
"CreateOrderRequest",
|
||||
"OrderResponse",
|
||||
"ExternalOrderResponse",
|
||||
|
||||
31
api/app/schemas/mcp_market_config_schema.py
Normal file
31
api/app/schemas/mcp_market_config_schema.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from pydantic import BaseModel, Field, field_serializer, ConfigDict
|
||||
import datetime
|
||||
import uuid
|
||||
|
||||
|
||||
class McpMarketConfigBase(BaseModel):
|
||||
mcp_market_id: uuid.UUID
|
||||
token: str | None = None
|
||||
status: int | None = None
|
||||
tenant_id: uuid.UUID | None = None
|
||||
created_by: uuid.UUID | None = None
|
||||
|
||||
|
||||
class McpMarketConfigCreate(McpMarketConfigBase):
|
||||
pass
|
||||
|
||||
|
||||
class McpMarketConfigUpdate(BaseModel):
|
||||
token: str | None = None
|
||||
status: int | None = None
|
||||
|
||||
|
||||
class McpMarketConfig(McpMarketConfigBase):
|
||||
id: uuid.UUID
|
||||
created_at: datetime.datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
@field_serializer("created_at", when_used="json")
|
||||
def _serialize_created_at(self, dt: datetime.datetime):
|
||||
return int(dt.timestamp() * 1000) if dt else None
|
||||
37
api/app/schemas/mcp_market_schema.py
Normal file
37
api/app/schemas/mcp_market_schema.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from pydantic import BaseModel, Field, field_serializer, ConfigDict
|
||||
import datetime
|
||||
import uuid
|
||||
|
||||
|
||||
class McpMarketBase(BaseModel):
|
||||
name: str
|
||||
description: str | None = None
|
||||
logo_url: str | None = None
|
||||
mcp_count: int
|
||||
url: str
|
||||
category: str
|
||||
created_by: uuid.UUID | None = None
|
||||
|
||||
|
||||
class McpMarketCreate(McpMarketBase):
|
||||
pass
|
||||
|
||||
|
||||
class McpMarketUpdate(BaseModel):
|
||||
name: str | None = Field(None)
|
||||
description: str | None = Field(None)
|
||||
logo_url: str | None = Field(None)
|
||||
mcp_count: int | None = Field(None)
|
||||
url: str | None = Field(None)
|
||||
category: str | None = Field(None)
|
||||
|
||||
|
||||
class McpMarket(McpMarketBase):
|
||||
id: uuid.UUID
|
||||
created_at: datetime.datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
@field_serializer("created_at", when_used="json")
|
||||
def _serialize_created_at(self, dt: datetime.datetime):
|
||||
return int(dt.timestamp() * 1000) if dt else None
|
||||
Reference in New Issue
Block a user