udpate User

This commit is contained in:
aditya.siregar 2024-08-28 14:28:57 +07:00
parent 083e5537ec
commit c1cfd794fc
3 changed files with 21 additions and 29 deletions

View File

@ -72,7 +72,7 @@ func (h *Handler) Create(c *gin.Context) {
return return
} }
res, err := h.service.Create(ctx, req.ToEntity()) res, err := h.service.Create(ctx, req.ToEntity(ctx))
if err != nil { if err != nil {
response.ErrorWrapper(c, err) response.ErrorWrapper(c, err)
return return
@ -110,11 +110,6 @@ func (h *Handler) Create(c *gin.Context) {
func (h *Handler) Update(c *gin.Context) { func (h *Handler) Update(c *gin.Context) {
ctx := request.GetMyContext(c) ctx := request.GetMyContext(c)
if !ctx.IsSuperAdmin() {
response.ErrorWrapper(c, errors.ErrorUnauthorized)
return
}
id := c.Param("id") id := c.Param("id")
userID, err := strconv.ParseInt(id, 10, 64) userID, err := strconv.ParseInt(id, 10, 64)
@ -135,7 +130,7 @@ func (h *Handler) Update(c *gin.Context) {
return return
} }
updatedUser, err := h.service.Update(ctx, userID, req.ToEntity()) updatedUser, err := h.service.Update(ctx, userID, req.ToEntity(ctx))
if err != nil { if err != nil {
response.ErrorWrapper(c, err) response.ErrorWrapper(c, err)
return return
@ -164,7 +159,7 @@ func (h *Handler) UpdateCustomer(c *gin.Context) {
return return
} }
updatedUser, err := h.service.Update(ctx, userID, req.ToEntity()) updatedUser, err := h.service.Update(ctx, userID, req.ToEntity(ctx))
if err != nil { if err != nil {
response.ErrorWrapper(c, err) response.ErrorWrapper(c, err)
return return
@ -320,7 +315,7 @@ func (h *Handler) toUserResponse(resp *entity.User) response.User {
Name: resp.Name, Name: resp.Name,
Email: resp.Email, Email: resp.Email,
PhoneNumber: resp.PhoneNumber, PhoneNumber: resp.PhoneNumber,
NIK: resp.NIK, NIK: resp.NIK,
Status: string(resp.Status), Status: string(resp.Status),
RoleID: int64(resp.RoleID), RoleID: int64(resp.RoleID),
RoleName: resp.RoleName, RoleName: resp.RoleName,

View File

@ -4,14 +4,13 @@ import (
"furtuna-be/internal/common/mycontext" "furtuna-be/internal/common/mycontext"
"furtuna-be/internal/constants/role" "furtuna-be/internal/constants/role"
"furtuna-be/internal/entity" "furtuna-be/internal/entity"
"github.com/go-playground/validator/v10" "github.com/go-playground/validator/v10"
) )
type User struct { type User struct {
Name string `json:"name" validate:"required"` Name string `json:"name" validate:"required"`
Email string `json:"email" validate:"required,email"` Email string `json:"email" validate:"required,email"`
Password string `json:"password" validate:"required"` Password string `json:"password"`
PartnerID *int64 `json:"partner_id"` PartnerID *int64 `json:"partner_id"`
SiteID *int64 `json:"site_id"` SiteID *int64 `json:"site_id"`
RoleID role.Role `json:"role_id" validate:"required"` RoleID role.Role `json:"role_id" validate:"required"`
@ -29,16 +28,20 @@ func (e *User) Validate() error {
return nil return nil
} }
func (u *User) ToEntity() *entity.User { func (u *User) ToEntity(ctx mycontext.Context) *entity.User {
if !ctx.IsAdmin() {
u.PartnerID = ctx.GetPartnerID()
}
return &entity.User{ return &entity.User{
Name: u.Name, Name: u.Name,
Email: u.Email, Email: u.Email,
Password: u.Password, Password: u.Password,
RoleID: role.Role(u.RoleID), RoleID: role.Role(u.RoleID),
PartnerID: u.PartnerID, PartnerID: u.PartnerID,
SiteID: u.SiteID, SiteID: u.SiteID,
NIK: u.NIK, NIK: u.NIK,
UserType: u.UserType, UserType: u.UserType,
PhoneNumber: u.PhoneNumber, PhoneNumber: u.PhoneNumber,
} }
} }

View File

@ -115,15 +115,9 @@ func (s *UserService) Update(ctx mycontext.Context, id int64, userReq *entity.Us
return nil, errors.New("user not found") return nil, errors.New("user not found")
} }
//if changed branch if *existingUser.PartnerID != *userReq.PartnerID {
// if userReq.PartnerID != nil { return nil, errors.New("user not found")
// branch, err := s.branchRepo.GetBranchByID(ctx, *userReq.PartnerID) }
// if err != nil {
// return nil, err
// }
// existingUser.PartnerName = branch.Name
// }
err = existingUser.ToUpdatedUser(*userReq) err = existingUser.ToUpdatedUser(*userReq)
if err != nil { if err != nil {