auto_agent/backend/app/repositories/metadata_repository.py
2521690 ce299cbb18 feat: 增加 Agent 演示入口与 app_metadata 驱动验证链路
- 新增 app_metadata 模型、仓储与服务
- 将默认 edge 验证步骤改为由 app_metadata 驱动生成
- 新增 chat_session / chat_message 会话层模型与 chat service
- 新增 demo chat API,支持会话创建、消息发送、任务确认
- 新增最小 Web Demo 页面,形成聊天式演示入口
- 增强任务报告,补充 audit_summary 与更细粒度 task_metrics
- 增强 edge-agent 执行器:tcp_probe、日志时间范围过滤、进程指标与更灵活健康检查
- 更新 README 与当前进度总结,MVP 进度推进到约 94%
2026-04-09 14:10:13 +08:00

32 lines
1015 B
Python

from __future__ import annotations
from sqlalchemy import select
from sqlalchemy.orm import Session
from app.models.app_metadata import AppMetadata
class AppMetadataRepository:
def __init__(self, db: Session) -> None:
self.db = db
def add(self, item: AppMetadata) -> AppMetadata:
self.db.add(item)
self.db.commit()
self.db.refresh(item)
return item
def update(self, item: AppMetadata) -> AppMetadata:
self.db.add(item)
self.db.commit()
self.db.refresh(item)
return item
def get_by_app_env(self, app_code: str, env: str) -> AppMetadata | None:
statement = select(AppMetadata).where(AppMetadata.app_code == app_code).where(AppMetadata.env == env)
return self.db.execute(statement).scalar_one_or_none()
def list_all(self) -> list[AppMetadata]:
statement = select(AppMetadata).order_by(AppMetadata.app_code.asc(), AppMetadata.env.asc())
return list(self.db.execute(statement).scalars())