package handler import ( "log" "net/http" "time" "github.com/saveinmed/backend-go/internal/domain" ) func (h *Handler) CreateAddress(w http.ResponseWriter, r *http.Request) { reqUser, err := getRequester(r) if err != nil { writeError(w, http.StatusUnauthorized, err) return } var payload createAddressRequest if err := decodeJSON(r.Context(), r, &payload); err != nil { writeError(w, http.StatusBadRequest, err) return } // Use user ID as the entity ID entityID := reqUser.ID addr := domain.Address{ EntityID: entityID, Title: payload.Title, ZipCode: payload.ZipCode, Street: payload.Street, Number: payload.Number, Complement: payload.Complement, District: payload.District, City: payload.City, State: payload.State, CreatedAt: time.Now(), UpdatedAt: time.Now(), } if err := h.svc.CreateAddress(r.Context(), &addr); err != nil { log.Printf("Failed to create address: %v", err) writeError(w, http.StatusInternalServerError, err) return } writeJSON(w, http.StatusCreated, addr) }