All checks were successful
Build and Release / release (push) Successful in 1m27s
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
package routes
|
|
|
|
import (
|
|
"history-api/internal/controllers"
|
|
"history-api/internal/middlewares"
|
|
"history-api/internal/repositories"
|
|
"history-api/pkg/constants"
|
|
|
|
"github.com/gofiber/fiber/v3"
|
|
)
|
|
|
|
func MediaRoutes(app *fiber.App, controller *controllers.MediaController, userRepo repositories.UserRepository) {
|
|
route := app.Group("/media")
|
|
route.Get(
|
|
"/",
|
|
middlewares.JwtAccess(userRepo),
|
|
middlewares.RequireAnyRole(constants.ADMIN, constants.MOD),
|
|
controller.SearchMedia,
|
|
)
|
|
route.Delete(
|
|
"/",
|
|
middlewares.JwtAccess(userRepo),
|
|
controller.BulkDeleteMedia,
|
|
)
|
|
|
|
route.Post(
|
|
"/upload",
|
|
middlewares.JwtAccess(userRepo),
|
|
middlewares.RequireAnyRole(constants.ADMIN, constants.MOD),
|
|
controller.UploadServerSide,
|
|
)
|
|
|
|
route.Get(
|
|
"/presigned",
|
|
middlewares.JwtAccess(userRepo),
|
|
controller.GeneratePresignedURL,
|
|
)
|
|
|
|
route.Post(
|
|
"/presigned/complete",
|
|
middlewares.JwtAccess(userRepo),
|
|
controller.GeneratePresignedURL,
|
|
)
|
|
|
|
route.Get(
|
|
"/:id",
|
|
middlewares.JwtAccess(userRepo),
|
|
middlewares.RequireAnyRole(constants.ADMIN, constants.MOD),
|
|
controller.GetMediaByID,
|
|
)
|
|
|
|
route.Delete(
|
|
"/:id",
|
|
middlewares.JwtAccess(userRepo),
|
|
controller.DeleteMedia,
|
|
)
|
|
|
|
}
|