1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package admin_role
- import (
- "github.com/gin-gonic/gin"
- "net/http"
- "sghgogs.com/sghblog/authorization-client/model/base"
- "sghgogs.com/sghblog/authorization-client/model/response/admin"
- "sghgogs.com/sghblog/authorization-client/response"
- "sghgogs.com/sghblog/authorization-client/utils"
- pb "sghgogs.com/sghblog/authorization-service/proto"
- "sghgogs.com/sghblog/common"
- "strconv"
- )
- func (svc *ApiAdminRole) GetAdminRole(c *gin.Context) {
- RoleID, err := strconv.ParseInt(c.Param("roleID"), 10, 64)
- if err != nil || RoleID <= 0 {
- c.JSON(http.StatusBadRequest, response.ErrorResponse(http.StatusBadRequest, common.ErrorMessage[common.InvalidRoleID]))
- return
- }
- ctx, _ := utils.CreateContextWithToken(c, "authorizationservice", "AdminRoleService.GetAdminRole")
- data, err := svc.Service.GetAdminRole(ctx, &pb.GetAdminRoleRequest{
- Id: RoleID,
- })
- if err != nil {
- code, mgs := response.MicroErrorRequest(err)
- c.JSON(http.StatusBadRequest, response.ErrorResponse(code, mgs))
- return
- }
- role := data.Role
- status, _ := base.MapEnumToStatus(role.Status)
- c.JSON(http.StatusOK, response.SuccessResponse(admin.RoleItem{
- ID: role.Id,
- Name: role.Name,
- Description: role.Description,
- Users: base.UsersToResponse(role.Users),
- Permissions: base.PermissionsToResponse(role.Permissions),
- CreatedAt: ConvertInt64ToTime(role.CreatedAt),
- UpdatedAt: ConvertInt64ToTime(role.UpdatedAt),
- Status: string(status),
- IsReserved: role.IsReserved,
- }))
- }
|