23
// ToBuildIdOrderingResponse transforms the internal VersioningData representation to public representation.
24
// If maxSets is given, the last sets up to maxSets will be returned.
25
>
func ToBuildIdOrderingResponse(data *persistencespb.VersioningData, maxSets int) *workflowservice.GetWorkerBuildIdCompatibilityResponse {
version_sets.go
26
>
lenSets := len(data.GetVersionSets())
27
>
numSets := lenSets
28
>
if maxSets > 0 && numSets > maxSets {
29
numSets = maxSets
30
}
31
>
versionSets := make([]*taskqueuepb.CompatibleVersionSet, numSets)
version_sets.go
32
>
for i := range versionSets {
33
>
set := data.GetVersionSets()[i+lenSets-numSets]
34
>
buildIds := make([]string, 0, len(set.GetBuildIds()))
35
>
for _, version := range set.GetBuildIds() {
36
>
if version.State == persistencespb.STATE_ACTIVE {
37
>
buildIds = append(buildIds, version.Id)
38
>
}
39
}
40
>
versionSets[i] = &taskqueuepb.CompatibleVersionSet{BuildIds: buildIds}
version_sets.go
41
}
42
>
return &workflowservice.GetWorkerBuildIdCompatibilityResponse{MajorVersionSets: versionSets}
version_sets.go
43
}
44