59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package cmd
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/docs"
|
|
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/config"
|
|
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/handlers"
|
|
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/storage"
|
|
"github.com/gin-gonic/gin"
|
|
swaggerFiles "github.com/swaggo/files"
|
|
ginSwagger "github.com/swaggo/gin-swagger"
|
|
)
|
|
|
|
// @securityDefinitions.apikey Bearer
|
|
// @in header
|
|
// @name Authorization
|
|
// @description Type "Bearer" followed by a space and the JWT token.
|
|
|
|
func main() {
|
|
cfg_path, ok := os.LookupEnv("CONFIG_FILE")
|
|
if !ok {
|
|
cfg_path = "/etc/hellreign/config.yml"
|
|
}
|
|
cfg, err := config.ImportSettings(cfg_path)
|
|
if err != nil {
|
|
log.Fatalf("Err loading config")
|
|
}
|
|
|
|
db, err := storage.Open(cfg.Database.Token_db)
|
|
if err != nil {
|
|
log.Fatalf("Err opening database")
|
|
}
|
|
defer db.Close()
|
|
|
|
h := handlers.New(db)
|
|
agents := handlers.AgentsGroup{Handlers: h}
|
|
|
|
router := gin.Default()
|
|
docs.SwaggerInfo.BasePath = "/api/v1"
|
|
docs.SwaggerInfo.Title = "HellreigN"
|
|
docs.SwaggerInfo.Version = "1.0"
|
|
docs.SwaggerInfo.Description = "API for HellreigN"
|
|
docs.SwaggerInfo.Schemes = []string{"http"}
|
|
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
|
|
|
v1 := router.Group("/api/v1")
|
|
{
|
|
agentsGroup := v1.Group("/agents")
|
|
{
|
|
agentsGroup.GET("", agents.List)
|
|
}
|
|
|
|
}
|
|
|
|
log.Fatal(router.Run(":8080"))
|
|
}
|