aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kavon <hawk@alexkavon.com>2023-11-14 01:00:21 -0500
committerAlexander Kavon <hawk@alexkavon.com>2023-11-14 01:00:21 -0500
commit60f4a3e21f186d7bbc6e1f3239dc2dc06fa1ffac (patch)
tree180f17411afd50958e601e4dc1bafca70702d073
parent699e1edf05207f906583659fb250269ad5ec1f36 (diff)
new packages for users, posts, server
-rw-r--r--src/conf/conf.go25
-rw-r--r--src/main.go19
-rw-r--r--src/post/controller.go14
-rw-r--r--src/post/post_model.go15
-rw-r--r--src/server/server.go17
-rw-r--r--src/user/user_model.go6
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"`
+}