diff --git a/salesreportapp/app.go b/salesreportapp/app.go new file mode 100644 index 00000000..1df430da --- /dev/null +++ b/salesreportapp/app.go @@ -0,0 +1,8 @@ +package salesreportapp + +import "net/http" + +type Application struct { + Config Config + HTTPServer *http.Server +} diff --git a/salesreportapp/config.go b/salesreportapp/config.go new file mode 100644 index 00000000..83b5d5fa --- /dev/null +++ b/salesreportapp/config.go @@ -0,0 +1,5 @@ +package salesreportapp + +type Config struct { + // add config here ... +} diff --git a/salesreportapp/delivery/http/handler.go b/salesreportapp/delivery/http/handler.go new file mode 100644 index 00000000..e9549c3c --- /dev/null +++ b/salesreportapp/delivery/http/handler.go @@ -0,0 +1,17 @@ +package http + +import ( + "net/http" + + "github.com/labstack/echo/v4" +) + +type Handler struct{} + +func NewHandler() *Handler { + return &Handler{} +} + +func (h Handler) HealthCheck(c echo.Context) error { + return c.JSON(http.StatusOK, map[string]string{"status": "ok"}) +} diff --git a/salesreportapp/delivery/http/healthCheck.go b/salesreportapp/delivery/http/healthCheck.go new file mode 100644 index 00000000..adef788e --- /dev/null +++ b/salesreportapp/delivery/http/healthCheck.go @@ -0,0 +1,11 @@ +package http + +import ( + "net/http" + + "github.com/labstack/echo/v4" +) + +func (s *Server) healthCheck(c echo.Context) error { + return c.String(http.StatusOK, "OK") +} diff --git a/salesreportapp/delivery/http/server.go b/salesreportapp/delivery/http/server.go new file mode 100644 index 00000000..1f4bb99d --- /dev/null +++ b/salesreportapp/delivery/http/server.go @@ -0,0 +1,25 @@ +package http + +import httpserver "git.gocasts.ir/ebhomengo/niki/delivery/http_server" + +type Server struct { + HTTPServer *httpserver.Server + Handler *Handler +} + +func NewServer(httpserver *httpserver.Server) *Server { + return &Server{ + HTTPServer: httpserver, + Handler: NewHandler(), + } +} + +func (s *Server) Serve() { + s.RegisterRoutes() +} + +func (s *Server) Stop() {} + +func (s *Server) RegisterRoutes() { + s.HTTPServer.Router.GET("", s.healthCheck) +} diff --git a/salesreportapp/repository/database/db.go b/salesreportapp/repository/database/db.go new file mode 100644 index 00000000..5d07c611 --- /dev/null +++ b/salesreportapp/repository/database/db.go @@ -0,0 +1,13 @@ +package database + +import "git.gocasts.ir/ebhomengo/niki/repository/mysql" + +type DB struct { + conn *mysql.DB +} + +func New(conn *mysql.DB) *DB { + return &DB{ + conn: conn, + } +}