ticket

package
v0.0.0-...-3ed7ff5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

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]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL