ToolsetPayloadFromView converts one toolset projection into a public DTO.
(view toolspkg.ToolsetView)
| 295 | |
| 296 | // ToolsetPayloadFromView converts one toolset projection into a public DTO. |
| 297 | func ToolsetPayloadFromView(view toolspkg.ToolsetView) contract.ToolsetPayload { |
| 298 | status := toolsetStatusExpanded |
| 299 | if len(view.ReasonCodes) > 0 { |
| 300 | status = toolsetStatusDegraded |
| 301 | } |
| 302 | return contract.ToolsetPayload{ |
| 303 | ID: view.Toolset.ID, |
| 304 | Tools: append([]string(nil), view.Toolset.Tools...), |
| 305 | Toolsets: append([]toolspkg.ToolsetID(nil), view.Toolset.Toolsets...), |
| 306 | ExpandedTools: append([]toolspkg.ToolID(nil), view.ExpandedTools...), |
| 307 | Status: status, |
| 308 | ReasonCodes: append([]toolspkg.ReasonCode(nil), view.ReasonCodes...), |
| 309 | } |
| 310 | } |
| 311 | |
| 312 | // toolDescriptorPayload detaches registry-owned descriptor data from transport DTOs. |
| 313 | func toolDescriptorPayload(d toolspkg.Descriptor) contract.ToolDescriptorPayload { |