Feat: version setting and releases dont show db log

pull/41/head
zijiren233 1 year ago
parent 688f093558
commit 9b607b7ba9

@ -12,6 +12,7 @@ import (
"github.com/synctv-org/synctv/cmd/flags"
"github.com/synctv-org/synctv/internal/conf"
"github.com/synctv-org/synctv/internal/db"
"github.com/synctv-org/synctv/internal/version"
"github.com/synctv-org/synctv/utils"
"gorm.io/driver/mysql"
"gorm.io/driver/postgres"
@ -143,7 +144,7 @@ func newDBLogger() logger.Interface {
SlowThreshold: time.Second,
LogLevel: logLevel,
IgnoreRecordNotFoundError: true,
ParameterizedQueries: !flags.Dev,
ParameterizedQueries: !flags.Dev && version.Version != "dev",
Colorful: true,
},
)

@ -83,54 +83,54 @@ func InitProvider(ctx context.Context) (err error) {
groupSettings := &ProviderGroupSetting{}
ProviderGroupSettings[group] = groupSettings
groupSettings.Enabled = settings.NewBoolSetting(fmt.Sprintf("%s_enabled", group), false, group, settings.WithBeforeInitBool(func(bs settings.BoolSetting, b bool) error {
groupSettings.Enabled = settings.NewBoolSetting(fmt.Sprintf("%s_enabled", group), false, group, settings.WithBeforeInitBool(func(bs settings.BoolSetting, b bool) (bool, error) {
defer Oauth2EnabledCache.Refresh()
if b {
return providers.EnableProvider(op)
return b, providers.EnableProvider(op)
} else {
providers.DisableProvider(op)
return nil
return b, nil
}
}), settings.WithBeforeSetBool(func(bs settings.BoolSetting, b bool) error {
}), settings.WithBeforeSetBool(func(bs settings.BoolSetting, b bool) (bool, error) {
defer Oauth2EnabledCache.Refresh()
if b {
return providers.EnableProvider(op)
return b, providers.EnableProvider(op)
} else {
providers.DisableProvider(op)
return nil
return b, nil
}
}))
opt := provider.Oauth2Option{}
groupSettings.ClientID = settings.NewStringSetting(fmt.Sprintf("%s_client_id", group), opt.ClientID, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) error {
groupSettings.ClientID = settings.NewStringSetting(fmt.Sprintf("%s_client_id", group), opt.ClientID, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) (string, error) {
opt.ClientID = s
pi.Init(opt)
return nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) error {
return s, nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) (string, error) {
opt.ClientID = s
pi.Init(opt)
return nil
return s, nil
}))
groupSettings.ClientSecret = settings.NewStringSetting(fmt.Sprintf("%s_client_secret", group), opt.ClientSecret, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) error {
groupSettings.ClientSecret = settings.NewStringSetting(fmt.Sprintf("%s_client_secret", group), opt.ClientSecret, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) (string, error) {
opt.ClientSecret = s
pi.Init(opt)
return nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) error {
return s, nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) (string, error) {
opt.ClientSecret = s
pi.Init(opt)
return nil
return s, nil
}))
groupSettings.RedirectURL = settings.NewStringSetting(fmt.Sprintf("%s_redirect_url", group), opt.RedirectURL, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) error {
groupSettings.RedirectURL = settings.NewStringSetting(fmt.Sprintf("%s_redirect_url", group), opt.RedirectURL, group, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) (string, error) {
opt.RedirectURL = s
pi.Init(opt)
return nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) error {
return s, nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) (string, error) {
opt.RedirectURL = s
pi.Init(opt)
return nil
return s, nil
}))
groupSettings.DisableUserSignup = settings.NewBoolSetting(fmt.Sprintf("%s_disable_user_signup", group), false, group)

@ -21,6 +21,7 @@ const (
SettingGroupProxy SettingGroup = "proxy"
SettingGroupRtmp SettingGroup = "rtmp"
SettingGroupDatabase SettingGroup = "database"
SettingGroupServer SettingGroup = "server"
SettingGroupOauth2 SettingGroup = "oauth2"
)

@ -24,18 +24,18 @@ type Bool struct {
setting
defaultValue bool
value uint32
beforeInit, beforeSet func(BoolSetting, bool) error
beforeInit, beforeSet func(BoolSetting, bool) (bool, error)
}
type BoolSettingOption func(*Bool)
func WithBeforeInitBool(beforeInit func(BoolSetting, bool) error) BoolSettingOption {
func WithBeforeInitBool(beforeInit func(BoolSetting, bool) (bool, error)) BoolSettingOption {
return func(s *Bool) {
s.beforeInit = beforeInit
}
}
func WithBeforeSetBool(beforeSet func(BoolSetting, bool) error) BoolSettingOption {
func WithBeforeSetBool(beforeSet func(BoolSetting, bool) (bool, error)) BoolSettingOption {
return func(s *Bool) {
s.beforeSet = beforeSet
}
@ -76,7 +76,7 @@ func (b *Bool) Init(value string) error {
}
if b.beforeInit != nil {
err = b.beforeInit(b, v)
v, err = b.beforeInit(b, v)
if err != nil {
return err
}
@ -117,7 +117,7 @@ func (b *Bool) SetString(value string) error {
}
if b.beforeSet != nil {
err = b.beforeSet(b, v)
v, err = b.beforeSet(b, v)
if err != nil {
return err
}
@ -132,20 +132,20 @@ func (b *Bool) SetString(value string) error {
return nil
}
func (b *Bool) Set(value bool) (err error) {
func (b *Bool) Set(v bool) (err error) {
if b.beforeSet != nil {
err = b.beforeSet(b, value)
v, err = b.beforeSet(b, v)
if err != nil {
return err
}
}
err = db.UpdateSettingItemValue(b.name, b.Stringify(value))
err = db.UpdateSettingItemValue(b.name, b.Stringify(v))
if err != nil {
return err
}
b.set(value)
b.set(v)
return
}

@ -26,7 +26,7 @@ type Float64 struct {
defaultValue float64
value uint64
validator func(float64) error
beforeInit, beforeSet func(Float64Setting, float64) error
beforeInit, beforeSet func(Float64Setting, float64) (float64, error)
}
type Float64SettingOption func(*Float64)
@ -37,13 +37,13 @@ func WithValidatorFloat64(validator func(float64) error) Float64SettingOption {
}
}
func WithBeforeInitFloat64(beforeInit func(Float64Setting, float64) error) Float64SettingOption {
func WithBeforeInitFloat64(beforeInit func(Float64Setting, float64) (float64, error)) Float64SettingOption {
return func(s *Float64) {
s.beforeInit = beforeInit
}
}
func WithBeforeSetFloat64(beforeSet func(Float64Setting, float64) error) Float64SettingOption {
func WithBeforeSetFloat64(beforeSet func(Float64Setting, float64) (float64, error)) Float64SettingOption {
return func(s *Float64) {
s.beforeSet = beforeSet
}
@ -87,7 +87,7 @@ func (f *Float64) Init(value string) error {
}
if f.beforeInit != nil {
err = f.beforeInit(f, v)
v, err = f.beforeInit(f, v)
if err != nil {
return err
}
@ -120,7 +120,7 @@ func (f *Float64) SetString(value string) error {
}
if f.beforeSet != nil {
err = f.beforeSet(f, v)
v, err = f.beforeSet(f, v)
if err != nil {
return err
}
@ -139,27 +139,27 @@ func (f *Float64) set(value float64) {
atomic.StoreUint64(&f.value, math.Float64bits(value))
}
func (f *Float64) Set(value float64) (err error) {
func (f *Float64) Set(v float64) (err error) {
if f.validator != nil {
err = f.validator(value)
err = f.validator(v)
if err != nil {
return err
}
}
if f.beforeSet != nil {
err = f.beforeSet(f, value)
v, err = f.beforeSet(f, v)
if err != nil {
return err
}
}
err = db.UpdateSettingItemValue(f.name, f.Stringify(value))
err = db.UpdateSettingItemValue(f.name, f.Stringify(v))
if err != nil {
return err
}
f.set(value)
f.set(v)
return
}

@ -25,7 +25,7 @@ type Int64 struct {
defaultValue int64
value int64
validator func(int64) error
beforeInit, beforeSet func(Int64Setting, int64) error
beforeInit, beforeSet func(Int64Setting, int64) (int64, error)
}
type Int64SettingOption func(*Int64)
@ -36,13 +36,13 @@ func WithValidatorInt64(validator func(int64) error) Int64SettingOption {
}
}
func WithBeforeInitInt64(beforeInit func(Int64Setting, int64) error) Int64SettingOption {
func WithBeforeInitInt64(beforeInit func(Int64Setting, int64) (int64, error)) Int64SettingOption {
return func(s *Int64) {
s.beforeInit = beforeInit
}
}
func WithBeforeSetInt64(beforeSet func(Int64Setting, int64) error) Int64SettingOption {
func WithBeforeSetInt64(beforeSet func(Int64Setting, int64) (int64, error)) Int64SettingOption {
return func(s *Int64) {
s.beforeSet = beforeSet
}
@ -86,7 +86,7 @@ func (i *Int64) Init(value string) error {
}
if i.beforeInit != nil {
err = i.beforeInit(i, v)
v, err = i.beforeInit(i, v)
if err != nil {
return err
}
@ -119,7 +119,7 @@ func (i *Int64) SetString(value string) error {
}
if i.beforeSet != nil {
err = i.beforeSet(i, v)
v, err = i.beforeSet(i, v)
if err != nil {
return err
}
@ -138,27 +138,27 @@ func (i *Int64) set(value int64) {
atomic.StoreInt64(&i.value, value)
}
func (i *Int64) Set(value int64) (err error) {
func (i *Int64) Set(v int64) (err error) {
if i.validator != nil {
err = i.validator(value)
err = i.validator(v)
if err != nil {
return err
}
}
if i.beforeSet != nil {
err = i.beforeSet(i, value)
v, err = i.beforeSet(i, v)
if err != nil {
return err
}
}
err = db.UpdateSettingItemValue(i.name, i.Stringify(value))
err = db.UpdateSettingItemValue(i.name, i.Stringify(v))
if err != nil {
return err
}
i.set(value)
i.set(v)
return
}

@ -25,7 +25,7 @@ type String struct {
lock sync.RWMutex
value string
validator func(string) error
beforeInit, beforeSet func(StringSetting, string) error
beforeInit, beforeSet func(StringSetting, string) (string, error)
}
type StringSettingOption func(*String)
@ -36,13 +36,13 @@ func WithValidatorString(validator func(string) error) StringSettingOption {
}
}
func WithBeforeInitString(beforeInit func(StringSetting, string) error) StringSettingOption {
func WithBeforeInitString(beforeInit func(StringSetting, string) (string, error)) StringSettingOption {
return func(s *String) {
s.beforeInit = beforeInit
}
}
func WithBeforeSetString(beforeSet func(StringSetting, string) error) StringSettingOption {
func WithBeforeSetString(beforeSet func(StringSetting, string) (string, error)) StringSettingOption {
return func(s *String) {
s.beforeSet = beforeSet
}
@ -82,7 +82,7 @@ func (s *String) Init(value string) error {
}
if s.beforeInit != nil {
err = s.beforeInit(s, v)
v, err = s.beforeInit(s, v)
if err != nil {
return err
}
@ -115,7 +115,7 @@ func (s *String) SetString(value string) error {
}
if s.beforeSet != nil {
err = s.beforeSet(s, v)
v, err = s.beforeSet(s, v)
if err != nil {
return err
}
@ -136,27 +136,27 @@ func (s *String) set(value string) {
s.value = value
}
func (s *String) Set(value string) (err error) {
func (s *String) Set(v string) (err error) {
if s.validator != nil {
err = s.validator(value)
err = s.validator(v)
if err != nil {
return err
}
}
if s.beforeSet != nil {
err = s.beforeSet(s, value)
v, err = s.beforeSet(s, v)
if err != nil {
return err
}
}
err = db.UpdateSettingItemValue(s.name, s.Stringify(value))
err = db.UpdateSettingItemValue(s.name, s.Stringify(v))
if err != nil {
return err
}
s.set(value)
s.set(v)
return
}

@ -36,7 +36,7 @@ var (
)
var (
DatabaseVersion = NewStringSetting("database_version", "0.0.1", model.SettingGroupDatabase, WithBeforeSetString(func(ss StringSetting, s string) error {
return errors.New("not support change database version")
DatabaseVersion = NewStringSetting("database_version", "0.0.1", model.SettingGroupDatabase, WithBeforeSetString(func(ss StringSetting, s string) (string, error) {
return "", errors.New("not support change database version")
}))
)

@ -10,6 +10,8 @@ import (
"github.com/google/go-github/v56/github"
log "github.com/sirupsen/logrus"
"github.com/synctv-org/synctv/cmd/flags"
"github.com/synctv-org/synctv/internal/model"
"github.com/synctv-org/synctv/internal/settings"
"github.com/synctv-org/synctv/utils"
)
@ -22,6 +24,11 @@ var (
Version string = "dev"
WebVersion string = "dev"
GitCommit string
_ = settings.NewStringSetting("version", "placeholder string", model.SettingGroupServer, settings.WithBeforeInitString(func(ss settings.StringSetting, s string) (string, error) {
return Version, nil
}), settings.WithBeforeSetString(func(ss settings.StringSetting, s string) (string, error) {
return "", errors.New("version can not be set")
}))
)
type VersionInfo struct {

Loading…
Cancel
Save