Files
triggerssmith/api/user/handle.go
2026-01-07 21:18:18 +02:00

34 lines
776 B
Go

package api_user
import (
"git.oblat.lv/alex/triggerssmith/internal/config"
"git.oblat.lv/alex/triggerssmith/internal/user"
"github.com/go-chi/chi/v5"
)
type userHandler struct {
cfg *config.Config
a *user.Service
}
func MustRoute(config *config.Config, userService *user.Service) func(chi.Router) {
if config == nil {
panic("config is nil")
}
if userService == nil {
panic("userService is nil")
}
h := &userHandler{
cfg: config,
a: userService,
}
return func(r chi.Router) {
r.Get("/", h.getUsers) // /users
r.Get("/{userId}", h.GetUser) // /users/{userId}
r.Post("/", h.createUser) // /users
r.Patch("/{userId}", h.updateUser) // /users/{userId}
r.Delete("/{userId}", h.deleteUser) // /users/{userId}
}
}