Update Mitra

This commit is contained in:
aditya.siregar
2024-07-30 14:18:18 +07:00
parent efac497db7
commit f3fbe9ba10
11 changed files with 260 additions and 66 deletions
+13 -16
View File
@@ -107,13 +107,7 @@ func (h *Handler) Update(c *gin.Context) {
return
}
validate := validator.New()
if err := validate.Struct(req); err != nil {
response.ErrorWrapper(c, err)
return
}
updatedPartner, err := h.service.Update(ctx, PartnerID, req.ToEntity())
updatedPartner, err := h.service.Update(ctx, req.ToEntityUpdate(PartnerID))
if err != nil {
response.ErrorWrapper(c, err)
return
@@ -242,15 +236,18 @@ func (h *Handler) GetByID(c *gin.Context) {
func (h *Handler) toPartnerResponse(resp *entity.Partner) response.Partner {
return response.Partner{
ID: &resp.ID,
Name: resp.Name,
Status: resp.Status,
CreatedAt: resp.CreatedAt.Format(time.RFC3339),
UpdatedAt: resp.CreatedAt.Format(time.RFC3339),
Balance: resp.Balance,
AdminName: resp.AdminName,
AdminPhoneNumber: resp.AdminPhoneNumber,
AdminEmail: resp.AdminEmail,
ID: &resp.ID,
Name: resp.Name,
Status: resp.Status,
CreatedAt: resp.CreatedAt.Format(time.RFC3339),
UpdatedAt: resp.CreatedAt.Format(time.RFC3339),
Balance: resp.Balance,
AdminName: resp.AdminName,
AdminPhoneNumber: resp.AdminPhoneNumber,
AdminEmail: resp.AdminEmail,
BankAccountName: resp.BankName,
BankAccountHolderName: resp.BankAccountHolderName,
BankAccountHolderNumber: resp.BankAccountNumber,
}
}
+40 -14
View File
@@ -21,32 +21,39 @@ func (p *PartnerParam) ToEntity() entity.PartnerSearch {
}
type Partner struct {
Name string `json:"name"`
Address string `json:"address"`
Status string `json:"status"`
Email string `json:"email"`
PhoneNumber string `json:"phone_number"`
ID int64 `json:"id"`
Name string `json:"name"`
Address string `json:"address"`
Status string `json:"status"`
Email string `json:"email"`
PhoneNumber string `json:"phone_number"`
Password string `json:"password"`
AdminUserID int64 `json:"admin_user_id"`
AdminName string `json:"admin_name"`
BankName string `json:"bank_name"`
BankAccountHolderNumber string `json:"bank_account_holder_number"`
BankAccountHolderName string `json:"bank_account_holder_name"`
NIK string `json:"nik"`
}
type CreatePartnerRequest struct {
Name string `json:"name" validate:"required"`
Address string `json:"address"`
Username string `json:"username" validate:"required"`
FullName string `json:"full_name"`
Email string `json:"email"`
Email string `json:"email" validate:"required"`
Address string `json:"address" validate:"required"`
FullName string `json:"full_name" validate:"required"`
Password string `json:"password" validate:"required"`
NIK string `json:"nik"`
PhoneNumber string `json:"phone_number"`
BankName string `json:"bank_name"`
BankAccountNumber string `json:"bank_account_number"`
BankAccountHolderName string `json:"bank_account_holder_name"`
PhoneNumber string `json:"phone_number" validate:"required"`
BankName string `json:"bank_name" validate:"required"`
BankAccountNumber string `json:"bank_account_number" validate:"required"`
BankAccountHolderName string `json:"bank_account_holder_name" validate:"required"`
Status string `json:"status"`
}
func (e *CreatePartnerRequest) ToEntity() *entity.CreatePartnerRequest {
return &entity.CreatePartnerRequest{
Name: e.Name,
Address: e.Address,
Username: e.Username,
FullName: e.FullName,
Email: e.Email,
Password: e.Password,
@@ -55,6 +62,7 @@ func (e *CreatePartnerRequest) ToEntity() *entity.CreatePartnerRequest {
BankName: e.BankName,
BankAccountNumber: e.BankAccountNumber,
BankAccountHolderName: e.BankAccountHolderName,
Status: e.Status,
}
}
@@ -65,3 +73,21 @@ func (e *Partner) ToEntity() *entity.Partner {
Status: e.Status,
}
}
func (e *Partner) ToEntityUpdate(partnerID int64) *entity.PartnerUpdate {
return &entity.PartnerUpdate{
ID: partnerID,
Name: e.Name,
Email: e.Email,
Address: e.Address,
Status: e.Status,
PhoneNumber: e.PhoneNumber,
BankName: e.BankName,
BankAccountHolderNumber: e.BankAccountHolderNumber,
BankAccountHolderName: e.BankAccountHolderName,
NIK: e.NIK,
AdminName: e.AdminName,
Password: e.Password,
AdminUserID: e.AdminUserID,
}
}
+13 -10
View File
@@ -1,16 +1,19 @@
package response
type Partner struct {
ID *int64 `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Address string `json:"address,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
AdminName string `json:"admin_name"`
AdminPhoneNumber string `json:"admin_phone_number"`
AdminEmail string `json:"admin_email"`
Balance float64 `json:"balance"`
ID *int64 `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Address string `json:"address,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
AdminName string `json:"admin_name"`
AdminPhoneNumber string `json:"admin_phone_number"`
AdminEmail string `json:"admin_email"`
Balance float64 `json:"balance"`
BankAccountName string `json:"bank_account_name"`
BankAccountHolderName string `json:"bank_account_holder_name"`
BankAccountHolderNumber string `json:"bank_account_holder_number"`
}
type PartnerList struct {