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")) }