rawlinp commented on a change in pull request #5986:
URL: https://github.com/apache/trafficcontrol/pull/5986#discussion_r661680370



##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
##########
@@ -352,67 +354,132 @@ func createV40(w http.ResponseWriter, r *http.Request, 
inf *api.APIInfo, dsV40 t
        if errCode, userErr, sysErr := dbhelpers.CheckTopology(inf.Tx, ds); 
userErr != nil || sysErr != nil {
                return nil, errCode, userErr, sysErr
        }
-       resultRows, err := tx.Query(insertQuery(),
-               &ds.Active,
-               &ds.AnonymousBlockingEnabled,
-               &ds.CCRDNSTTL,
-               &ds.CDNID,
-               &ds.CheckPath,
-               &ds.ConsistentHashRegex,
-               &deepCachingType,
-               &ds.DisplayName,
-               &ds.DNSBypassCNAME,
-               &ds.DNSBypassIP,
-               &ds.DNSBypassIP6,
-               &ds.DNSBypassTTL,
-               &ds.DSCP,
-               &ds.EdgeHeaderRewrite,
-               &ds.GeoLimitRedirectURL,
-               &ds.GeoLimit,
-               &ds.GeoLimitCountries,
-               &ds.GeoProvider,
-               &ds.GlobalMaxMBPS,
-               &ds.GlobalMaxTPS,
-               &ds.FQPacingRate,
-               &ds.HTTPBypassFQDN,
-               &ds.InfoURL,
-               &ds.InitialDispersion,
-               &ds.IPV6RoutingEnabled,
-               &ds.LogsEnabled,
-               &ds.LongDesc,
-               &ds.LongDesc1,
-               &ds.LongDesc2,
-               &ds.MaxDNSAnswers,
-               &ds.MaxOriginConnections,
-               &ds.MidHeaderRewrite,
-               &ds.MissLat,
-               &ds.MissLong,
-               &ds.MultiSiteOrigin,
-               &ds.OriginShield,
-               &ds.ProfileID,
-               &ds.Protocol,
-               &ds.QStringIgnore,
-               &ds.RangeRequestHandling,
-               &ds.RegexRemap,
-               &ds.RegionalGeoBlocking,
-               &ds.RemapText,
-               &ds.RoutingName,
-               &ds.SigningAlgorithm,
-               &ds.SSLKeyVersion,
-               &ds.TenantID,
-               &ds.Topology,
-               &ds.TRRequestHeaders,
-               &ds.TRResponseHeaders,
-               &ds.TypeID,
-               &ds.XMLID,
-               &ds.EcsEnabled,
-               &ds.RangeSliceBlockSize,
-               &ds.FirstHeaderRewrite,
-               &ds.InnerHeaderRewrite,
-               &ds.LastHeaderRewrite,
-               &ds.ServiceCategory,
-               &ds.MaxRequestHeaderBytes,
-       )
+       if omitExtraLongDescFields {
+               if ds.LongDesc1 != nil || ds.LongDesc2 != nil {
+                       return nil, http.StatusBadRequest, errors.New("the Long 
Description 1 and Long Description 2 fields are no longer supported in API 4.0 
onwards"), nil

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/request/requests.go
##########
@@ -716,6 +740,18 @@ func putV40(w http.ResponseWriter, r *http.Request, inf 
*api.APIInfo) (result ds
                dsr.Status,
                inf.IntParams["id"],
        }
+       if dsr.Original != nil {
+               if dsr.Original.LongDesc1 != nil || dsr.Original.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: docs/source/overview/delivery_services.rst
##########
@@ -460,34 +460,6 @@ Free text field that has no strictly defined purpose, but 
it is suggested that i
        | longDesc | Traffic Control source code and :ref:`to-api` responses | 
unchanged (``string``, ``String`` etc.) |
        
+----------+---------------------------------------------------------+-----------------------------------------+
 
-.. _ds-longdesc2:

Review comment:
       the fields should also be removed in the v4 API docs (`grep` for 
longDesc1 and longDesc2)

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/request/assign.go
##########
@@ -223,6 +223,16 @@ func PutAssignment(w http.ResponseWriter, r *http.Request) 
{
        }
        var resp interface{}
        if inf.Version.Major >= 4 {
+               if dsr.Requested.LongDesc1 != nil || dsr.Requested.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/request/requests.go
##########
@@ -449,7 +458,18 @@ func createV4(w http.ResponseWriter, r *http.Request, inf 
*api.APIInfo) (result
                api.HandleErr(w, r, tx, http.StatusBadRequest, userErr, nil)
                return
        }
-
+       if dsr.Original != nil {
+               if dsr.Original.LongDesc1 != nil || dsr.Original.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/safe.go
##########
@@ -65,11 +85,20 @@ func UpdateSafe(w http.ResponseWriter, r *http.Request) {
                api.HandleErr(w, r, tx, http.StatusBadRequest, 
fmt.Errorf("decoding: %s", err), nil)
                return
        }
-       if ok, err := updateDSSafe(tx, dsID, dsr); err != nil {
+       if version.Major > 3 && version.Minor >= 0 {
+               if dsr.LongDesc1 != nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 field are no longer supported in API 4.0 
onwards"), nil)

Review comment:
       this error message should probably use the json field name, i.e. 
`longDesc1` just to be clear. Also `are` -> `is`

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/request/requests.go
##########
@@ -449,7 +458,18 @@ func createV4(w http.ResponseWriter, r *http.Request, inf 
*api.APIInfo) (result
                api.HandleErr(w, r, tx, http.StatusBadRequest, userErr, nil)
                return
        }
-
+       if dsr.Original != nil {
+               if dsr.Original.LongDesc1 != nil || dsr.Original.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)
+                       return
+               }
+       }
+       if dsr.Requested != nil {
+               if dsr.Requested.LongDesc1 != nil || dsr.Requested.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
##########
@@ -1006,67 +1075,132 @@ func updateV40(w http.ResponseWriter, r *http.Request, 
inf *api.APIInfo, dsV40 *
                }
        }
 
-       resultRows, err := tx.Query(updateDSQuery(),
-               &ds.Active,
-               &ds.CCRDNSTTL,
-               &ds.CDNID,
-               &ds.CheckPath,
-               &deepCachingType,
-               &ds.DisplayName,
-               &ds.DNSBypassCNAME,
-               &ds.DNSBypassIP,
-               &ds.DNSBypassIP6,
-               &ds.DNSBypassTTL,
-               &ds.DSCP,
-               &ds.EdgeHeaderRewrite,
-               &ds.GeoLimitRedirectURL,
-               &ds.GeoLimit,
-               &ds.GeoLimitCountries,
-               &ds.GeoProvider,
-               &ds.GlobalMaxMBPS,
-               &ds.GlobalMaxTPS,
-               &ds.FQPacingRate,
-               &ds.HTTPBypassFQDN,
-               &ds.InfoURL,
-               &ds.InitialDispersion,
-               &ds.IPV6RoutingEnabled,
-               &ds.LogsEnabled,
-               &ds.LongDesc,
-               &ds.LongDesc1,
-               &ds.LongDesc2,
-               &ds.MaxDNSAnswers,
-               &ds.MidHeaderRewrite,
-               &ds.MissLat,
-               &ds.MissLong,
-               &ds.MultiSiteOrigin,
-               &ds.OriginShield,
-               &ds.ProfileID,
-               &ds.Protocol,
-               &ds.QStringIgnore,
-               &ds.RangeRequestHandling,
-               &ds.RegexRemap,
-               &ds.RegionalGeoBlocking,
-               &ds.RemapText,
-               &ds.RoutingName,
-               &ds.SigningAlgorithm,
-               &ds.SSLKeyVersion,
-               &ds.TenantID,
-               &ds.TRRequestHeaders,
-               &ds.TRResponseHeaders,
-               &ds.TypeID,
-               &ds.XMLID,
-               &ds.AnonymousBlockingEnabled,
-               &ds.ConsistentHashRegex,
-               &ds.MaxOriginConnections,
-               &ds.EcsEnabled,
-               &ds.RangeSliceBlockSize,
-               &ds.Topology,
-               &ds.FirstHeaderRewrite,
-               &ds.InnerHeaderRewrite,
-               &ds.LastHeaderRewrite,
-               &ds.ServiceCategory,
-               &ds.MaxRequestHeaderBytes,
-               &ds.ID)
+       if omitExtraLongDescFields {
+               if ds.LongDesc1 != nil || ds.LongDesc2 != nil {
+                       return nil, http.StatusBadRequest, errors.New("the Long 
Description 1 and Long Description 2 fields are no longer supported in API 4.0 
onwards"), nil

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear

##########
File path: CHANGELOG.md
##########
@@ -101,6 +101,7 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 - The `traffic_ops_ort.pl` tool has been deprecated in favor of `t3c`, and 
will be removed in the next major version.
 
 ### Removed
+- Removed the `Long Description 2` and `Long Description 3` from the UI, and 
changed the backend so that routes corresponding API 4.0 and above no longer 
accept or return these fields. 

Review comment:
       the changelog message should specify that those are delivery service 
fields

##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/request/requests.go
##########
@@ -716,6 +740,18 @@ func putV40(w http.ResponseWriter, r *http.Request, inf 
*api.APIInfo) (result ds
                dsr.Status,
                inf.IntParams["id"],
        }
+       if dsr.Original != nil {
+               if dsr.Original.LongDesc1 != nil || dsr.Original.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)
+                       return
+               }
+       }
+       if dsr.Requested != nil {
+               if dsr.Requested.LongDesc1 != nil || dsr.Requested.LongDesc2 != 
nil {
+                       api.HandleErr(w, r, tx, http.StatusBadRequest, 
errors.New("the Long Description 1 and Long Description 2 fields are no longer 
supported in API 4.0 onwards"), nil)

Review comment:
       this error message should probably use the json field names, i.e. 
`longDesc1` and `longDesc2` just to be clear




-- 
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.

To unsubscribe, e-mail: [email protected]

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


Reply via email to