package routes import ( "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" _ "leafdev.top/leaf/rag/docs" "leafdev.top/leaf/rag/internal/handlers/controllers/library" "leafdev.top/leaf/rag/internal/handlers/controllers/user" "leafdev.top/leaf/rag/internal/middleware/http" "leafdev.top/leaf/rag/internal/providers" ) var userController = user.NewUserController() var libraryController = library.NewLibraryController() // @title Swagger Example API // @version 1.0 // @description This is a sample server celler server. // @termsOfService http://swagger.io/terms/ // @contact.name API Support // @contact.url http://www.swagger.io/support // @contact.email support@swagger.io // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost:8080 // @BasePath /api/v1 // @securityDefinitions.apikey ApiKeyAuth // // @in header // @name Authorization // @description Description for what is this security definition being used // InitApiRoutes init api routes func InitApiRoutes() { var r = *providers.MustGet[gin.Engine]() r.Use(http.MiddlewareJSONResponse) // middleware group authorizedApiV1 := r.Group("/api/v1") authorizedApiV1.Use(http.RequireJWTIDToken) { authorizedApiV1.GET("/user", userController.CurrentUser) authorizedApiV1.GET("/library", libraryController.Library) authorizedApiV1.POST("/library", libraryController.CreateLibrary) } } // InitSwaggerRoutes init swagger routes func InitSwaggerRoutes() { var r = *providers.MustGet[gin.Engine]() r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) }