(db []database.WorkspaceAgentMetadatum)
| 1915 | } |
| 1916 | |
| 1917 | func convertWorkspaceAgentMetadata(db []database.WorkspaceAgentMetadatum) []codersdk.WorkspaceAgentMetadata { |
| 1918 | // Sort the input database slice by DisplayOrder and then by Key before processing |
| 1919 | sort.Slice(db, func(i, j int) bool { |
| 1920 | if db[i].DisplayOrder == db[j].DisplayOrder { |
| 1921 | return db[i].Key < db[j].Key |
| 1922 | } |
| 1923 | return db[i].DisplayOrder < db[j].DisplayOrder |
| 1924 | }) |
| 1925 | |
| 1926 | // An empty array is easier for clients to handle than a null. |
| 1927 | result := make([]codersdk.WorkspaceAgentMetadata, len(db)) |
| 1928 | for i, datum := range db { |
| 1929 | result[i] = codersdk.WorkspaceAgentMetadata{ |
| 1930 | Result: codersdk.WorkspaceAgentMetadataResult{ |
| 1931 | Value: datum.Value, |
| 1932 | Error: datum.Error, |
| 1933 | CollectedAt: datum.CollectedAt.UTC(), |
| 1934 | Age: int64(time.Since(datum.CollectedAt).Seconds()), |
| 1935 | }, |
| 1936 | Description: codersdk.WorkspaceAgentMetadataDescription{ |
| 1937 | DisplayName: datum.DisplayName, |
| 1938 | Key: datum.Key, |
| 1939 | Script: datum.Script, |
| 1940 | Interval: datum.Interval, |
| 1941 | Timeout: datum.Timeout, |
| 1942 | }, |
| 1943 | } |
| 1944 | } |
| 1945 | return result |
| 1946 | } |
| 1947 | |
| 1948 | // workspaceAgentsExternalAuth returns an access token for a given URL |
| 1949 | // or finds a provider by ID. |
no outgoing calls
no test coverage detected