@@ -34,6 +34,8 @@ import {
34
34
EnvironmentListHelmResponse ,
35
35
UserGroupApproverType ,
36
36
ImageApprovalPolicyUserGroupDataType ,
37
+ ManualApprovalType ,
38
+ UserApprovalConfigType ,
37
39
} from './Types'
38
40
import { ApiResourceType } from '../Pages'
39
41
@@ -185,6 +187,16 @@ const VALID_GROUPS = [
185
187
'developers' ,
186
188
]
187
189
190
+ export const sanitizeUserApprovalConfig = ( userApprovalConfig : UserApprovalConfigType ) : UserApprovalConfigType => ( {
191
+ requiredCount : userApprovalConfig ?. requiredCount ?? 0 ,
192
+ type : userApprovalConfig ?. type ?? ManualApprovalType . notConfigured ,
193
+ specificUsers : {
194
+ identifiers : userApprovalConfig ?. specificUsers ?. identifiers ?? [ ] ,
195
+ requiredCount : userApprovalConfig ?. specificUsers ?. identifiers ?. length ?? 0 ,
196
+ } ,
197
+ userGroups : userApprovalConfig ?. userGroups ?? [ ] ,
198
+ } )
199
+
188
200
const processCDMaterialsApprovalInfo = ( enableApproval : boolean , cdMaterialsResult ) : CDMaterialsApprovalInfo => {
189
201
if ( ! enableApproval || ! cdMaterialsResult ) {
190
202
return {
@@ -197,8 +209,7 @@ const processCDMaterialsApprovalInfo = (enableApproval: boolean, cdMaterialsResu
197
209
198
210
return {
199
211
approvalUsers : cdMaterialsResult . approvalUsers ,
200
- // TODO: use sanitizeUserApprovalConfig
201
- userApprovalConfig : cdMaterialsResult . userApprovalConfig ,
212
+ userApprovalConfig : sanitizeUserApprovalConfig ( cdMaterialsResult . userApprovalConfig ) ,
202
213
canApproverDeploy : cdMaterialsResult . canApproverDeploy ?? false ,
203
214
imageApprovalPolicyDetails : {
204
215
isPolicyConfigured : true ,
0 commit comments