package cmd import ( "database/sql" "pink_fox/internal/app" conf2 "pink_fox/internal/app/config" "pink_fox/internal/app/db" "pink_fox/internal/app/log" "pink_fox/internal/http_server" ) type Server struct { } func NewServer() *Server { return &Server{} } func (it *Server) Execute(defaultConfig string, defaultPort int) error { conf, err := conf2.LoadConfig(defaultConfig, defaultPort) if err != nil { exit(err) } conn, err := db.CreateConnection(&conf.Db) if err != nil { exit(err) } defer func(conn *sql.DB) { _ = conn.Close() }(conn) logger, err := log.NewLogger(conf.LogFile) if err != nil { exit(err) } defer func(logger *log.Logger) { _ = logger.Close() }(logger) return http_server.StartServer(app.New(conf, conn, logger)) }