This commit is contained in:
aditya.siregar
2025-04-05 11:28:06 +08:00
parent 118ec58521
commit c642c5c61b
35 changed files with 1194 additions and 212 deletions
+49
View File
@@ -0,0 +1,49 @@
package request
import (
"enaklo-pos-be/internal/entity"
"github.com/go-playground/validator/v10"
"strings"
"time"
)
type CustomerRegister struct {
Name string `json:"name" validate:"required" binding:"required"`
Email string `json:"email" validate:"required" binding:"required"`
PhoneNumber string `json:"phone_number" validate:"required" binding:"required"`
BirthDate string `json:"birth_date" validate:"required" binding:"required"`
Password string `json:"password" validate:"required" binding:"required"`
}
func (c *CustomerRegister) Validate() error {
validate := validator.New()
if err := validate.Struct(c); err != nil {
return err
}
return nil
}
func (c *CustomerRegister) GetBirthdate() (time.Time, error) {
parsedDate, err := time.Parse("02-01-2006", c.BirthDate)
if err != nil {
return time.Time{}, err
}
return parsedDate, nil
}
func (c *CustomerRegister) ToEntity() *entity.Customer {
birthdate, _ := c.GetBirthdate()
return &entity.Customer{
Name: c.Name,
Email: strings.ToLower(c.Email),
PhoneNumber: c.PhoneNumber,
Password: c.Password,
BirthDate: birthdate,
}
}
type VerifyEmailRequest struct {
VerificationID string `json:"verification_id" binding:"required"`
OTPCode string `json:"otp_code" binding:"required"`
}
+7 -5
View File
@@ -7,11 +7,13 @@ import (
)
type Order struct {
CustomerName string `json:"customer_name"`
CustomerPhone string `json:"customer_phone"`
CustomerEmail string `json:"customer_email"`
PaymentMethod string `json:"payment_method"`
OrderItems []OrderItem `json:"order_items"`
CustomerName string `json:"customer_name"`
CustomerPhone string `json:"customer_phone"`
CustomerEmail string `json:"customer_email"`
PaymentMethod string `json:"payment_method"`
PaymentProvider string `json:"payment_provider"`
TableNumber string `json:"table_number"`
OrderItems []OrderItem `json:"order_items"`
}
type CustomerOrder struct {
-2
View File
@@ -174,7 +174,5 @@ func (u *UserRegister) ToEntity() *entity.User {
Email: strings.ToLower(u.Email),
PhoneNumber: u.PhoneNumber,
Password: u.Password,
RoleID: role.Customer,
UserType: "CUSTOMER",
}
}