feat: customer list
This commit is contained in:
parent
f2029ab5b4
commit
b39b791c0e
@ -71,6 +71,8 @@ func (u *UserDB) ToUser() *User {
|
|||||||
ID: u.ID,
|
ID: u.ID,
|
||||||
Name: u.Name,
|
Name: u.Name,
|
||||||
Email: u.Email,
|
Email: u.Email,
|
||||||
|
NIK: u.NIK,
|
||||||
|
PhoneNumber: u.PhoneNumber,
|
||||||
Status: u.Status,
|
Status: u.Status,
|
||||||
CreatedAt: u.CreatedAt,
|
CreatedAt: u.CreatedAt,
|
||||||
UpdatedAt: u.UpdatedAt,
|
UpdatedAt: u.UpdatedAt,
|
||||||
|
|||||||
@ -28,6 +28,7 @@ func (h *Handler) Route(group *gin.RouterGroup, jwt gin.HandlerFunc) {
|
|||||||
route.GET("/customer/list", jwt, h.GetAllCustomer)
|
route.GET("/customer/list", jwt, h.GetAllCustomer)
|
||||||
route.GET("/:id", jwt, h.GetByID)
|
route.GET("/:id", jwt, h.GetByID)
|
||||||
route.PUT("/:id", jwt, h.Update)
|
route.PUT("/:id", jwt, h.Update)
|
||||||
|
route.PUT("/customer/:id", jwt, h.UpdateCustomer)
|
||||||
route.DELETE("/:id", jwt, h.Delete)
|
route.DELETE("/:id", jwt, h.Delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,6 +147,35 @@ func (h *Handler) Update(c *gin.Context) {
|
|||||||
Data: h.toUserResponse(updatedUser),
|
Data: h.toUserResponse(updatedUser),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
func (h *Handler) UpdateCustomer(c *gin.Context) {
|
||||||
|
ctx := request.GetMyContext(c)
|
||||||
|
|
||||||
|
id := c.Param("id")
|
||||||
|
|
||||||
|
userID, err := strconv.ParseInt(id, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
response.ErrorWrapper(c, errors.ErrorBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var req request.User
|
||||||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
response.ErrorWrapper(c, errors.ErrorBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
updatedUser, err := h.service.Update(ctx, userID, req.ToEntity())
|
||||||
|
if err != nil {
|
||||||
|
response.ErrorWrapper(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.JSON(http.StatusOK, response.BaseResponse{
|
||||||
|
Success: true,
|
||||||
|
Status: http.StatusOK,
|
||||||
|
Data: h.toUserResponse(updatedUser),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// GetAll retrieves a list of users.
|
// GetAll retrieves a list of users.
|
||||||
// @Summary Get a list of users
|
// @Summary Get a list of users
|
||||||
@ -289,6 +319,8 @@ func (h *Handler) toUserResponse(resp *entity.User) response.User {
|
|||||||
ID: resp.ID,
|
ID: resp.ID,
|
||||||
Name: resp.Name,
|
Name: resp.Name,
|
||||||
Email: resp.Email,
|
Email: resp.Email,
|
||||||
|
PhoneNumber: resp.PhoneNumber,
|
||||||
|
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,
|
||||||
|
|||||||
@ -6,6 +6,8 @@ type User struct {
|
|||||||
ID int64 `json:"id"`
|
ID int64 `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
|
PhoneNumber string `json:"phone_number"`
|
||||||
|
NIK string `json:"nik"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
RoleID int64 `json:"role_id"`
|
RoleID int64 `json:"role_id"`
|
||||||
RoleName string `json:"role_name"`
|
RoleName string `json:"role_name"`
|
||||||
|
|||||||
@ -176,7 +176,7 @@ func (b *UserRepository) GetUserByID(ctx context.Context, id int64) (*entity.Use
|
|||||||
var user *entity.UserDB
|
var user *entity.UserDB
|
||||||
|
|
||||||
query := b.db.Table("users").
|
query := b.db.Table("users").
|
||||||
Select("users.id, users.email, users.password , users.name, users.status, users.created_at, users.updated_at, ur.role_id, r.role_name, ur.partner_id, b.name as partner_name").
|
Select("users.id, users.email,users.phone_number,users.nik, users.password , users.name, users.status, users.created_at, users.updated_at, ur.role_id, r.role_name, ur.partner_id, b.name as partner_name").
|
||||||
Joins("LEFT JOIN user_roles ur ON users.id = ur.user_id").
|
Joins("LEFT JOIN user_roles ur ON users.id = ur.user_id").
|
||||||
Joins("LEFT JOIN roles r ON ur.role_id = r.role_id").
|
Joins("LEFT JOIN roles r ON ur.role_id = r.role_id").
|
||||||
Joins("LEFT JOIN partners b ON ur.partner_id = b.id").
|
Joins("LEFT JOIN partners b ON ur.partner_id = b.id").
|
||||||
|
|||||||
@ -118,7 +118,7 @@ func (s *UserService) Update(ctx mycontext.Context, id int64, userReq *entity.Us
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if changed branch
|
//if changed branch
|
||||||
if *userReq.PartnerID > 0 {
|
if userReq.PartnerID != nil {
|
||||||
branch, err := s.branchRepo.GetBranchByID(ctx, *userReq.PartnerID)
|
branch, err := s.branchRepo.GetBranchByID(ctx, *userReq.PartnerID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user