niki/authorizationapp/delivery/http/handler.go

36 lines
755 B
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)})
return
}