Documentation
¶
Index ¶
- type EventHandler
- type EventHandlerImpl
- func (h *EventHandlerImpl) CreateEvent(ctx echo.Context) error
- func (h *EventHandlerImpl) GetAllEvents(ctx echo.Context) error
- func (h *EventHandlerImpl) GetEventByID(ctx echo.Context) error
- func (h *EventHandlerImpl) SearchEvents(ctx echo.Context) error
- func (h *EventHandlerImpl) UpdateEvent(ctx echo.Context) error
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]