Add callback and update user role

This commit is contained in:
aditya.siregar
2024-06-05 00:24:53 +07:00
parent 4d402e32c9
commit 04a89c5508
27 changed files with 388 additions and 49 deletions
+39
View File
@@ -0,0 +1,39 @@
package request
import "furtuna-be/internal/entity"
type MidtransCallbackRequest struct {
VANumbers []VANumber `json:"va_numbers"`
TransactionTime string `json:"transaction_time"`
TransactionStatus string `json:"transaction_status"`
TransactionID string `json:"transaction_id"`
StatusMessage string `json:"status_message"`
StatusCode string `json:"status_code"`
SignatureKey string `json:"signature_key"`
SettlementTime string `json:"settlement_time"`
PaymentType string `json:"payment_type"`
OrderID string `json:"order_id"`
MerchantID string `json:"merchant_id"`
GrossAmount string `json:"gross_amount"`
FraudStatus string `json:"fraud_status"`
ExpiryTime string `json:"expiry_time"`
Currency string `json:"currency"`
}
type VANumber struct {
VANumber string `json:"va_number"`
Bank string `json:"bank"`
}
type MidtransCallbackBank struct {
Bank string `json:"bank"`
VaNumber string `json:"va_number"`
BillerCode string `json:"biller_code"`
}
func (m *MidtransCallbackRequest) ToEntity() *entity.CallbackRequest {
return &entity.CallbackRequest{
TransactionID: m.OrderID,
TransactionStatus: m.TransactionStatus,
}
}
+10 -8
View File
@@ -8,14 +8,15 @@ import (
)
type User struct {
Name string `json:"name" validate:"required"`
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
PartnerID *int64 `json:"partner_id"`
RoleID int64 `json:"role_id" validate:"required"`
NIK string `json:"nik"`
UserType string `json:"user_type"`
PhoneNumber string `json:"phone_number"`
Name string `json:"name" validate:"required"`
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
PartnerID *int64 `json:"partner_id"`
SiteID *int64 `json:"site_id"`
RoleID role.Role `json:"role_id" validate:"required"`
NIK string `json:"nik"`
UserType string `json:"user_type"`
PhoneNumber string `json:"phone_number"`
}
func (e *User) Validate() error {
@@ -34,6 +35,7 @@ func (u *User) ToEntity() *entity.User {
Password: u.Password,
RoleID: role.Role(u.RoleID),
PartnerID: u.PartnerID,
SiteID: u.SiteID,
}
}