package exports import ( "net/http" "github.com/gorilla/mux" "github.com/rs/zerolog/log" ) func (h *Handler) AllAgendaEvents(w http.ResponseWriter, r *http.Request) { result, err := h.applicationHandler.ExportAllAgendaEvents() if err != nil { log.Error().Err(err).Msg("Failed to export all agenda events") w.WriteHeader(http.StatusInternalServerError) return } defer func() { if err := result.ExcelFile.Close(); err != nil { log.Error().Err(err).Msg("Failed to close Excel file") } }() h.writeFileResponse(w, "Agenda_Events.xlsx") result.ExcelFile.Write(w) } func (h *Handler) SingleAgendaEvent(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) eventID := vars["eventid"] result, err := h.applicationHandler.ExportSingleAgendaEvent(eventID) if err != nil { log.Error().Err(err).Msg("Failed to export single agenda event") w.WriteHeader(http.StatusInternalServerError) return } defer func() { if err := result.ExcelFile.Close(); err != nil { log.Error().Err(err).Msg("Failed to close Excel file") } }() h.writeFileResponse(w, "Event_"+eventID+".xlsx") result.ExcelFile.Write(w) }