package repository import ( "x-agents/server/internal/model" "gorm.io/gorm" ) type DatabaseRepository struct { db *gorm.DB } func NewDatabaseRepository(db *gorm.DB) *DatabaseRepository { return &DatabaseRepository{db: db} } // Create 创建数据库信息 func (r *DatabaseRepository) Create(info *model.DatabaseInfo) error { return r.db.Create(info).Error } // FindByID 根据ID查询 func (r *DatabaseRepository) FindByID(id string) (*model.DatabaseInfo, error) { var info model.DatabaseInfo err := r.db.First(&info, "id = ?", id).Error if err != nil { return nil, err } return &info, nil } // FindAll 查询所有 func (r *DatabaseRepository) FindAll() ([]model.DatabaseInfo, error) { var list []model.DatabaseInfo err := r.db.Order("created_at DESC").Find(&list).Error return list, err } // Update 更新 func (r *DatabaseRepository) Update(id string, info *model.DatabaseInfo) error { return r.db.Model(&model.DatabaseInfo{}).Where("id = ?", id).Updates(info).Error } // UpdateFields 更新指定字段 func (r *DatabaseRepository) UpdateFields(id string, fields map[string]interface{}) error { return r.db.Model(&model.DatabaseInfo{}).Where("id = ?", id).Updates(fields).Error } // Delete 删除 func (r *DatabaseRepository) Delete(id string) error { return r.db.Delete(&model.DatabaseInfo{}, "id = ?", id).Error }