router

package
v0.0.0-...-e06ca6e Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRouter

func NewRouter(
	frontend bool,
	middlewares map[string]func(http.Handler) http.Handler,
	botsController BotsController,
	chatsController ChatsController,
	messagesController MessagesController,
	requestLogger RequestLogger,
) http.Handler

Types

type BotsController

type BotsController interface {
	RequestController[*models.Bot]
	HandleGetBotModelsRequest(w http.ResponseWriter, r *http.Request)
}

type ChatsController

type ChatsController interface {
	RequestController[*models.Chat]
	HandleGetChatResponseRequest(w http.ResponseWriter, r *http.Request)
	HandleGetMessageCorrectionRequest(w http.ResponseWriter, r *http.Request)
}

type MessagesController

type MessagesController interface {
	RequestController[*models.Message]
	HandleGetAllPaginatedRequest(w http.ResponseWriter, r *http.Request)
}

type RequestController

type RequestController[e any] interface {
	HandleGetAllEntitiesRequest(w http.ResponseWriter, r *http.Request)
	HandleGetEntityByIdRequest(w http.ResponseWriter, r *http.Request)
	HandleCreateEntityRequest(w http.ResponseWriter, r *http.Request)
	HandleUpdateEntityRequest(w http.ResponseWriter, r *http.Request)
	HandleDeleteEntityByIdRequest(w http.ResponseWriter, r *http.Request)
}

type RequestLogger

type RequestLogger interface {
	CreateRequestLoggerHandler(next http.Handler) http.Handler
}

Jump to

Keyboard shortcuts

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