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



##########
File path: lib/go-tc/deliveryservices.go
##########
@@ -192,18 +194,416 @@ type DeliveryServiceFieldsV31 struct {
 // DeliveryServiceV40 is a Delivery Service as it appears in version 4.0 of the
 // Traffic Ops API.
 type DeliveryServiceV40 struct {
-       DeliveryServiceFieldsV31
-       DeliveryServiceFieldsV30
-       DeliveryServiceFieldsV15
-       DeliveryServiceFieldsV14
-       DeliveryServiceFieldsV13
-       DeliveryServiceNullableFieldsV11
+       // Active dictates whether the Delivery Service is routed by Traffic 
Router.
+       Active bool `json:"active" db:"active"`

Review comment:
       I'd be more open to having a custom `UnmarshalJSON` method that 
basically checks the raw JSON as  `map[string]interface{}` and ensures that the 
required fields are present. After that validation, it could just call 
`json.Unmarshal` like normal.

##########
File path: lib/go-tc/deliveryservices.go
##########
@@ -192,18 +194,416 @@ type DeliveryServiceFieldsV31 struct {
 // DeliveryServiceV40 is a Delivery Service as it appears in version 4.0 of the
 // Traffic Ops API.
 type DeliveryServiceV40 struct {
-       DeliveryServiceFieldsV31
-       DeliveryServiceFieldsV30
-       DeliveryServiceFieldsV15
-       DeliveryServiceFieldsV14
-       DeliveryServiceFieldsV13
-       DeliveryServiceNullableFieldsV11
+       // Active dictates whether the Delivery Service is routed by Traffic 
Router.
+       Active bool `json:"active" db:"active"`

Review comment:
       Ideally we'd only have 1 and only 1 struct per resource. Once we have 
more than 1 struct (like we do today w/ most nullable vs non-nullable structs), 
they _always_ get out of sync. 




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