Files
TaskPool/internal/services/script_service.go
T
2025-12-20 09:30:16 +08:00

53 lines
1.2 KiB
Go

package services
import (
"baihu/internal/database"
"baihu/internal/models"
)
type ScriptService struct{}
func NewScriptService() *ScriptService {
return &ScriptService{}
}
func (ss *ScriptService) CreateScript(name, content string, userID int) *models.Script {
script := &models.Script{
Name: name,
Content: content,
UserID: uint(userID),
}
database.DB.Create(script)
return script
}
func (ss *ScriptService) GetScriptsByUserID(userID int) []models.Script {
var scripts []models.Script
database.DB.Where("user_id = ?", userID).Find(&scripts)
return scripts
}
func (ss *ScriptService) GetScriptByID(id int) *models.Script {
var script models.Script
if err := database.DB.First(&script, id).Error; err != nil {
return nil
}
return &script
}
func (ss *ScriptService) UpdateScript(id int, name, content string) *models.Script {
var script models.Script
if err := database.DB.First(&script, id).Error; err != nil {
return nil
}
script.Name = name
script.Content = content
database.DB.Save(&script)
return &script
}
func (ss *ScriptService) DeleteScript(id int) bool {
result := database.DB.Delete(&models.Script{}, id)
return result.RowsAffected > 0
}