entry_handler.go 784 B

12345678910111213141516171819202122232425262728293031
  1. package handlers
  2. import (
  3. "net/http"
  4. "cmr-backend/internal/httpx"
  5. "cmr-backend/internal/service"
  6. )
  7. type EntryHandler struct {
  8. entryService *service.EntryService
  9. }
  10. func NewEntryHandler(entryService *service.EntryService) *EntryHandler {
  11. return &EntryHandler{entryService: entryService}
  12. }
  13. func (h *EntryHandler) Resolve(w http.ResponseWriter, r *http.Request) {
  14. result, err := h.entryService.Resolve(r.Context(), service.ResolveEntryInput{
  15. ChannelCode: r.URL.Query().Get("channelCode"),
  16. ChannelType: r.URL.Query().Get("channelType"),
  17. PlatformAppID: r.URL.Query().Get("platformAppId"),
  18. TenantCode: r.URL.Query().Get("tenantCode"),
  19. })
  20. if err != nil {
  21. httpx.WriteError(w, err)
  22. return
  23. }
  24. httpx.WriteJSON(w, http.StatusOK, map[string]any{"data": result})
  25. }