Initial commit

This commit is contained in:
KamilM1205 2025-09-16 13:26:27 +04:00
commit c0cb826917
63 changed files with 2069 additions and 0 deletions

View 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
}

View 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
}

View 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
}

View file

@ -0,0 +1 @@
package infrastructure