mirror of
https://github.com/ddworken/hishtory.git
synced 2025-02-16 18:41:03 +01:00
constant context keys
This commit is contained in:
parent
a12b0e5f6f
commit
ce6484f465
@ -108,28 +108,34 @@ func OpenLocalSqliteDb() (*gorm.DB, error) {
|
|||||||
|
|
||||||
type hishtoryContextKey string
|
type hishtoryContextKey string
|
||||||
|
|
||||||
|
const (
|
||||||
|
configCtxKey hishtoryContextKey = "config"
|
||||||
|
dbCtxKey hishtoryContextKey = "db"
|
||||||
|
homedirCtxKey hishtoryContextKey = "homedir"
|
||||||
|
)
|
||||||
|
|
||||||
func MakeContext() context.Context {
|
func MakeContext() context.Context {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
config, err := GetConfig()
|
config, err := GetConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("failed to retrieve config: %v", err))
|
panic(fmt.Errorf("failed to retrieve config: %v", err))
|
||||||
}
|
}
|
||||||
ctx = context.WithValue(ctx, hishtoryContextKey("config"), config)
|
ctx = context.WithValue(ctx, configCtxKey, config)
|
||||||
db, err := OpenLocalSqliteDb()
|
db, err := OpenLocalSqliteDb()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("failed to open local DB: %v", err))
|
panic(fmt.Errorf("failed to open local DB: %v", err))
|
||||||
}
|
}
|
||||||
ctx = context.WithValue(ctx, hishtoryContextKey("db"), db)
|
ctx = context.WithValue(ctx, dbCtxKey, db)
|
||||||
homedir, err := os.UserHomeDir()
|
homedir, err := os.UserHomeDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("failed to get homedir: %v", err))
|
panic(fmt.Errorf("failed to get homedir: %v", err))
|
||||||
}
|
}
|
||||||
ctx = context.WithValue(ctx, hishtoryContextKey("homedir"), homedir)
|
ctx = context.WithValue(ctx, homedirCtxKey, homedir)
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetConf(ctx context.Context) ClientConfig {
|
func GetConf(ctx context.Context) ClientConfig {
|
||||||
v := ctx.Value(hishtoryContextKey("config"))
|
v := ctx.Value(configCtxKey)
|
||||||
if v != nil {
|
if v != nil {
|
||||||
return v.(ClientConfig)
|
return v.(ClientConfig)
|
||||||
}
|
}
|
||||||
@ -137,7 +143,7 @@ func GetConf(ctx context.Context) ClientConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetDb(ctx context.Context) *gorm.DB {
|
func GetDb(ctx context.Context) *gorm.DB {
|
||||||
v := ctx.Value(hishtoryContextKey("db"))
|
v := ctx.Value(dbCtxKey)
|
||||||
if v != nil {
|
if v != nil {
|
||||||
return v.(*gorm.DB)
|
return v.(*gorm.DB)
|
||||||
}
|
}
|
||||||
@ -145,7 +151,7 @@ func GetDb(ctx context.Context) *gorm.DB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetHome(ctx context.Context) string {
|
func GetHome(ctx context.Context) string {
|
||||||
v := ctx.Value(hishtoryContextKey("homedir"))
|
v := ctx.Value(homedirCtxKey)
|
||||||
if v != nil {
|
if v != nil {
|
||||||
return v.(string)
|
return v.(string)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user