diff --git a/internal/contract/self_order_contract.go b/internal/contract/self_order_contract.go index 4e0d227..85e0c31 100644 --- a/internal/contract/self_order_contract.go +++ b/internal/contract/self_order_contract.go @@ -50,8 +50,10 @@ type SelfOrderMenuVariant struct { } type SelfOrderCreateOrderRequest struct { - SessionID string `json:"session_id" validate:"required"` - OrderItems []SelfOrderCreateOrderItem `json:"order_items" validate:"required,min=1,dive"` + SessionID string `json:"session_id" validate:"required"` + CustomerName string `json:"customer_name" validate:"required"` + OrderType string `json:"order_type" validate:"required,oneof=dine_in takeaway delivery"` + OrderItems []SelfOrderCreateOrderItem `json:"order_items" validate:"required,min=1,dive"` } type SelfOrderCreateOrderItem struct { @@ -62,7 +64,7 @@ type SelfOrderCreateOrderItem struct { } type SelfOrderListCategoriesRequest struct { - OrganizationID string `form:"organisasi_id" validate:"required"` + OrganizationID string `form:"organization_id" validate:"required"` OutletID string `form:"outlet_id" validate:"required"` } diff --git a/internal/handler/self_order_handler.go b/internal/handler/self_order_handler.go index 605a137..e73dfb7 100644 --- a/internal/handler/self_order_handler.go +++ b/internal/handler/self_order_handler.go @@ -330,6 +330,7 @@ func (h *SelfOrderHandler) CreateOrder(c *gin.Context) { metadata := make(map[string]interface{}) metadata["self_order"] = true metadata["session_id"] = session.ID + metadata["customer_name"] = req.CustomerName tableID := table.ID modelReq := &models.CreateOrderRequest{ @@ -337,7 +338,7 @@ func (h *SelfOrderHandler) CreateOrder(c *gin.Context) { UserID: userID, TableID: &tableID, TableNumber: &table.TableName, - OrderType: constants.OrderTypeDineIn, + OrderType: constants.OrderType(req.OrderType), OrderItems: orderItems, Metadata: metadata, } @@ -466,7 +467,7 @@ func (h *SelfOrderHandler) ListCategories(c *gin.Context) { if req.OrganizationID == "" { util.HandleResponse(c.Writer, c.Request, contract.BuildErrorResponse([]*contract.ResponseError{ - contract.NewResponseError(constants.MissingFieldErrorCode, constants.RequestEntity, "organisasi_id is required"), + contract.NewResponseError(constants.MissingFieldErrorCode, constants.RequestEntity, "organization_id is required"), }), "SelfOrderHandler::ListCategories") return } @@ -481,7 +482,7 @@ func (h *SelfOrderHandler) ListCategories(c *gin.Context) { orgID, err := uuid.Parse(req.OrganizationID) if err != nil { util.HandleResponse(c.Writer, c.Request, contract.BuildErrorResponse([]*contract.ResponseError{ - contract.NewResponseError(constants.ValidationErrorCode, constants.RequestEntity, "invalid organisasi_id format"), + contract.NewResponseError(constants.ValidationErrorCode, constants.RequestEntity, "invalid organization_id format"), }), "SelfOrderHandler::ListCategories") return }