//Redundant func Packaging(w http.ResponseWriter, r *http.Request, params martini.Params, enc encoding.Encoder, dtx *apicontext.DataContext) string { id, err := strconv.Atoi(params["part"]) if err != nil { apierror.GenerateError("Trouble getting part ID", err, w, r) return "" } p := products.Part{ ID: id, } if err = p.Get(dtx); err != nil { apierror.GenerateError("Trouble getting part packages", err, w, r) return "" } return encoding.Must(enc.Encode(p.Packages)) }
//Sort of Redundant func InstallSheet(w http.ResponseWriter, r *http.Request, params martini.Params, dtx *apicontext.DataContext) { id, err := strconv.Atoi(strings.Split(params["part"], ".")[0]) if err != nil { apierror.GenerateError("Trouble getting part ID", err, w, r) return } p := products.Part{ ID: id, } err = p.Get(dtx) if err != nil { apierror.GenerateError("Trouble getting part", err, w, r) return } var text string for _, content := range p.Content { if content.ContentType.Type == "installationSheet" { text = content.Text } } if text == "" { apierror.GenerateError("No Installation Sheet", err, w, r) return } data, err := rest.GetPDF(text, r) if err != nil { apierror.GenerateError("Error getting PDF", err, w, r) return } w.Header().Set("Content-Length", strconv.Itoa(len(data))) w.Header().Set("Content-Type", "application/pdf") w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Headers", "Content-Type") w.Header().Set("Access-Control-Allow-Headers", "Origin") w.Write(data) }
//Redundant func ActiveApprovedReviews(w http.ResponseWriter, r *http.Request, params martini.Params, enc encoding.Encoder, dtx *apicontext.DataContext) string { id, err := strconv.Atoi(params["part"]) if err != nil { apierror.GenerateError("Trouble getting part ID", err, w, r) return "" } p := products.Part{ ID: id, } if err = p.Get(dtx); err != nil { apierror.GenerateError("Trouble getting part reviews", err, w, r) return "" } var revs []products.Review for _, rev := range p.Reviews { if rev.Active == true && rev.Approved == true { revs = append(revs, rev) } } return encoding.Must(enc.Encode(revs)) }
func Prices(w http.ResponseWriter, r *http.Request, params martini.Params, enc encoding.Encoder, dtx *apicontext.DataContext) string { id, err := strconv.Atoi(params["part"]) if err != nil { apierror.GenerateError("Trouble getting part ID", err, w, r) return "" } p := products.Part{ ID: id, } priceChan := make(chan int) custChan := make(chan int) go func() { err = p.Get(dtx) priceChan <- 1 }() go func() { price, custErr := customer.GetCustomerPrice(dtx, p.ID) if custErr != nil { err = custErr } p.Pricing = append(p.Pricing, products.Price{0, 0, "Customer", price, false, time.Now()}) custChan <- 1 }() <-priceChan <-custChan if err != nil { apierror.GenerateError("Trouble getting part prices", err, w, r) return "" } return encoding.Must(enc.Encode(p.Pricing)) }