event

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: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventHandler

type EventHandler interface {
	CreateEvent(ctx echo.Context) error
	UpdateEvent(ctx echo.Context) error
	GetEventByID(ctx echo.Context) error
	GetAllEvents(ctx echo.Context) error
	SearchEvents(ctx echo.Context) error
}

func NewEventHandler

func NewEventHandler(log *logrus.Logger, eventService event.EventService) EventHandler

type EventHandlerImpl

type EventHandlerImpl struct {
	Log          *logrus.Logger
	EventService event.EventService
}

func (*EventHandlerImpl) CreateEvent

func (h *EventHandlerImpl) CreateEvent(ctx echo.Context) error

@Summary Create a new event @admin @Description Create a new event with the provided details @Tags events @Accept json @Produce json @Param request body model.CreateEventRequest true "Event details" @Success 201 {object} model.Response[model.EventResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /events [post]

func (*EventHandlerImpl) GetAllEvents

func (h *EventHandlerImpl) GetAllEvents(ctx echo.Context) error

@Summary Get all events @Description Get a paginated list of all events @Tags events @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, name, description, date, time, venue_id) @Param order query string false "Sort order" @Success 200 {object} model.Response[[]model.EventResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @Router /events [get]

func (*EventHandlerImpl) GetEventByID

func (h *EventHandlerImpl) GetEventByID(ctx echo.Context) error

@Summary Get an event by ID @Description Get details of a specific event by its ID @Tags events @Produce json @Param id path int true "Event ID" @Success 200 {object} model.Response[model.EventResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @Router /events/{id} [get]

func (*EventHandlerImpl) SearchEvents

func (h *EventHandlerImpl) SearchEvents(ctx echo.Context) error

@Summary Search events @Description Search events with the provided query parameters @Tags events @Produce json @Param id query int false "Event ID" @Param name query string false "Event name" @Param description query string false "Event description" @Param date query string false "Event date" @Param time query string false "Event time" @Param venue_id query int false "Venue ID" @Param page query int false "Page number" @Param size query int false "Page size" @Param sort query string false "Sort field" Enums(id, name, description, date, time, venue_id) @Param order query string false "Sort order" @Success 200 {object} model.Response[[]model.EventResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @Router /events/search [get]

func (*EventHandlerImpl) UpdateEvent

func (h *EventHandlerImpl) UpdateEvent(ctx echo.Context) error

@Summary Update an existing event @admin @Description Update an existing event with the provided details @Tags events @Accept json @Produce json @Param id path int true "Event ID" @Param request body model.UpdateEventRequest true "Updated event details" @Success 200 {object} model.Response[model.EventResponse] @Failure 400 {object} model.Error @Failure 500 {object} model.Error @security ApiKeyAuth @Router /events/{id} [put]

Jump to

Keyboard shortcuts

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