package api import ( "github.com/gofiber/fiber/v2" "wucher/internal/service" "wucher/internal/transport/http/handlers" "wucher/internal/transport/http/middleware" ) func registerMissionRoutes(v1 fiber.Router, missionHandler *handlers.MissionHandler, eventsHandler *handlers.FileManagerEventsHandler, authMiddleware fiber.Handler, authSvc *service.AuthService) { mission := v1.Group("/mission", authMiddleware) mission.Get("/events", middleware.PermissionRequired(authSvc, "flight.read"), eventsHandler.Stream) mission.Post("/create", middleware.PermissionRequired(authSvc, "flight.create"), missionHandler.Create) mission.Patch("/update/:mission_id", middleware.PermissionRequired(authSvc, "flight.update"), missionHandler.Update) mission.Delete("/file/:mission_id/:attachment_id", middleware.PermissionRequired(authSvc, "flight.update"), missionHandler.RemoveFile) mission.Delete("/delete/:flight_id", middleware.PermissionRequired(authSvc, "flight.delete"), missionHandler.Delete) mission.Delete("/delete-by-id/:mission_id", middleware.PermissionRequired(authSvc, "flight.delete"), missionHandler.DeleteByID) mission.Get("/get/:flight_id", middleware.PermissionRequired(authSvc, "flight.read"), missionHandler.GetByFlightID) mission.Get("/get-all", middleware.PermissionRequired(authSvc, "flight.read"), missionHandler.List) mission.Get("/get-all/dt", middleware.PermissionRequired(authSvc, "flight.read"), missionHandler.ListDatatable) missionType := v1.Group("/mission-type", authMiddleware) missionType.Post("/create", middleware.PermissionRequired(authSvc, "flight.create"), missionHandler.CreateType) missionType.Get("/get-all", middleware.PermissionRequired(authSvc, "flight.read"), missionHandler.ListTypes) }