Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "database/sql"
- "myapp/internal/config"
- "myapp/internal/database"
- _ "github.com/go-sql-driver/mysql"
- "github.com/gofiber/fiber/v2"
- )
- type BaseHandler struct {
- db *sql.DB
- app *fiber.App
- }
- type HomeHandler struct {
- BaseHandler
- }
- func (h *HomeHandler) home(c *fiber.Ctx) error {
- return c.SendString("Hello, home!")
- }
- func NewHomeHandler(bh *BaseHandler) {
- h := HomeHandler{*bh}
- h.app.Get("/home", h.home)
- }
- type UserHandler struct {
- BaseHandler
- }
- func (h *UserHandler) user(c *fiber.Ctx) error {
- return c.SendString("Hello, user!")
- }
- func NewUserHandler(bh *BaseHandler) {
- h := UserHandler{*bh}
- h.app.Get("/user", h.user)
- }
- func main() {
- cfg := config.CreateConfig()
- db := database.Connect(cfg)
- app := fiber.New()
- bh := &BaseHandler{
- db: db,
- app: app,
- }
- NewHomeHandler(bh)
- NewUserHandler(bh)
- app.Listen(cfg.WebServer.Address)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement