package v1 import ( "net/http" "github.com/hay-kot/homebox/backend/internal/core/services" "github.com/hay-kot/homebox/backend/pkgs/server" ) // HandleBillOfMaterialsExport godoc // // @Summary Export Bill of Materials // @Tags Reporting // @Produce json // @Success 200 {string} string "text/csv" // @Router /v1/reporting/bill-of-materials [GET] // @Security Bearer func (ctrl *V1Controller) HandleBillOfMaterialsExport() server.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) error { actor := services.UseUserCtx(r.Context()) csv, err := ctrl.svc.Items.ExportBillOfMaterialsTSV(r.Context(), actor.GroupID) if err != nil { return err } w.Header().Set("Content-Type", "text/tsv") w.Header().Set("Content-Disposition", "attachment; filename=bill-of-materials.tsv") _, err = w.Write(csv) return err } }