// Copyright (c) 2025 Nikolai Papin // // This file is part of Easywish // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See // the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package routes import ( "easywish/internal/controllers" "easywish/internal/middleware" "easywish/internal/services" "github.com/gin-gonic/gin" "go.uber.org/zap" ) // Deprecated: no longer used, see controllers func NewRouter(engine *gin.Engine, log *zap.Logger, auth services.AuthService, groups []RouteGroup) *gin.Engine { apiGroup := engine.Group("/api") apiGroup.Use(middleware.AuthMiddleware(log, auth)) for _, group := range groups { subgroup := apiGroup.Group(group.BasePath) subgroup.Use(group.Middleware...) group.Router.RegisterRoutes(subgroup) } return engine } // Deprecated: no longer used, see controllers type RouteGroup struct { BasePath string Middleware []gin.HandlerFunc Router controllers.Router } // func NewRouteGroups( // authController controllers.AuthController, // serviceController controllers.ServiceController, // profileController controllers.ProfileController, // ) []RouteGroup { // return []RouteGroup{ // { // BasePath: "/auth", // Router: authController, // }, // { // BasePath: "/service", // Router: serviceController, // }, // { // BasePath: "/profile", // Router: profileController, // }, // } // }