Initial commit
This commit is contained in:
commit
c0cb826917
63 changed files with 2069 additions and 0 deletions
41
internal/infrastructure/config.go
Normal file
41
internal/infrastructure/config.go
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
package infrastructure
|
||||
|
||||
import (
|
||||
"github.com/creasty/defaults"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
DBUser string `mapstructure:"db-user" default:"userpg"`
|
||||
DBName string `mapstructure:"db-name" default:"58blog"`
|
||||
DBPass string `mapstructure:"db-password" default:"1205"`
|
||||
DBHost string `mapstructure:"db-host" default:"localhost"`
|
||||
DBPort string `mapstructure:"db-port" default:"5432"`
|
||||
AdminName string `mapstructure:"admin_name" default:"muts"`
|
||||
AdminPassword string `mapstructure:"admin_pass" default:"1205"`
|
||||
ImagesPath string `mapstructure:"images_path" default:"./images/"`
|
||||
PostsPath string `mapstructure:"posts_path" default:"./posts/"`
|
||||
}
|
||||
|
||||
func LoadConfig() (config Config, err error) {
|
||||
config = Config{}
|
||||
if err = defaults.Set(config); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
viper.SetConfigName("config")
|
||||
viper.SetConfigType("yaml")
|
||||
viper.AddConfigPath(".")
|
||||
viper.AddConfigPath("/etc/58team_blog/")
|
||||
viper.AddConfigPath("/58team_blog/cfgs/")
|
||||
|
||||
if err = viper.ReadInConfig(); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if err = viper.Unmarshal(&config); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
19
internal/infrastructure/db.go
Normal file
19
internal/infrastructure/db.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package infrastructure
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
type Database struct {
|
||||
connection *sqlx.DB
|
||||
}
|
||||
|
||||
func DatabaseInit(config Config) (db Database, err error) {
|
||||
db = Database{}
|
||||
db_setup := fmt.Sprintf("user=%s password=%s host=%s port=%s dbname=%s", config.DBUser, config.DBPass, config.DBHost, config.DBPort, config.DBName)
|
||||
db.connection, err = sqlx.Connect("postgres", db_setup)
|
||||
|
||||
return
|
||||
}
|
||||
20
internal/infrastructure/infrastructure.go
Normal file
20
internal/infrastructure/infrastructure.go
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
package infrastructure
|
||||
|
||||
type Infrastructure struct {
|
||||
Config Config
|
||||
Db Database
|
||||
}
|
||||
|
||||
func InfrastructureInit() (infra Infrastructure, err error) {
|
||||
infra = Infrastructure{}
|
||||
|
||||
if infra.Config, err = LoadConfig(); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if infra.Db, err = DatabaseInit(infra.Config); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
1
internal/infrastructure/jaeger.go
Normal file
1
internal/infrastructure/jaeger.go
Normal file
|
|
@ -0,0 +1 @@
|
|||
package infrastructure
|
||||
Loading…
Add table
Add a link
Reference in a new issue