- agent_handler.go: 新增agent管理接口 - agent_service.go: 扩展agent服务逻辑 - skill_handler.go: 更新skill接口 - chat_service.go: 更新chat服务 - model相关: 新增model仓库和服务 - main.go: 更新路由配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package repository
|
|
|
|
import (
|
|
"x-agents/server/internal/model"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// ModelRepository 模型仓储
|
|
type ModelRepository struct {
|
|
db *gorm.DB
|
|
}
|
|
|
|
func NewModelRepository(db *gorm.DB) *ModelRepository {
|
|
return &ModelRepository{db: db}
|
|
}
|
|
|
|
// FindAll 获取所有模型
|
|
func (r *ModelRepository) FindAll() ([]model.ModelInfo, error) {
|
|
var models []model.ModelInfo
|
|
err := r.db.Order("created_at desc").Find(&models).Error
|
|
return models, err
|
|
}
|
|
|
|
// FindByID 根据 ID 获取模型
|
|
func (r *ModelRepository) FindByID(id string) (*model.ModelInfo, error) {
|
|
var model model.ModelInfo
|
|
err := r.db.Where("id = ?", id).First(&model).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &model, nil
|
|
}
|
|
|
|
// FindByName 根据名称获取模型
|
|
func (r *ModelRepository) FindByName(name string) (*model.ModelInfo, error) {
|
|
var model model.ModelInfo
|
|
err := r.db.Where("name = ?", name).First(&model).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &model, nil
|
|
}
|
|
|
|
// Create 创建模型
|
|
func (r *ModelRepository) Create(info *model.ModelInfo) error {
|
|
return r.db.Create(info).Error
|
|
}
|
|
|
|
// Update 更新模型
|
|
func (r *ModelRepository) Update(id string, info *model.ModelInfo) error {
|
|
return r.db.Where("id = ?", id).Updates(info).Error
|
|
}
|
|
|
|
// Delete 删除模型
|
|
func (r *ModelRepository) Delete(id string) error {
|
|
return r.db.Where("id = ?", id).Delete(&model.ModelInfo{}).Error
|
|
}
|
|
|
|
// UpdateFields 更新指定字段
|
|
func (r *ModelRepository) UpdateFields(id string, fields map[string]interface{}) error {
|
|
return r.db.Model(&model.ModelInfo{}).Where("id = ?", id).Updates(fields).Error
|
|
}
|