Files
pig-farm-controller/internal/infra/repository/user_action_log_repository.go
2025-09-28 01:02:29 +08:00

43 lines
1.3 KiB
Go

// Package repository 提供了数据访问的仓库实现
package repository
import (
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
"gorm.io/gorm"
)
// --- 审计日志状态常量 ---
const (
AuditStatusSuccess = "success"
AuditStatusFailed = "failed"
)
// --- 审计日志相关上下文键 ---
// TODO 这些变量放这个包合适吗?
const (
ContextAuditActionType = "auditActionType"
ContextAuditTargetResource = "auditTargetResource"
ContextAuditDescription = "auditDescription"
ContextUserKey = "user" // 存储在 gin.Context 中的用户对象的键名
)
// UserActionLogRepository 定义了与用户操作日志相关的数据库操作接口
type UserActionLogRepository interface {
Create(log *models.UserActionLog) error
}
// gormUserActionLogRepository 是 UserActionLogRepository 的 GORM 实现
type gormUserActionLogRepository struct {
db *gorm.DB
}
// NewGormUserActionLogRepository 创建一个新的 UserActionLogRepository GORM 实现实例
func NewGormUserActionLogRepository(db *gorm.DB) UserActionLogRepository {
return &gormUserActionLogRepository{db: db}
}
// Create 创建一条新的用户操作日志记录
func (r *gormUserActionLogRepository) Create(log *models.UserActionLog) error {
return r.db.Create(log).Error
}