Documentation
¶
Index ¶
- type TicketHandler
- type TicketHandlerImpl
- func (h *TicketHandlerImpl) CreateTicket(ctx echo.Context) error
- func (h *TicketHandlerImpl) GetAllTickets(ctx echo.Context) error
- func (h *TicketHandlerImpl) GetTicketByID(ctx echo.Context) error
- func (h *TicketHandlerImpl) SearchTickets(ctx echo.Context) error
- func (h *TicketHandlerImpl) UpdateTicket(ctx echo.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TicketHandler ¶
type TicketHandler interface {
CreateTicket(ctx echo.Context) error
UpdateTicket(ctx echo.Context) error
GetTicketByID(ctx echo.Context) error
GetAllTickets(ctx echo.Context) error
SearchTickets(ctx echo.Context) error
}
func NewTicketHandler ¶
func NewTicketHandler(log *logrus.Logger, ticketService ticket.TicketService) TicketHandler
type TicketHandlerImpl ¶
type TicketHandlerImpl struct {
Log *logrus.Logger
TicketService ticket.TicketService
}
func (*TicketHandlerImpl) CreateTicket ¶
func (h *TicketHandlerImpl) CreateTicket(ctx echo.Context) error
@Summary Create new tickets @admin @Description Create new tickets with the provided details @Tags tickets @Accept json @Produce json @Param request body model.CreateTicketRequest true "Ticket details" @Success 201 {object} model.Response[[]model.TicketResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /tickets [post]
func (*TicketHandlerImpl) GetAllTickets ¶
func (h *TicketHandlerImpl) GetAllTickets(ctx echo.Context) error
@Summary Get all tickets @Description Get a paginated list of all tickets @Tags tickets @Produce json @Param page query int false "Page number" @Param size query int false "Page size" @Param sort query string false "Sort field" Enums(event_id,order_id,price,type,seat_number) @Param order query string false "Sort order" @Success 200 {object} model.Response[[]model.TicketResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @Router /tickets [get]
func (*TicketHandlerImpl) GetTicketByID ¶
func (h *TicketHandlerImpl) GetTicketByID(ctx echo.Context) error
@Summary Get a ticket by ID @Description Get details of a specific ticket by its ID @Tags tickets @Produce json @Param id path string true "Ticket ID" @Success 200 {object} model.Response[model.TicketResponse] @Failure 400 {object} model.Error @Failure 404 {object} model.Error @Failure 500 {object} model.Error @Router /tickets/{id} [get]
func (*TicketHandlerImpl) SearchTickets ¶
func (h *TicketHandlerImpl) SearchTickets(ctx echo.Context) error
@Summary Search tickets @Description Search tickets with the provided query parameters @Tags tickets @Produce json @Param id query string false "Ticket ID" @Param event_id query int false "Event ID" @Param order_id query int false "Order ID" @Param price query number false "Ticket price" @Param type query string false "Ticket type" @Param seat_number query string false "Seat number" @Param page query int false "Page number" @Param size query int false "Page size" @Param sort query string false "Sort field" Enums(id, event_id, order_id, price, type, seat_number) @Param order query string false "Sort order" @Success 200 {object} model.Response[[]model.TicketResponse] @Failure 400 {object} model.Error @Failure 404 {object} model.Error @Failure 500 {object} model.Error @Router /tickets/search [get]
func (*TicketHandlerImpl) UpdateTicket ¶
func (h *TicketHandlerImpl) UpdateTicket(ctx echo.Context) error
@Summary Update an existing ticket @admin @Description Update an existing ticket with the provided details @Tags tickets @Accept json @Produce json @Param id path string true "Ticket ID" @Param request body model.UpdateTicketRequest true "Updated ticket details" @Success 200 {object} model.Response[model.TicketResponse] @Failure 400 {object} model.Error @Failure 404 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /tickets/{id} [put]