/
foult080
/
hackaton-app
Обзор
Документация
Войти
/
foult080
/
hackaton-app
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
internal/handler/contact_handler.go
48 строк
1007 B
Foult080
refactor(): migrate to golang
07 июл 2026, 09:37
07 июл 2026, 09:37
dc52ff5
Код
Авторство
О чём код?
package handler import ( "encoding/json" "net/http" "github.com/kkrit/hackaton/internal/dto" "github.com/kkrit/hackaton/internal/service" "github.com/kkrit/hackaton/pkg/apperror" ) type ContactHandler struct { svc *service.ContactService } func NewContactHandler(svc *service.ContactService) *ContactHandler { return &ContactHandler{svc: svc} } func (h *ContactHandler) Submit(w http.ResponseWriter, r *http.Request) { var req dto.ContactSubmitRequest if err := json.NewDecoder(r.Body).Decode(&req); err != nil { Error(w, apperror.BadRequest("Invalid request body")) return } if err := ValidateRequest(&req); err != nil { Error(w, err) return } contact, err := h.svc.Submit(r.Context(), &req) if err != nil { Error(w, err) return } JSON(w, http.StatusCreated, contact) } func (h *ContactHandler) GetAll(w http.ResponseWriter, r *http.Request) { contacts, err := h.svc.GetAll(r.Context()) if err != nil { Error(w, err) return } JSON(w, http.StatusOK, contacts) }