From d0f54513d1fb96991d100cb0dc63b53939ccb930 Mon Sep 17 00:00:00 2001 From: Alexey Date: Wed, 7 Jan 2026 21:03:03 +0200 Subject: [PATCH] add api/user MustRoute method --- api/user/handle.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 api/user/handle.go diff --git a/api/user/handle.go b/api/user/handle.go new file mode 100644 index 0000000..8d3a55d --- /dev/null +++ b/api/user/handle.go @@ -0,0 +1,33 @@ +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} + } +}