Files
ReSendit/internal/user/handler.go
2026-03-20 12:33:37 +01:00

33 lines
685 B
Go

package user
import "github.com/gin-gonic/gin"
type Handler struct {
service *Service
}
func NewHandler(service *Service) *Handler {
return &Handler{service: service}
}
func (h *Handler) Register(c *gin.Context) {
var req struct {
Username string `json:"username"`
Password string `json:"password"`
Role string `json:"role"`
}
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(400, gin.H{"error": "invalid request"})
return
}
user, err := h.service.CreateUser(req.Username, req.Password, req.Role)
if err != nil {
c.JSON(500, gin.H{"error": err.Error()})
return
}
c.JSON(201, gin.H{"id": user.ID, "username": user.Username, "role": user.Role})
}