diff options
| author | Alexander Kavon <hawk@alexkavon.com> | 2023-11-14 01:00:21 -0500 |
|---|---|---|
| committer | Alexander Kavon <hawk@alexkavon.com> | 2023-11-14 01:00:21 -0500 |
| commit | 60f4a3e21f186d7bbc6e1f3239dc2dc06fa1ffac (patch) | |
| tree | 180f17411afd50958e601e4dc1bafca70702d073 | |
| parent | 699e1edf05207f906583659fb250269ad5ec1f36 (diff) | |
new packages for users, posts, server
| -rw-r--r-- | src/conf/conf.go | 25 | ||||
| -rw-r--r-- | src/main.go | 19 | ||||
| -rw-r--r-- | src/post/controller.go | 14 | ||||
| -rw-r--r-- | src/post/post_model.go | 15 | ||||
| -rw-r--r-- | src/server/server.go | 17 | ||||
| -rw-r--r-- | src/user/user_model.go | 6 |
6 files changed, 78 insertions, 18 deletions
diff --git a/src/conf/conf.go b/src/conf/conf.go index d135fcb..03b3d33 100644 --- a/src/conf/conf.go +++ b/src/conf/conf.go @@ -3,14 +3,27 @@ package conf import ( "log" "os" + "github.com/BurntSushi/toml" ) -type Conf struct { - DbAdapter string `toml:"DB_ADAPTER"` - DbUser string `toml:"DB_USER"` - DbPassword string `toml:"DB_PASS"` -} +type ( + Conf struct { + Db Db + Server Server + } + + Db struct { + Adapter string `toml:"DB_ADAPTER"` + User string `toml:"DB_USER"` + Password string `toml:"DB_PASS"` + } + + Server struct { + Hostname string `toml:"SERVER_HOSTNAME"` + Port string `toml:"SERVER_PORT"` + } +) func Load() *Conf { @@ -29,7 +42,7 @@ func Load() *Conf { if err != nil { log.Fatalln(err) } - log.Println(c.DbAdapter) + log.Println(c.Db.Adapter) return &c } diff --git a/src/main.go b/src/main.go index 3c2fe5e..bdfb610 100644 --- a/src/main.go +++ b/src/main.go @@ -1,19 +1,14 @@ package main import ( - "net/http" - "gitlab.com/alexkavon/newsstand/conf" - "github.com/go-chi/chi/v5" - "github.com/go-chi/chi/v5/middleware" + "gitlab.com/alexkavon/newsstand/src/conf" + "gitlab.com/alexkavon/newsstand/src/server" ) func main() { - // load config - conf.Load() - r := chi.NewRouter() - r.Use(middleware.Logger) - r.Get("/", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("Yello There!")) - }) - http.ListenAndServe(":8080", r) + // load config + conf.Load() + // connect database + // start server + server.Start() } diff --git a/src/post/controller.go b/src/post/controller.go new file mode 100644 index 0000000..561e9b3 --- /dev/null +++ b/src/post/controller.go @@ -0,0 +1,14 @@ +package post + +import ( + "net/http" + + "github.com/go-chi/chi/v5" +) + +func Create() { + r := chi.NewRouter() + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("Yello There!")) + }) +} diff --git a/src/post/post_model.go b/src/post/post_model.go new file mode 100644 index 0000000..fc5dc2a --- /dev/null +++ b/src/post/post_model.go @@ -0,0 +1,15 @@ +package post + +import ( + "time" + + "gitlab.com/alexkavon/newsstand/src/user" +) + +type Post struct { + Title string `json:"title"` + Body string `json:"body"` + User user.User `json:"user"` + Created time.Time `json:"created"` + Updated time.Time `json:"updated"` +} diff --git a/src/server/server.go b/src/server/server.go new file mode 100644 index 0000000..a265b28 --- /dev/null +++ b/src/server/server.go @@ -0,0 +1,17 @@ +package server + +import ( + "net/http" + + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" +) + +func Start() { + r := chi.NewRouter() + r.Use(middleware.Logger) + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("Yello There!")) + }) + http.ListenAndServe(":8080", r) +} diff --git a/src/user/user_model.go b/src/user/user_model.go new file mode 100644 index 0000000..9845b1b --- /dev/null +++ b/src/user/user_model.go @@ -0,0 +1,6 @@ +package user + +type User struct { + Id int64 `json:"id"` + Username string `json:"username"` +} |
