feat: 新增Model管理模块

- 添加 Model 实体定义
- 实现 Model CRUD 接口
- 添加 Model 仓储层和服务层

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 13:53:27 +08:00
parent eda1af6938
commit aabdf81073
4 changed files with 396 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
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
}
// 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
}