Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Commit bf8e18f

Browse files
authored
Fix APIv4 and under DSRs not having Original set on Update DSRs (#7235)
* Fix APIv4 and under DSRs not having Original set on Update DSRs * Update tests, fix upgrade discarding original on Update DSRs * Fix syntax parse error for labelizing current Active property
1 parent e24fcb6 commit bf8e18f

File tree

9 files changed

+30
-7
lines changed

9 files changed

+30
-7
lines changed

lib/go-tc/deliveryservice_requests.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,8 @@ func (dsr DeliveryServiceRequestV5) Downgrade() DeliveryServiceRequestV4 {
996996
if dsr.Requested != nil {
997997
downgraded.Requested = new(DeliveryServiceV4)
998998
*downgraded.Requested = dsr.Requested.Downgrade()
999-
} else if dsr.Original != nil {
999+
}
1000+
if dsr.Original != nil {
10001001
downgraded.Original = new(DeliveryServiceV4)
10011002
*downgraded.Original = dsr.Original.Downgrade()
10021003
}
@@ -1030,7 +1031,8 @@ func (dsr DeliveryServiceRequestV4) Upgrade() DeliveryServiceRequestV5 {
10301031
if dsr.Requested != nil {
10311032
downgraded.Requested = new(DeliveryServiceV5)
10321033
*downgraded.Requested = dsr.Requested.Upgrade()
1033-
} else if dsr.Original != nil {
1034+
}
1035+
if dsr.Original != nil {
10341036
downgraded.Original = new(DeliveryServiceV5)
10351037
*downgraded.Original = dsr.Original.Upgrade()
10361038
}

lib/go-tc/deliveryservice_requests_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,13 +257,14 @@ func TestDeliveryServiceRequestV4UpgradeAndV5Downgrade(t *testing.T) {
257257
AssigneeID: util.IntPtr(1),
258258
Author: "author",
259259
AuthorID: util.IntPtr(2),
260-
ChangeType: DSRChangeTypeCreate,
260+
ChangeType: DSRChangeTypeUpdate,
261261
CreatedAt: time.Time{},
262262
ID: util.IntPtr(3),
263263
LastEditedBy: "last edited by",
264264
LastEditedByID: util.IntPtr(4),
265265
LastUpdated: time.Now(),
266266
Requested: &ds,
267+
Original: &ds,
267268
Status: RequestStatusComplete,
268269
}
269270
cpy := dsr.Upgrade().Downgrade()

traffic_portal/app/src/common/api/DeliveryServiceService.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
/**
2121
* This is a minimal type definition for Delivery Services. Expand as necessary.
2222
* @typedef DeliveryService
23+
* @property {"ACTIVE" | "INACTIVE" | "PRIMED"} active
2324
* @property {number} cdnId
2425
* @property {string[]} consistentHashQueryParams
2526
* @property {string[]} [exampleURLs]

traffic_portal/app/src/common/modules/form/deliveryService/FormDeliveryServiceController.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,21 @@ var FormDeliveryServiceController = function(deliveryService, dsCurrent, origin,
204204
$scope.serviceCategories = await serviceCategoryService.getServiceCategories({dsId: deliveryService.id })
205205
}
206206

207+
/**
208+
* Formats the 'dsCurrent' active flag into a human-readable string. Returns
209+
* an empty string if dsCurrent isn't defined.
210+
*
211+
* @returns {string}
212+
*/
213+
function formatCurrentActive() {
214+
if (!dsCurrent) {
215+
return "";
216+
}
217+
return dsCurrent.active.split(" ").map(w => w[0].toUpperCase() + w.substring(1).toLowerCase()).join(" ");
218+
}
219+
220+
$scope.formatCurrentActive = formatCurrentActive;
221+
207222
$scope.deliveryService = deliveryService;
208223

209224
$scope.showGeneralConfig = true;

traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.DNS.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ <h3 ng-if="!open()">Previous Value</h3>
133133
<aside class="current-value" ng-if="settings.isRequest" ng-show="deliveryService.active != dsCurrent.active">
134134
<h3 ng-if="open()">Current Value</h3>
135135
<h3 ng-if="!open()">Previous Value</h3>
136-
<pre>{{::dsCurrent.active.split(' ').map(w => w[0].toUpperCase() + w.substring(1).toLowerCase()).join(' ')}}</pre>
136+
<pre>{{::formatCurrentActive()}}</pre>
137137
</aside>
138138
</div>
139139
</div>

traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.HTTP.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ <h3 ng-if="!open()">Previous Value</h3>
133133
<aside class="current-value" ng-if="settings.isRequest" ng-show="deliveryService.active != dsCurrent.active">
134134
<h3 ng-if="open()">Current Value</h3>
135135
<h3 ng-if="!open()">Previous Value</h3>
136-
<pre>{{::dsCurrent.active.split(' ').map(w => w[0].toUpperCase() + w.substring(1).toLowerCase()).join(' ')}}</pre>
136+
<pre>{{::formatCurrentActive()}}</pre>
137137
</aside>
138138
</div>
139139
</div>

traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.Steering.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ <h3 ng-if="!open()">Previous Value</h3>
128128
<aside class="current-value" ng-if="settings.isRequest" ng-show="deliveryService.active != dsCurrent.active">
129129
<h3 ng-if="open()">Current Value</h3>
130130
<h3 ng-if="!open()">Previous Value</h3>
131-
<pre>{{::dsCurrent.active.split(' ').map(w => w[0].toUpperCase() + w.substring(1).toLowerCase()).join(' ')}}</pre>
131+
<pre>{{::formatCurrentActive()}}</pre>
132132
</aside>
133133
</div>
134134
</div>

traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.anyMap.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ <h3 ng-if="!open()">Previous Value</h3>
119119
<aside class="current-value" ng-if="settings.isRequest" ng-show="deliveryService.active != dsCurrent.active">
120120
<h3 ng-if="open()">Current Value</h3>
121121
<h3 ng-if="!open()">Previous Value</h3>
122-
<pre>{{::dsCurrent.active.split(' ').map(w => w[0].toUpperCase() + w.substring(1).toLowerCase()).join(' ')}}</pre>
122+
<pre>{{::formatCurrentActive()}}</pre>
123123
</aside>
124124
</div>
125125
</div>

traffic_portal/app/src/modules/private/deliveryServiceRequests/edit/FormEditDeliveryServiceRequestController.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ var FormEditDeliveryServiceRequestController = function(deliveryServiceRequest,
8383

8484
$scope.magicNumberLabel = function(collection, magicNumber) {
8585
const item = collection.find(i => i.value === magicNumber);
86+
if (!item) {
87+
console.error("unable to find a label for", magicNumber, "in collection:", collection);
88+
return "";
89+
}
8690
return item.label;
8791
};
8892

0 commit comments

Comments
 (0)