Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OrderHandler ¶
type OrderHandler interface {
CreateOrder(ctx echo.Context) error
GetOrderByID(ctx echo.Context) error
GetAllOrders(ctx echo.Context) error
}
func NewOrderHandler ¶
func NewOrderHandler(log *logrus.Logger, orderService order.OrderService) OrderHandler
type OrderHandlerImpl ¶
type OrderHandlerImpl struct {
Log *logrus.Logger
OrderService order.OrderService
}
func (*OrderHandlerImpl) CreateOrder ¶
func (h *OrderHandlerImpl) CreateOrder(ctx echo.Context) error
@Summary Create a new order @Description Create a new order for event tickets @Tags orders @Accept json @Produce json @Param request body model.OrderTicketRequest true "Order details" @Success 201 {object} model.Response[model.OrderResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /orders [post]
func (*OrderHandlerImpl) GetAllOrders ¶
func (h *OrderHandlerImpl) GetAllOrders(ctx echo.Context) error
@Summary Get all orders @Description Get a paginated list of all orders @Tags orders @Produce json @Param page query int false "Page number" @Param size query int false "Page size" @Param sort query string false "Sort field" Enums(id, date, total_price) @Param order query string false "Sort order" @Success 200 {object} model.Response[[]model.OrderResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /orders [get]
func (*OrderHandlerImpl) GetOrderByID ¶
func (h *OrderHandlerImpl) GetOrderByID(ctx echo.Context) error
@Summary Get order by ID @Description Get details of a specific order @Tags orders @Produce json @Param id path int true "Order ID" @Success 200 {object} model.Response[model.OrderResponse] @Failure 400 {object} model.Error @Failure 404 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /orders/{id} [get]