Files
Deforest6342 87ec792fd5 Remake
Добавил авторизацию в приложение, сделал регистарцию, добавил мидлы
2026-05-07 17:57:49 +03:00

54 lines
1.3 KiB
Go

package main
import (
"log"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
"viplight-mrp/database"
"viplight-mrp/handlers"
"viplight-mrp/middleware"
)
func main() {
database.InitDB()
r := gin.Default()
err := godotenv.Load()
if err != nil {
log.Println("Файл .env не был найден в папке backend, использую системные переменные")
}
// CORS Middleware
r.Use(func(c *gin.Context) {
c.Writer.Header().Set("Access-Control-Allow-Origin", "https://mrp.kkhome.ru")
c.Writer.Header().Set("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE, OPTIONS")
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization")
if c.Request.Method == "OPTIONS" {
c.AbortWithStatus(204)
return
}
c.Next()
})
r.POST("/register", handlers.Register)
r.POST("/login", handlers.Login)
protected := r.Group("/api")
protected.Use(middleware.AuthRequired())
{
protected.GET("/parts/:id", handlers.GetPart)
protected.GET("/parts", handlers.GetAllParts)
protected.GET("/orders", handlers.GetsOrders)
protected.POST("/parts", handlers.CreatePart)
protected.POST("/parts/bulk", handlers.ImportParts)
protected.PATCH("/parts/:id/status", handlers.UpdateStatus)
protected.DELETE("/parts/:id", handlers.DeletePart)
}
r.Run(":8090")
}