-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathexplorer_utils.go
More file actions
35 lines (30 loc) · 1.01 KB
/
explorer_utils.go
File metadata and controls
35 lines (30 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright IBM Corp. 2023, 2025
// SPDX-License-Identifier: MPL-2.0
package explorer
import high "github.com/pb33f/libopenapi/datamodel/high/v3"
func mergeParameters(commonParameters []*high.Parameter, operation *high.Operation) []*high.Parameter {
mergedParameters := make([]*high.Parameter, len(commonParameters))
copy(mergedParameters, commonParameters)
if operation != nil {
for _, operationParameter := range operation.Parameters {
found := false
for i, mergedParameter := range mergedParameters {
if operationParameter.Name == mergedParameter.Name {
found = true
mergedParameters[i] = operationParameter
break
}
}
if !found {
mergedParameters = append(mergedParameters, operationParameter) // nolint: makezero
}
}
}
return mergedParameters
}
func (e *Resource) ReadOpParameters() []*high.Parameter {
return mergeParameters(e.CommonParameters, e.ReadOp)
}
func (e *DataSource) ReadOpParameters() []*high.Parameter {
return mergeParameters(e.CommonParameters, e.ReadOp)
}