first commit
This commit is contained in:
37
internal/modules/user/routes.go
Normal file
37
internal/modules/user/routes.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"cardverse/internal/middleware"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func RegisterRoutes(router *gin.RouterGroup, db *gorm.DB) {
|
||||
repo := NewRepository(db)
|
||||
svc := NewService(repo)
|
||||
handler := NewHandler(svc)
|
||||
|
||||
// Route khusus user yang sedang login untuk kelola profil sendiri
|
||||
me := router.Group("/users/me")
|
||||
me.Use(middleware.AuthRequired())
|
||||
{
|
||||
me.GET("", handler.GetProfile)
|
||||
me.PUT("", handler.UpdateProfile)
|
||||
me.POST("/avatar", handler.UploadAvatar)
|
||||
}
|
||||
|
||||
// Route khusus Admin/Superadmin untuk kelola semua data user
|
||||
admin := router.Group("/users")
|
||||
admin.Use(middleware.AuthRequired())
|
||||
admin.Use(middleware.RequireRoles(RoleAdmin, RoleSuperAdmin))
|
||||
{
|
||||
admin.GET("", handler.GetAll)
|
||||
admin.POST("", handler.Create)
|
||||
admin.GET("/:id", handler.GetByID)
|
||||
admin.PUT("/:id", handler.Update)
|
||||
admin.PUT("/:id/suspend", handler.Suspend)
|
||||
admin.PUT("/:id/unsuspend", handler.Unsuspend)
|
||||
admin.DELETE("/:id", handler.Delete)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user