Skip to content

Commit

Permalink
Upsert task params (#218)
Browse files Browse the repository at this point in the history
* Upsert task params

Signed-off-by: Md. Ishtiaq Islam <ishtiaq@appscode.com>

* Resolve review comments

Signed-off-by: Md. Ishtiaq Islam <ishtiaq@appscode.com>

---------

Signed-off-by: Md. Ishtiaq Islam <ishtiaq@appscode.com>
  • Loading branch information
ishtiaqhimel authored Jan 19, 2024
1 parent a91ab94 commit c604da6
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions pkg/util/addon.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ func ExtractAddonInfo(appClient appcatalog_cs.Interface, task v1beta1.TaskRef, t
addon.RestoreTask.Name = task.Name
}
if len(task.Params) != 0 {
addon.BackupTask.Params = getTaskParams(task)
addon.RestoreTask.Params = getTaskParams(task)
addon.BackupTask.Params = upsertParams(addon.BackupTask.Params, getTaskParams(task))
addon.RestoreTask.Params = upsertParams(addon.BackupTask.Params, getTaskParams(task))
}

return &addon, nil
Expand All @@ -75,3 +75,24 @@ func getTaskParams(task v1beta1.TaskRef) []appcat.Param {
}
return params
}

func upsertParams(oldParams, newParams []appcat.Param) []appcat.Param {
paramMap := make(map[string]appcat.Param)

for _, newParam := range newParams {
paramMap[newParam.Name] = newParam
}

for _, oldParam := range oldParams {
if _, found := paramMap[oldParam.Name]; !found {
paramMap[oldParam.Name] = oldParam
}
}

var updatedParams []appcat.Param
for _, param := range paramMap {
updatedParams = append(updatedParams, param)
}

return updatedParams
}

0 comments on commit c604da6

Please sign in to comment.