aeus-admin/pkg/dbcache/depend.go

30 lines
603 B
Go

package dbcache
import (
"context"
"gorm.io/gorm"
)
type CacheDependency interface {
GetValue(ctx context.Context, tx *gorm.DB) (value string, err error)
}
type SqlDependency struct {
dependSQL string
dependArgs []any
}
func (d *SqlDependency) GetValue(ctx context.Context, tx *gorm.DB) (value string, err error) {
var dependValue string
err = tx.Raw(d.dependSQL, d.dependArgs...).Scan(&dependValue).Error
return dependValue, err
}
func NewSqlDependency(dependSQL string, dependArgs ...any) *SqlDependency {
return &SqlDependency{
dependSQL: dependSQL,
dependArgs: dependArgs,
}
}