mattjackson220 commented on a change in pull request #5225:
URL: https://github.com/apache/trafficcontrol/pull/5225#discussion_r514587744



##########
File path: traffic_ops/traffic_ops_golang/servicecategory/servicecategories.go
##########
@@ -123,89 +118,78 @@ func (serviceCategory *TOServiceCategory) Create() 
(error, error, int) {
 }
 
 func (serviceCategory *TOServiceCategory) Read(h http.Header, useIMS bool) 
([]interface{}, error, error, int, *time.Time) {
-       tenantIDs, err := 
tenant.GetUserTenantIDListTx(serviceCategory.APIInfo().Tx.Tx, 
serviceCategory.APIInfo().User.TenantID)
-       if err != nil {
-               return nil, nil, errors.New("getting tenant list for user: " + 
err.Error()), http.StatusInternalServerError, nil
-       }
-
        api.DefaultSort(serviceCategory.APIInfo(), "name")
        serviceCategories, userErr, sysErr, errCode, maxTime := 
api.GenericRead(h, serviceCategory, useIMS)
        if userErr != nil || sysErr != nil {
                return nil, userErr, sysErr, errCode, nil
        }
 
-       filteredServiceCategories := []interface{}{}
-       for _, sc := range serviceCategories {
-               scToCheck := sc.(*tc.ServiceCategory)
-               if checkTenancy(scToCheck, tenantIDs) {
-                       filteredServiceCategories = 
append(filteredServiceCategories, scToCheck)
-               }
+       return serviceCategories, nil, nil, errCode, maxTime
+}
+
+func Update(w http.ResponseWriter, r *http.Request) {
+       inf, userErr, sysErr, errCode := api.NewInfo(r, []string{"name"}, nil)
+       if userErr != nil || sysErr != nil {
+               api.HandleErr(w, r, inf.Tx.Tx, errCode, userErr, sysErr)
+               return
        }
+       defer inf.Close()
 
-       dsIdParam := serviceCategory.APIInfo().Params["dsId"]
+       name := inf.Params["name"]
 
-       if dsIdParam != "" {
-               dsId, err := strconv.Atoi(dsIdParam)
-               if err != nil {
-                       return nil, errors.New("dsId query param must be an 
int"), nil, http.StatusBadRequest, nil
-               }
-               dsTenantId, _, err := 
tenant.GetDSTenantIDByIDTx(serviceCategory.APIInfo().Tx.Tx, dsId)
+       var newSC TOServiceCategory
+       if err := json.NewDecoder(r.Body).Decode(&newSC); err != nil {
+               api.HandleErr(w, r, inf.Tx.Tx, http.StatusBadRequest, err, nil)
+               return
+       }
 
-               dsAllowedTenants, err := 
tenant.GetUserTenantIDListTx(serviceCategory.APIInfo().Tx.Tx, *dsTenantId)
-               if err != nil {
-                       return nil, nil, errors.New("getting tenant list for 
user: " + err.Error()), http.StatusInternalServerError, nil
-               }
+       if err := newSC.Validate(); err != nil {
+               api.HandleErr(w, r, inf.Tx.Tx, http.StatusBadRequest, err, nil)
+               return
+       }
 
-               filteredSCByDS := []interface{}{}
-               for _, sc := range filteredServiceCategories {
-                       scToCheck := sc.(*tc.ServiceCategory)
-                       if checkTenancy(scToCheck, dsAllowedTenants) {
-                               filteredSCByDS = append(filteredSCByDS, 
scToCheck)
-                       }
+       var origSC TOServiceCategory
+       if err := inf.Tx.QueryRow(`SELECT name FROM service_category WHERE name 
= $1`, name).Scan(&origSC.Name); err != nil {
+               if err == sql.ErrNoRows {
+                       api.HandleErr(w, r, inf.Tx.Tx, http.StatusBadRequest, 
errors.New("no service category found with name "+name), nil)
+                       return
                }
-
-               return filteredSCByDS, nil, nil, errCode, maxTime
+               log.Errorf("MATT JACKSON in here")

Review comment:
       how embarrassing




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to