niki/authorizationapp/delivery/http/handler.go

51 lines
1.2 KiB
Go

package http
import (
"fmt"
"git.gocasts.ir/ebhomengo/niki/domain/authorization/service"
"github.com/gin-gonic/gin"
"net/http"
)
type RoleHandler struct {
service service.Authorization
}
func NewRoleHandler(service service.Authorization) RoleHandler {
return RoleHandler{service: service}
}
func (r RoleHandler) Store(c *gin.Context) {
var request service.StoreRoleRequest
err := c.ShouldBindJSON(&request)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
role, err := r.service.Store(c, request)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"message": fmt.Sprintf("role %s created successfully", role.Title_fa)})
}
func (r RoleHandler) Update(c *gin.Context) {
var request service.UpdateRoleRequest
if err := c.ShouldBindJSON(&request); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
role, err := r.service.Update(c, request)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"message": fmt.Sprintf("role %s updated successfully", role.Title_fa)})
}