Files
AI-CS/backend/repository/prompt_config_repository.go
T
2026-03-25 18:50:58 +08:00

43 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package repository
import (
"github.com/2930134478/AI-CS/backend/models"
"gorm.io/gorm"
)
// PromptConfigRepository 提示词配置仓储(按 key 读写)
type PromptConfigRepository struct {
db *gorm.DB
}
// NewPromptConfigRepository 创建仓储实例
func NewPromptConfigRepository(db *gorm.DB) *PromptConfigRepository {
return &PromptConfigRepository{db: db}
}
// Get 按 key 获取一条配置,不存在返回 nil, nil
// 使用反引号包裹 key,避免 MySQL 保留字导致 SQL 语法错误
func (r *PromptConfigRepository) Get(key string) (*models.PromptConfig, error) {
var m models.PromptConfig
err := r.db.Where("`key` = ?", key).First(&m).Error
if err == gorm.ErrRecordNotFound {
return nil, nil
}
if err != nil {
return nil, err
}
return &m, nil
}
// GetAll 获取所有配置(用于管理页展示)
func (r *PromptConfigRepository) GetAll() ([]models.PromptConfig, error) {
var list []models.PromptConfig
err := r.db.Order("`key`").Find(&list).Error
return list, err
}
// Save 按 key 保存或更新(upsert
func (r *PromptConfigRepository) Save(c *models.PromptConfig) error {
return r.db.Save(c).Error
}