aditya.siregar 414c980c13 Toggle
2024-08-10 23:52:09 +07:00

50 lines
872 B
Go

package app
import (
"fmt"
"furtuna-be/config"
"github.com/gin-gonic/gin"
"github.com/gofrs/uuid"
"furtuna-be/internal/middlewares"
)
func NewServer(cfg *config.Config) *Server {
gin.SetMode(gin.ReleaseMode)
server := &Server{
gin.New(),
}
server.Use(middlewares.Cors())
server.Use(middlewares.LogCorsError())
server.Use(middlewares.Trace())
server.Use(middlewares.Logger(&cfg.FeatureToggle))
server.Use(middlewares.RequestMiddleware(&cfg.FeatureToggle))
return server
}
type Server struct {
*gin.Engine
}
func (*Server) GenerateUUID() (string, error) {
id, err := uuid.NewV4()
if err != nil {
return "", err
}
return id.String(), nil
}
func (s Server) Listen(address string) error {
fmt.Printf("API server listening at: %s\n\n", address)
return s.Run(address)
}
func (s Server) StartScheduler() {
fmt.Printf("Scheduler started\n")
}