From 5484da12126a32091ffa7209a4c499a30fbc6f61 Mon Sep 17 00:00:00 2001 From: Jay Date: Thu, 12 Apr 2018 17:41:21 +0800 Subject: [PATCH] update --- config.yml | 0 main.go | 8 +++++++- models/account.go | 29 +++++++++++++++++++++++++++++ models/models.go | 17 +++++++++++++++++ routers/routes/routes.go | 15 ++++++++++++--- 5 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 config.yml create mode 100644 models/account.go create mode 100644 models/models.go diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..e69de29 diff --git a/main.go b/main.go index d9a7236..48b7ac3 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,9 @@ package main import ( + "log" + + "git.trj.tw/golang/go-gallery/models" "git.trj.tw/golang/go-gallery/routers/routes" "github.com/gin-gonic/gin" ) @@ -9,7 +12,10 @@ var server *gin.Engine func main() { server = routes.NewServ() - + _, err := models.NewDB() + if err != nil { + log.Fatal(err) + } routes.SetDefaultRoutes(server) server.Run(":10230") diff --git a/models/account.go b/models/account.go new file mode 100644 index 0000000..650b088 --- /dev/null +++ b/models/account.go @@ -0,0 +1,29 @@ +package models + +import ( + "time" +) + +// Account - Account table struct +type Account struct { + ID string `xorm:"id"` + Account string `xorm:"account"` + Password string `xorm:"password"` + Nick string `xorm:"nick"` + Email string `xorm:"email"` + Ctime time.Time `xorm:"ctime"` + Mtime time.Time `xorm:"mtime"` +} + +// GetAllAccount - all account +func GetAllAccount() ([]Account, error) { + var accs []Account + err := x.Table("account").Find(&accs) + return accs, err +} + +// Get - get account info +func (c *Account) Get() error { + _, err := x.Table("account").Get(c) + return err +} diff --git a/models/models.go b/models/models.go new file mode 100644 index 0000000..d391595 --- /dev/null +++ b/models/models.go @@ -0,0 +1,17 @@ +package models + +import ( + "fmt" + + "github.com/go-xorm/xorm" + _ "github.com/lib/pq" +) + +var x *xorm.Engine + +// NewDB - db object +func NewDB() (*xorm.Engine, error) { + var err error + x, err = xorm.NewEngine("postgres", fmt.Sprintf("postgres://%s@%s/%s?sslmode=disable", "postgres", "localhost", "gallery")) + return x, err +} diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 06e205a..46d7140 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1,6 +1,9 @@ package routes import ( + "fmt" + + "git.trj.tw/golang/go-gallery/models" "github.com/gin-gonic/gin" ) @@ -13,8 +16,14 @@ func NewServ() *gin.Engine { // SetDefaultRoutes - func SetDefaultRoutes(r *gin.Engine) { r.GET("/", func(c *gin.Context) { - c.JSON(200, gin.H{ - "message": "test", - }) + accs, err := models.GetAllAccount() + if err != nil { + c.JSON(500, gin.H{ + "message": "db error", + }) + return + } + fmt.Println(accs) + c.JSON(200, accs) }) }