diff --git a/handler/csv_download/csv_download.go b/handler/csv_download/csv_download.go index e29ae45e..d92f5a9f 100644 --- a/handler/csv_download/csv_download.go +++ b/handler/csv_download/csv_download.go @@ -106,7 +106,7 @@ func Handler(w http.ResponseWriter, r *http.Request) { handler.AbortRequest(w, handler.ContextCsvDownload, err, handler.ErrGeneral) return } - var columns []types.Column + var columns []types.CsvExportColumn if err := json.Unmarshal([]byte(columnsString), &columns); err != nil { handler.AbortRequest(w, handler.ContextCsvDownload, err, handler.ErrGeneral) return diff --git a/types/types_csv.go b/types/types_csv.go new file mode 100644 index 00000000..060cedc1 --- /dev/null +++ b/types/types_csv.go @@ -0,0 +1,8 @@ +package types + +import "github.com/gofrs/uuid" + +type CsvExportColumn struct { + AttributeId uuid.UUID `json:"attributeId"` + Captions CaptionMap `json:"captions"` +} diff --git a/www/comps/listCsv.js b/www/comps/listCsv.js index f85d0fbf..c9b641f0 100644 --- a/www/comps/listCsv.js +++ b/www/comps/listCsv.js @@ -142,6 +142,17 @@ export default { clearInterval(this.cacheDenialTimeout); }, computed:{ + columnsCsv:(s) => { + let out = []; + for(const c of s.columnsSorted) { + // only keep relevant data + out.push({ + attributeId:c.attributeId, + captions:c.captions + }); + } + return out; + }, columnsSorted:(s) => { let out = []; for(const b of s.columnBatches) { @@ -161,7 +172,7 @@ export default { `timezone=${encodeURIComponent(s.timezone)}`, `ignore_header=${s.hasHeader ? 'false' : 'true'}`, `relation_id=${s.query.relationId}`, - `columns=${encodeURIComponent(JSON.stringify(s.columnsSorted))}`, + `columns=${encodeURIComponent(JSON.stringify(s.columnsCsv))}`, `joins=${encodeURIComponent(JSON.stringify(s.joins))}`, `expressions=${encodeURIComponent(JSON.stringify(s.expressions))}`, `filters=${encodeURIComponent(JSON.stringify(s.filters))}`,