Browse Source

Code refactoring

Vova Tkach 6 years ago
parent
commit
d7d1921ecc
3 changed files with 60 additions and 71 deletions
  1. 13 71
      engine.go
  2. 24 0
      engine/backend/backend.go
  3. 23 0
      engine/frontend/frontend.go

+ 13 - 71
engine.go

@@ -5,9 +5,10 @@ import (
 	"net/http"
 	"net/http"
 	"strings"
 	"strings"
 
 
-	//_ "github.com/go-sql-driver/mysql"
-
+	"golang-fave/engine/backend"
+	"golang-fave/engine/frontend"
 	"golang-fave/engine/wrapper"
 	"golang-fave/engine/wrapper"
+
 	templates "golang-fave/engine/wrapper/resources/templates"
 	templates "golang-fave/engine/wrapper/resources/templates"
 	utils "golang-fave/engine/wrapper/utils"
 	utils "golang-fave/engine/wrapper/utils"
 )
 )
@@ -49,73 +50,14 @@ func handlerPage(wrapper *wrapper.Wrapper) bool {
 		return true
 		return true
 	}
 	}
 
 
-	//
-
-	// Redirect to CP, if MySQL config file is not exists
-	/*
-		if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
-			if !(wrapper.R.URL.Path == "/cp" || wrapper.R.URL.Path == "/cp/") {
-				(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
-				http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
-				return true
-			}
-		}
-	*/
-
-	/*
-		if !(wrapper.R.URL.Path == "/cp" || strings.HasPrefix(wrapper.R.URL.Path, "/cp/")) {
-			return handlerFrontEnd(wrapper)
-		} else {
-			return handlerBackEnd(wrapper)
-		}
-	*/
-
-	return false
+	// Run WebSite or CP
+	if is_front_end {
+		// Front-end
+		part := frontend.New(wrapper, db)
+		return part.Run()
+	} else {
+		// Back-end
+		part := backend.New(wrapper, db)
+		return part.Run()
+	}
 }
 }
-
-// func handlerFrontEnd(wrapper *wrapper.Wrapper) bool {
-// 	// Redirect to CP, if MySQL config file is not exists
-// 	/*
-// 		if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
-// 			(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
-// 			http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
-// 			return true
-// 		}
-// 	*/
-
-// 	// Connect to database
-
-// 	// Else logic here
-// 	if wrapper.R.URL.Path == "/" {
-// 		return wrapper.TmplFrontEnd("index", nil)
-// 	}
-
-// 	return false
-// }
-
-// func handlerBackEnd(wrapper *wrapper.Wrapper) bool {
-// 	// MySQL config page
-// 	if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
-// 		return wrapper.TmplBackEnd(templates.CpMySQL, nil)
-// 	}
-
-// 	// Connect to database
-// 	mc, err := utils.MySqlConfigRead(wrapper.DirVHostHome)
-// 	if wrapper.EngineErrMsgOnError(err) {
-// 		return true
-// 	}
-// 	db, err := sql.Open("mysql", mc.User+":"+mc.Password+"@tcp("+mc.Host+":"+mc.Port+")/"+mc.Name)
-// 	if wrapper.EngineErrMsgOnError(err) {
-// 		return true
-// 	}
-// 	defer db.Close()
-// 	err = db.Ping()
-// 	if wrapper.EngineErrMsgOnError(err) {
-// 		return true
-// 	}
-
-// 	// Check if any user exists
-
-// 	// Login page
-// 	return wrapper.TmplBackEnd(templates.CpLogin, nil)
-// }

+ 24 - 0
engine/backend/backend.go

@@ -1 +1,25 @@
 package backend
 package backend
+
+import (
+	"database/sql"
+
+	"golang-fave/engine/wrapper"
+
+	templates "golang-fave/engine/wrapper/resources/templates"
+)
+
+type Backend struct {
+	wrapper *wrapper.Wrapper
+	db      *sql.DB
+}
+
+func New(wrapper *wrapper.Wrapper, db *sql.DB) *Backend {
+	return &Backend{wrapper, db}
+}
+
+func (this *Backend) Run() bool {
+	// Check if any user exists
+
+	// Login page
+	return this.wrapper.TmplBackEnd(templates.CpLogin, nil)
+}

+ 23 - 0
engine/frontend/frontend.go

@@ -1 +1,24 @@
 package frontend
 package frontend
+
+import (
+	"database/sql"
+
+	"golang-fave/engine/wrapper"
+)
+
+type Frontend struct {
+	wrapper *wrapper.Wrapper
+	db      *sql.DB
+}
+
+func New(wrapper *wrapper.Wrapper, db *sql.DB) *Frontend {
+	return &Frontend{wrapper, db}
+}
+
+func (this *Frontend) Run() bool {
+	if this.wrapper.R.URL.Path == "/" {
+		return this.wrapper.TmplFrontEnd("index", nil)
+	}
+
+	return false
+}