34 lines
776 B
Go
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}
|
|
}
|
|
}
|