feat: (back) Add Dockerfile
This commit is contained in:
parent
2faa3aa2f9
commit
566bb540e4
4 changed files with 26 additions and 0 deletions
|
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"log"
|
||||
|
||||
"photum-backend/docs"
|
||||
"photum-backend/internal/anos_formaturas"
|
||||
"photum-backend/internal/auth"
|
||||
"photum-backend/internal/config"
|
||||
|
|
@ -13,6 +14,9 @@ import (
|
|||
"photum-backend/internal/profissionais"
|
||||
"photum-backend/internal/tipos_eventos"
|
||||
"photum-backend/internal/tipos_servicos"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
|
|
@ -68,7 +72,21 @@ func main() {
|
|||
|
||||
r := gin.Default()
|
||||
|
||||
// CORS Middleware
|
||||
configCors := cors.DefaultConfig()
|
||||
if cfg.CorsAllowedOrigins == "*" {
|
||||
configCors.AllowAllOrigins = true
|
||||
} else {
|
||||
configCors.AllowOrigins = strings.Split(cfg.CorsAllowedOrigins, ",")
|
||||
}
|
||||
configCors.AllowHeaders = []string{"Origin", "Content-Length", "Content-Type", "Authorization"}
|
||||
r.Use(cors.New(configCors))
|
||||
|
||||
// Swagger
|
||||
// Dynamically update Swagger Info
|
||||
docs.SwaggerInfo.Host = cfg.SwaggerHost
|
||||
docs.SwaggerInfo.Schemes = []string{"https", "http"}
|
||||
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
|
||||
// Public Routes
|
||||
|
|
@ -140,6 +158,7 @@ func main() {
|
|||
api.POST("/tipos-eventos/precos", tiposEventosHandler.SetPrice)
|
||||
}
|
||||
|
||||
log.Printf("Swagger Host Configured: %s", cfg.SwaggerHost)
|
||||
log.Printf("Server running on port %s", cfg.AppPort)
|
||||
r.Run(":" + cfg.AppPort)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ require (
|
|||
github.com/cloudwego/base64x v0.1.6 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
|
||||
github.com/gin-contrib/cors v1.7.6 // indirect
|
||||
github.com/gin-contrib/sse v1.1.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.22.3 // indirect
|
||||
github.com/go-openapi/jsonreference v0.21.3 // indirect
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q
|
|||
github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
|
||||
github.com/gabriel-vasile/mimetype v1.4.11 h1:AQvxbp830wPhHTqc1u7nzoLT+ZFxGY7emj5DR5DYFik=
|
||||
github.com/gabriel-vasile/mimetype v1.4.11/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
|
||||
github.com/gin-contrib/cors v1.7.6 h1:3gQ8GMzs1Ylpf70y8bMw4fVpycXIeX1ZemuSQIsnQQY=
|
||||
github.com/gin-contrib/cors v1.7.6/go.mod h1:Ulcl+xN4jel9t1Ry8vqph23a60FwH9xVLd+3ykmTjOk=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w=
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ type Config struct {
|
|||
JwtRefreshSecret string
|
||||
JwtAccessTTLMinutes int
|
||||
JwtRefreshTTLDays int
|
||||
CorsAllowedOrigins string
|
||||
SwaggerHost string
|
||||
}
|
||||
|
||||
func LoadConfig() *Config {
|
||||
|
|
@ -32,6 +34,8 @@ func LoadConfig() *Config {
|
|||
JwtRefreshSecret: getEnv("JWT_REFRESH_SECRET", "refresh_secret"),
|
||||
JwtAccessTTLMinutes: getEnvAsInt("JWT_ACCESS_TTL_MINUTES", 15),
|
||||
JwtRefreshTTLDays: getEnvAsInt("JWT_REFRESH_TTL_DAYS", 30),
|
||||
CorsAllowedOrigins: getEnv("CORS_ALLOWED_ORIGINS", "*"),
|
||||
SwaggerHost: getEnv("SWAGGER_HOST", "localhost:8080"),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue