package routes import ( "wish-list-api/api/handlers" "wish-list-api/api/middleware" "wish-list-api/pkg/auth" wishlist "wish-list-api/pkg/wish-list" "github.com/gofiber/fiber/v2" ) func WishListRouter(api fiber.Router, wishListService wishlist.Service, authService auth.Service) { wishListHandler := handlers.NewWishListHandler(wishListService, authService) wishList := api.Group("/wishlist") wishList.Get("/:id", wishListHandler.GetWishList) wishList.Get("/user/:userId", wishListHandler.GetUserWishLists) wishList.Get("/:wishlistId/items", wishListHandler.GetWishListItems) wishList.Get("/item/:id", wishListHandler.GetWishListItem) wishList.Post("/", middleware.Protected(authService), wishListHandler.CreateWishList) wishList.Put("/:id", middleware.Protected(authService), wishListHandler.UpdateWishList) wishList.Delete("/:id", middleware.Protected(authService), wishListHandler.DeleteWishList) wishList.Post("/item", middleware.Protected(authService), wishListHandler.CreateWishListItem) wishList.Put("/item/:id", middleware.Protected(authService), wishListHandler.UpdateWishListItem) wishList.Delete("/item/:id", middleware.Protected(authService), wishListHandler.DeleteWishListItem) }